From: Tim Kientzle Date: Sun, 6 Dec 2009 07:30:32 +0000 (-0500) Subject: 1) Empty cpio test uses assertEqualMem() for better error reporting. X-Git-Tag: v2.8.0~116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81c968b30e8e9cb29fb897a85e92c74379b14394;p=thirdparty%2Flibarchive.git 1) Empty cpio test uses assertEqualMem() for better error reporting. 2) cpio_odc test permits synthetic ino values: * Zero input values must get written as zero * Matching non-zero values must get written as matching non-zero values * Non-matching non-zero values must get written as non-matching non-zero values SVN-Revision: 1703 --- diff --git a/libarchive/test/test_write_format_cpio_empty.c b/libarchive/test/test_write_format_cpio_empty.c index d5f25f3a2..ae3e35a64 100644 --- a/libarchive/test/test_write_format_cpio_empty.c +++ b/libarchive/test/test_write_format_cpio_empty.c @@ -71,5 +71,5 @@ DEFINE_TEST(test_write_format_cpio_empty) failure("Empty cpio archive should be exactly 87 bytes, was %d.", used); assert(used == 87); failure("Empty cpio archive is incorrectly formatted."); - assert(memcmp(buff, ref, 87) == 0); + assertEqualMem(buff, ref, 87); } diff --git a/libarchive/test/test_write_format_cpio_odc.c b/libarchive/test/test_write_format_cpio_odc.c index 7bc3c9927..dc4b74503 100644 --- a/libarchive/test/test_write_format_cpio_odc.c +++ b/libarchive/test/test_write_format_cpio_odc.c @@ -46,7 +46,7 @@ DEFINE_TEST(test_write_format_cpio_odc) { struct archive *a; struct archive_entry *entry; - char *buff, *e; + char *buff, *e, *file; size_t buffsize = 100000; size_t used; @@ -135,10 +135,11 @@ DEFINE_TEST(test_write_format_cpio_odc) e = buff; /* "file" */ + file = e; /* Remember where this starts... */ assert(is_octal(e, 76)); /* Entire header is octal digits. */ assertEqualMem(e + 0, "070707", 6); /* Magic */ assertEqualMem(e + 6, "000014", 6); /* dev */ - assertEqualMem(e + 12, "000131", 6); /* ino */ + /* assertEqualMem(e + 12, "000131", 6); *//* ino */ assertEqualMem(e + 18, "100664", 6); /* Mode */ assertEqualMem(e + 24, "000120", 6); /* uid */ assertEqualMem(e + 30, "000132", 6); /* gid */ @@ -155,7 +156,7 @@ DEFINE_TEST(test_write_format_cpio_odc) assert(is_octal(e, 76)); /* Entire header is octal digits. */ assertEqualMem(e + 0, "070707", 6); /* Magic */ assertEqualMem(e + 6, "000014", 6); /* dev */ - assertEqualMem(e + 12, "000131", 6); /* ino */ + assertEqualMem(e + 12, file + 12, 6); /* ino must match above */ assertEqualMem(e + 18, "100664", 6); /* Mode */ assertEqualMem(e + 24, "000120", 6); /* uid */ assertEqualMem(e + 30, "000132", 6); /* gid */ @@ -188,7 +189,7 @@ DEFINE_TEST(test_write_format_cpio_odc) assert(is_octal(e, 76)); /* Entire header is octal digits. */ assertEqualMem(e + 0, "070707", 6); /* Magic */ assertEqualMem(e + 6, "000014", 6); /* dev */ - assertEqualMem(e + 12, "000132", 6); /* ino */ + assert(memcmp(e + 12, file + 12, 6) != 0); /* ino must not match */ assertEqualMem(e + 18, "120664", 6); /* Mode */ assertEqualMem(e + 24, "000130", 6); /* uid */ assertEqualMem(e + 30, "000142", 6); /* gid */