libcdio-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libcdio-devel] [PATCH] Add UDF test for Logical Volume ID


From: Rocky Bernstein
Subject: Re: [Libcdio-devel] [PATCH] Add UDF test for Logical Volume ID
Date: Wed, 30 Oct 2013 03:17:52 -0400

Applied in commit 099c431. Thanks.


On Tue, Oct 29, 2013 at 3:54 PM, Pete Batard <address@hidden> wrote:

> As promised.
>
> This should produce the following when running make test:
>
> -- Volume id: NEU
> PASS: testudf
>
> Regards,
>
> /Pete
>
> From d3705b04c06592e2a22834d146e5c653fae21264 Mon Sep 17 00:00:00 2001
> From: Pete Batard <address@hidden>
> Date: Tue, 29 Oct 2013 19:45:47 +0000
> Subject: [PATCH] Add UDF test for Logical Volume ID
>
> ---
>  configure.ac      |    1 +
>  test/.gitignore   |    2 +
>  test/Makefile.am  |    6 +++-
>  test/testudf.c.in |   79
> +++++++++++++++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 86 insertions(+), 2 deletions(-)
>  create mode 100755 test/testudf.c.in
>
> diff --git a/configure.ac b/configure.ac
> index a7ff495..2a87677 100755
> --- a/configure.ac
> +++ b/configure.ac
> @@ -721,6 +721,7 @@ AC_CONFIG_FILES([
>         test/testisorr.c \
>         test/testisocd2.c \
>         test/testpregap.c \
> +       test/testudf.c \
>         test/Makefile \
>         ])
>
> diff --git a/test/.gitignore b/test/.gitignore
> index 9a703ea..4468b05 100755
> --- a/test/.gitignore
> +++ b/test/.gitignore
> @@ -45,3 +45,5 @@
>  /testpregap.c
>  /testsolaris
>  /testtoc
> +/testudf
> +/testudf.c
> diff --git a/test/Makefile.am b/test/Makefile.am
> index 2bd278c..be7e1f5 100755
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -22,7 +22,7 @@ SUBDIRS = data driver
>
>  hack = check_sizeof testassert testgetdevices testischar \
>         testisocd testisocd2 testisocd_joliet testiso9660 \
> -       testisorr test_lib_driver_util \
> +       testisorr test_lib_driver_util testudf \
>         testpregap
>
>  DATA_DIR       = @abs_top_srcdir@/test/data
> @@ -41,6 +41,8 @@ testisocd2_LDADD      = $(LIBISO9660_LIBS)
> $(LIBCDIO_LIBS) $(LTLIBICONV)
>  testisocd_joliet_LDADD= $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
>  testisorr_LDADD       = $(LIBISO9660_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
>
> +testudf_LDADD         = $(LIBUDF_LIBS) $(LIBCDIO_LIBS) $(LTLIBICONV)
> +
>  test_lib_driver_util_LDADD    = $(LIBCDIO_LIBS) $(LTLIBICONV)
>  test_lib_driver_util_CFLAGS   = -DDATA_DIR=\"$(DATA_DIR)\"
>
> @@ -70,7 +72,7 @@ check_DATA = vcd_demo.right vcd_demo_vcdinfo.right \
>  EXTRA_DIST = $(check_SCRIPTS) $(check_DATA) \
>         check_common_fn check_cue.sh.in check_nrg.sh.in \
>         testpregap.c.in testisorr.c.in check_legal.regex \
> -       testgetdevices.c.in check_iso.sh.in \
> +       testgetdevices.c.in check_iso.sh.in testudf.c.in \
>         check_iso_read.sh.in
>
>  TESTS = $(check_PROGRAMS) $(check_SCRIPTS)
> diff --git a/test/testudf.c.in b/test/testudf.c.in
> new file mode 100755
> index 0000000..2042629
> --- /dev/null
> +++ b/test/testudf.c.in
> @@ -0,0 +1,79 @@
> +/*
> +  Copyright (C) 2013 Rocky Bernstein <address@hidden>
> +  Copyright (C) 2013 Pete Batard <address@hidden>
> +
> +  This program is free software: you can redistribute it and/or modify
> +  it under the terms of the GNU General Public License as published by
> +  the Free Software Foundation, either version 3 of the License, or
> +  (at your option) any later version.
> +
> +  This program is distributed in the hope that it will be useful,
> +  but WITHOUT ANY WARRANTY; without even the implied warranty of
> +  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +  GNU General Public License for more details.
> +
> +  You should have received a copy of the GNU General Public License
> +  along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +*/
> +
> +/* Tests reading UDF info from an UDF image.  */
> +
> +#define UDF_IMAGE "@native_abs_top_srcdir@/test/udf102.iso"
> +
> +#ifdef HAVE_CONFIG_H
> +#include "config.h"
> +#define __CDIO_CONFIG_H__ 1
> +#endif
> +
> +#ifdef HAVE_STDIO_H
> +#include <stdio.h>
> +#endif
> +#ifdef HAVE_STDLIB_H
> +#include <stdlib.h>
> +#endif
> +#ifdef HAVE_STRING_H
> +#include <string.h>
> +#endif
> +#ifdef HAVE_UNISTD_H
> +#include <unistd.h>
> +#endif
> +#ifdef HAVE_SYS_TYPES_H
> +#include <sys/types.h>
> +#endif
> +
> +#include <cdio/cdio.h>
> +#include <cdio/udf.h>
> +
> +int
> +main(int argc, const char *argv[])
> +{
> +  char const *psz_fname = UDF_IMAGE;
> +  char volume_id[192];         /* 3*64 to account for UTF-8 */
> +  udf_t* p_udf = NULL;
> +  udf_dirent_t* p_udf_root;
> +
> +  p_udf = udf_open(psz_fname);
> +
> +  if (NULL == p_udf) {
> +    fprintf(stderr, "Sorry, couldn't open %s as an UDF image\n",
> +      psz_fname);
> +    return 1;
> +  }
> +
> +  p_udf_root = udf_get_root(p_udf, true, 0);
> +  if (NULL == p_udf_root) {
> +    fprintf(stderr, "Could not locate UDF root directory\n");
> +    return 2;
> +  }
> +
> +  if (udf_get_logical_volume_id(p_udf, volume_id, sizeof(volume_id)) <=
> 0) {
> +    fprintf(stderr, "UDF image %s has no logical volume ID\n",
> +      psz_fname);
> +    return 3;
> +  }
> +  printf("-- Volume id: %s\n", volume_id);
> +
> +  udf_close(p_udf);
> +
> +  return 0;
> +}
> --
> 1.7.4.4
>
>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]