summaryrefslogtreecommitdiff
path: root/archivers/libarchive/files/libarchive/test/test_write_format_cpio_newc.c
diff options
context:
space:
mode:
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.c21
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);
}