]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
If 7zip is not supported, skip the encryption detection test.
authorTim Kientzle <kientzle@gmail.com>
Wed, 21 Oct 2015 08:47:34 +0000 (01:47 -0700)
committerTim Kientzle <kientzle@gmail.com>
Wed, 21 Oct 2015 08:47:34 +0000 (01:47 -0700)
libarchive/test/test_read_format_7zip_encryption_partially.c

index dc8d27862e58e79f92b79010fd5117a760727221..68290aa64fd988db73cdc0919b0a3948cb60ba45 100644 (file)
@@ -45,31 +45,32 @@ DEFINE_TEST(test_read_format_7zip_encryption_partially)
        assertEqualIntA(a, ARCHIVE_READ_FORMAT_ENCRYPTION_DONT_KNOW, archive_read_has_encrypted_entries(a));
 
        /* Verify regular unencrypted file1. */
-       assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0664), archive_entry_mode(ae));
-       assertEqualString("bar_unencrypted.txt", archive_entry_pathname(ae));
-       assertEqualInt(1379079541, archive_entry_mtime(ae));    
-       assertEqualInt(4, archive_entry_size(ae));
-       assertEqualInt(0, archive_entry_is_data_encrypted(ae));
-       assertEqualInt(0, archive_entry_is_metadata_encrypted(ae));
-       assertEqualIntA(a, 0, archive_read_has_encrypted_entries(a));
-       assertEqualInt(4, archive_read_data(a, buff, sizeof(buff)));
-       
-       /* Verify regular encrypted file2. */
-       assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
-       assertEqualInt((AE_IFREG | 0664), archive_entry_mode(ae));
-       assertEqualString("bar_encrypted.txt", archive_entry_pathname(ae));
-       assertEqualInt(1379079565, archive_entry_mtime(ae));
-       assertEqualInt(4, archive_entry_size(ae));
-       assertEqualInt(1, archive_entry_is_data_encrypted(ae));
-       assertEqualInt(0, archive_entry_is_metadata_encrypted(ae));
-       assertEqualIntA(a, 1, archive_read_has_encrypted_entries(a));
-       assertEqualInt(ARCHIVE_FATAL, archive_read_data(a, buff, sizeof(buff)));
+       if (archive_read_next_header(a, &ae) == ARCHIVE_OK) {
+               assertEqualInt((AE_IFREG | 0664), archive_entry_mode(ae));
+               assertEqualString("bar_unencrypted.txt", archive_entry_pathname(ae));
+               assertEqualInt(1379079541, archive_entry_mtime(ae));
+               assertEqualInt(4, archive_entry_size(ae));
+               assertEqualInt(0, archive_entry_is_data_encrypted(ae));
+               assertEqualInt(0, archive_entry_is_metadata_encrypted(ae));
+               assertEqualIntA(a, 0, archive_read_has_encrypted_entries(a));
+               assertEqualInt(4, archive_read_data(a, buff, sizeof(buff)));
 
-       assertEqualInt(2, archive_file_count(a));
+               /* Verify regular encrypted file2. */
+               assertEqualIntA(a, ARCHIVE_OK, archive_read_next_header(a, &ae));
+               assertEqualInt((AE_IFREG | 0664), archive_entry_mode(ae));
+               assertEqualString("bar_encrypted.txt", archive_entry_pathname(ae));
+               assertEqualInt(1379079565, archive_entry_mtime(ae));
+               assertEqualInt(4, archive_entry_size(ae));
+               assertEqualInt(1, archive_entry_is_data_encrypted(ae));
+               assertEqualInt(0, archive_entry_is_metadata_encrypted(ae));
+               assertEqualIntA(a, 1, archive_read_has_encrypted_entries(a));
+               assertEqualInt(ARCHIVE_FATAL, archive_read_data(a, buff, sizeof(buff)));
 
-       /* End of archive. */
-       assertEqualIntA(a, ARCHIVE_FATAL, archive_read_next_header(a, &ae));
+               assertEqualInt(2, archive_file_count(a));
+
+               /* End of archive. */
+               assertEqualIntA(a, ARCHIVE_FATAL, archive_read_next_header(a, &ae));
+       }
 
        /* Verify archive format. */
        assertEqualIntA(a, ARCHIVE_FILTER_NONE, archive_filter_code(a, 0));