diff options
Diffstat (limited to 'archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c')
-rw-r--r-- | archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c b/archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c index 431097b2476..1c3c330b0e9 100644 --- a/archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c +++ b/archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c @@ -23,7 +23,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #include "test.h" -__FBSDID("$FreeBSD: src/lib/libarchive/test/test_write_format_cpio_newc.c,v 1.2 2008/01/23 05:43:26 kientzle Exp $"); +__FBSDID("$FreeBSD: head/lib/libarchive/test/test_write_format_cpio_newc.c 201247 2009-12-30 05:59:21Z kientzle $"); static int @@ -52,7 +52,7 @@ DEFINE_TEST(test_write_format_cpio_newc) { struct archive *a; struct archive_entry *entry; - char *buff, *e; + char *buff, *e, *file; size_t buffsize = 100000; size_t used; @@ -99,7 +99,8 @@ DEFINE_TEST(test_write_format_cpio_newc) assert((entry = archive_entry_new()) != NULL); archive_entry_set_mtime(entry, 3, 30); archive_entry_set_pathname(entry, "lnk"); - archive_entry_set_mode(entry, S_IFLNK | 0664); + archive_entry_set_mode(entry, 0664); + archive_entry_set_filetype(entry, AE_IFLNK); archive_entry_set_size(entry, 0); archive_entry_set_uid(entry, 83); archive_entry_set_gid(entry, 93); @@ -111,10 +112,10 @@ DEFINE_TEST(test_write_format_cpio_newc) archive_entry_free(entry); -#if ARCHIVE_API_VERSION > 1 - assert(0 == archive_write_finish(a)); -#else +#if ARCHIVE_VERSION_NUMBER < 2000000 archive_write_finish(a); +#else + assert(0 == archive_write_finish(a)); #endif /* @@ -123,9 +124,10 @@ DEFINE_TEST(test_write_format_cpio_newc) e = buff; /* First entry is "file" */ + file = e; assert(is_hex(e, 110)); /* Entire header is hex digits. */ assertEqualMem(e + 0, "070701", 6); /* Magic */ - assertEqualMem(e + 6, "00000059", 8); /* ino */ + assert(memcmp(e + 6, "00000000", 8) != 0); /* ino != 0 */ assertEqualMem(e + 14, "000081b4", 8); /* Mode */ assertEqualMem(e + 22, "00000050", 8); /* uid */ assertEqualMem(e + 30, "0000005a", 8); /* gid */ @@ -166,7 +168,8 @@ DEFINE_TEST(test_write_format_cpio_newc) /* Third entry is "lnk" */ assert(is_hex(e, 110)); /* Entire header is hex digits. */ assertEqualMem(e + 0, "070701", 6); /* Magic */ - assertEqualMem(e + 6, "00000058", 8); /* ino */ + assert(memcmp(e + 6, file + 6, 8) != 0); /* ino != file ino */ + assert(memcmp(e + 6, "00000000", 8) != 0); /* ino != 0 */ assertEqualMem(e + 14, "0000a1b4", 8); /* Mode */ assertEqualMem(e + 22, "00000053", 8); /* uid */ assertEqualMem(e + 30, "0000005d", 8); /* gid */ @@ -205,7 +208,7 @@ DEFINE_TEST(test_write_format_cpio_newc) assertEqualMem(e + 121, "\0\0\0", 3); /* Pad to multiple of 4 bytes */ e += 124; /* Must be multiple of four here! */ - assertEqualInt(used, e - buff); + assertEqualInt((int)used, e - buff); free(buff); } |