[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Libcdio-devel] [PATCH] Add UDF test for Logical Volume ID
From: |
Pete Batard |
Subject: |
[Libcdio-devel] [PATCH] Add UDF test for Logical Volume ID |
Date: |
Tue, 29 Oct 2013 19:54:02 +0000 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.0.1 |
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
- [Libcdio-devel] [PATCH] Add UDF test for Logical Volume ID,
Pete Batard <=