]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
1) Empty cpio test uses assertEqualMem() for better error reporting.
authorTim Kientzle <kientzle@gmail.com>
Sun, 6 Dec 2009 07:30:32 +0000 (02:30 -0500)
committerTim Kientzle <kientzle@gmail.com>
Sun, 6 Dec 2009 07:30:32 +0000 (02:30 -0500)
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

libarchive/test/test_write_format_cpio_empty.c
libarchive/test/test_write_format_cpio_odc.c

index d5f25f3a20c7bb2f3349352ac1eb0cb9fb393496..ae3e35a644ebf0007d697363de68e29c185bb8bf 100644 (file)
@@ -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);
 }
index 7bc3c9927c6de7693e35a71c51b06d605009dac2..dc4b74503768462243385f1576fa9276afeac53a 100644 (file)
@@ -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 */