summaryrefslogtreecommitdiff
path: root/libarchive/test/test_read_format_zip.c
diff options
context:
space:
mode:
Diffstat (limited to 'libarchive/test/test_read_format_zip.c')
-rw-r--r--libarchive/test/test_read_format_zip.c34
1 files changed, 20 insertions, 14 deletions
diff --git a/libarchive/test/test_read_format_zip.c b/libarchive/test/test_read_format_zip.c
index 7f3568157b5b..da5b13787ed5 100644
--- a/libarchive/test/test_read_format_zip.c
+++ b/libarchive/test/test_read_format_zip.c
@@ -26,12 +26,6 @@
#include "test.h"
__FBSDID("$FreeBSD: head/lib/libarchive/test/test_read_format_zip.c 189482 2009-03-07 03:30:35Z kientzle $");
-#ifdef HAVE_LIBZ
-static const int libz_enabled = 1;
-#else
-static const int libz_enabled = 0;
-#endif
-
/*
* The reference file for this has been manually tweaked so that:
* * file2 has length-at-end but file1 does not
@@ -52,6 +46,8 @@ verify_basic(struct archive *a, int seek_checks)
assertEqualInt(0, archive_entry_size(ae));
if (seek_checks)
assertEqualInt(AE_IFDIR | 0755, archive_entry_mode(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
assertEqualIntA(a, ARCHIVE_EOF,
archive_read_data_block(a, &pv, &s, &o));
assertEqualInt((int)s, 0);
@@ -62,8 +58,10 @@ verify_basic(struct archive *a, int seek_checks)
if (seek_checks)
assertEqualInt(AE_IFREG | 0755, archive_entry_mode(ae));
assertEqualInt(18, archive_entry_size(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
failure("archive_read_data() returns number of bytes read");
- if (libz_enabled) {
+ if (archive_zlib_version() != NULL) {
assertEqualInt(18, archive_read_data(a, buff, 19));
assertEqualMem(buff, "hello\nhello\nhello\n", 18);
} else {
@@ -76,14 +74,14 @@ verify_basic(struct archive *a, int seek_checks)
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
assertEqualString("file2", archive_entry_pathname(ae));
assertEqualInt(1179605932, archive_entry_mtime(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
if (seek_checks) {
assertEqualInt(AE_IFREG | 0755, archive_entry_mode(ae));
- assertEqualInt(64, archive_entry_size_is_set(ae));
- } else {
- failure("file2 has length-at-end, so we shouldn't see a valid size when streaming");
- assertEqualInt(0, archive_entry_size_is_set(ae));
}
- if (libz_enabled) {
+ assert(archive_entry_size_is_set(ae));
+ assertEqualInt(18, archive_entry_size(ae));
+ if (archive_zlib_version() != NULL) {
failure("file2 has a bad CRC, so read should fail and not change buff");
memset(buff, 'a', 19);
assertEqualInt(ARCHIVE_WARN, archive_read_data(a, buff, 19));
@@ -144,12 +142,14 @@ verify_info_zip_ux(struct archive *a, int seek_checks)
assertEqualString("file1", archive_entry_pathname(ae));
assertEqualInt(1300668680, archive_entry_mtime(ae));
assertEqualInt(18, archive_entry_size(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
if (seek_checks)
assertEqualInt(AE_IFREG | 0644, archive_entry_mode(ae));
failure("zip reader should read Info-ZIP New Unix Extra Field");
assertEqualInt(1001, archive_entry_uid(ae));
assertEqualInt(1001, archive_entry_gid(ae));
- if (libz_enabled) {
+ if (archive_zlib_version() != NULL) {
failure("archive_read_data() returns number of bytes read");
assertEqualInt(18, archive_read_data(a, buff, 19));
assertEqualMem(buff, "hello\nhello\nhello\n", 18);
@@ -208,6 +208,8 @@ verify_extract_length_at_end(struct archive *a, int seek_checks)
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
assertEqualString("hello.txt", archive_entry_pathname(ae));
if (seek_checks) {
assertEqualInt(AE_IFREG | 0644, archive_entry_mode(ae));
@@ -218,7 +220,7 @@ verify_extract_length_at_end(struct archive *a, int seek_checks)
assertEqualInt(0, archive_entry_size(ae));
}
- if (libz_enabled) {
+ if (archive_zlib_version() != NULL) {
assertEqualIntA(a, ARCHIVE_OK, archive_read_extract(a, ae, 0));
assertFileContents("hello\x0A", 6, "hello.txt");
} else {
@@ -278,12 +280,16 @@ test_symlink(void)
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
assertEqualString("file", archive_entry_pathname(ae));
assertEqualInt(AE_IFREG, archive_entry_filetype(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
assertEqualString("symlink", archive_entry_pathname(ae));
assertEqualInt(AE_IFLNK, archive_entry_filetype(ae));
assertEqualInt(0, archive_entry_size(ae));
assertEqualString("file", archive_entry_symlink(ae));
+ assertEqualInt(archive_entry_is_encrypted(ae), 0);
+ assertEqualIntA(a, archive_read_has_encrypted_entries(a), 0);
assertEqualIntA(a, ARCHIVE_EOF, archive_read_next_header(a, &ae));
assertEqualIntA(a, ARCHIVE_OK, archive_read_close(a));