]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Fix test failure without zlib.
authorMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 11 Nov 2012 11:24:33 +0000 (20:24 +0900)
committerMichihiro NAKAJIMA <ggcueroad@gmail.com>
Sun, 11 Nov 2012 11:24:33 +0000 (20:24 +0900)
libarchive/test/test_read_format_zip_mac_metadata.c
libarchive/test/test_write_filter_gzip_timestamp.c

index 9783633a2e43d5c21e57502a5389f97e8e7a63af..dd48fd433a59bcd43f32d7a9898207c25058f5c9 100644 (file)
 #include "test.h"
 __FBSDID("$FreeBSD$");
 
+#ifdef HAVE_LIBZ
+static const int libz_enabled = 1;
+#else
+static const int libz_enabled = 0;
+#endif
+
 /*
  * Read a zip file that has a zip comment in the end of the central
  * directory record.
@@ -33,7 +39,6 @@ DEFINE_TEST(test_read_format_zip_mac_metadata)
 {
        const char *refname = "test_read_format_zip_mac_metadata.zip";
        char *p;
-       const void *metadata;
        size_t s;
        struct archive *a;
        struct archive_entry *ae;
@@ -84,14 +89,29 @@ DEFINE_TEST(test_read_format_zip_mac_metadata)
        assertEqualIntA(a, ARCHIVE_OK, archive_read_support_format_zip(a));
        assertEqualIntA(a, ARCHIVE_OK, read_open_memory_seek(a, p, s, 1));
 
-       assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+       if (libz_enabled) {
+               assertEqualIntA(a, ARCHIVE_OK,
+                   archive_read_next_header(a, &ae));
+       } else {
+               assertEqualIntA(a, ARCHIVE_WARN,
+                   archive_read_next_header(a, &ae));
+               assertEqualString(archive_error_string(a),
+                   "Unsupported ZIP compression method (deflation)");
+               assert(archive_errno(a) != 0);
+       }
        assertEqualString("file3", archive_entry_pathname(ae));
        assertEqualInt(AE_IFREG | 0644, archive_entry_mode(ae));
        failure("Mac metadata should be set");
-       if (assert((metadata = archive_entry_mac_metadata(ae, &s)) != NULL)) {
-               assertEqualMem(metadata, appledouble, sizeof(appledouble));
+       if (libz_enabled) {
+               const void *metadata;
+               if (assert((metadata = archive_entry_mac_metadata(ae, &s))
+                   != NULL)) {
+                       assertEqualMem(metadata, appledouble,
+                           sizeof(appledouble));
+               }
+       } else {
+               assert(archive_entry_mac_metadata(ae, &s) == NULL);
        }
-
        assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));
        assertEqualIntA(a, ARCHIVE_OK, archive_read_free(a));
index ce5ebb9f8946a86a362b64fef27667ca56a46047..5dc020d8fd8b87baa69447a7f2f288c5200211db 100644 (file)
@@ -63,7 +63,7 @@ DEFINE_TEST(test_write_filter_gzip_timestamp)
            archive_write_set_bytes_per_block(a, 10));
        assertEqualInt(ARCHIVE_FILTER_GZIP, archive_filter_code(a, 0));
        assertEqualString("gzip", archive_filter_name(a, 0));
-       assertEqualIntA(a, (use_prog)?ARCHIVE_WARN:ARCHIVE_OK,
+       assertEqualIntA(a, ARCHIVE_OK,
            archive_write_open_memory(a, buff, buffsize, &used1));
        assert((ae = archive_entry_new()) != NULL);
        archive_entry_set_filetype(ae, AE_IFREG);
@@ -88,7 +88,7 @@ DEFINE_TEST(test_write_filter_gzip_timestamp)
            archive_write_set_bytes_per_block(a, 10));
        assertEqualInt(ARCHIVE_FILTER_GZIP, archive_filter_code(a, 0));
        assertEqualString("gzip", archive_filter_name(a, 0));
-       assertEqualIntA(a, (use_prog)?ARCHIVE_WARN:ARCHIVE_OK,
+       assertEqualIntA(a, ARCHIVE_OK,
            archive_write_open_memory(a, buff, buffsize, &used1));
        assert((ae = archive_entry_new()) != NULL);
        archive_entry_set_filetype(ae, AE_IFREG);