From 60180ae6a27991424c3bbdff5e07bd6806e268c6 Mon Sep 17 00:00:00 2001 From: Michihiro NAKAJIMA Date: Sun, 11 Nov 2012 20:24:33 +0900 Subject: [PATCH] Fix test failure without zlib. --- .../test/test_read_format_zip_mac_metadata.c | 30 +++++++++++++++---- .../test/test_write_filter_gzip_timestamp.c | 4 +-- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/libarchive/test/test_read_format_zip_mac_metadata.c b/libarchive/test/test_read_format_zip_mac_metadata.c index 9783633a2..dd48fd433 100644 --- a/libarchive/test/test_read_format_zip_mac_metadata.c +++ b/libarchive/test/test_read_format_zip_mac_metadata.c @@ -25,6 +25,12 @@ #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)); diff --git a/libarchive/test/test_write_filter_gzip_timestamp.c b/libarchive/test/test_write_filter_gzip_timestamp.c index ce5ebb9f8..5dc020d8f 100644 --- a/libarchive/test/test_write_filter_gzip_timestamp.c +++ b/libarchive/test/test_write_filter_gzip_timestamp.c @@ -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); -- 2.47.2