diff options
author | kientzle <kientzle@FreeBSD.org> | 2009-03-03 17:02:51 +0000 |
---|---|---|
committer | kientzle <kientzle@FreeBSD.org> | 2009-03-03 17:02:51 +0000 |
commit | 8fc5e74eab7c5235eef741a5e99412c1c314b9c6 (patch) | |
tree | 1dee8b4b9c023077ab174a6dc9ffbb460e86b36b /lib/libarchive/test/test_write_disk.c | |
parent | 534d3efa16fa0651c5b97d3d506ddce25334a6d9 (diff) | |
download | FreeBSD-src-8fc5e74eab7c5235eef741a5e99412c1c314b9c6.zip FreeBSD-src-8fc5e74eab7c5235eef741a5e99412c1c314b9c6.tar.gz |
Merge r294:337,r348:350 from libarchive.googlecode.com: A lot
of work to make libarchive work on Windows.
Diffstat (limited to 'lib/libarchive/test/test_write_disk.c')
-rw-r--r-- | lib/libarchive/test/test_write_disk.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/libarchive/test/test_write_disk.c b/lib/libarchive/test/test_write_disk.c index ae87c77..789f571 100644 --- a/lib/libarchive/test/test_write_disk.c +++ b/lib/libarchive/test/test_write_disk.c @@ -52,7 +52,9 @@ static void create(struct archive_entry *ae, const char *msg) * that automatically. */ if (archive_entry_filetype(ae) == AE_IFDIR) st.st_mode &= ~S_ISGID; +#ifndef _WIN32 assertEqualInt(st.st_mode, archive_entry_mode(ae) & ~UMASK); +#endif } static void create_reg_file(struct archive_entry *ae, const char *msg) @@ -97,8 +99,10 @@ static void create_reg_file(struct archive_entry *ae, const char *msg) assert(0 == stat(archive_entry_pathname(ae), &st)); failure("st.st_mode=%o archive_entry_mode(ae)=%o", st.st_mode, archive_entry_mode(ae)); +#ifndef _WIN32 assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); - assertEqualInt(st.st_size, sizeof(data)); +#endif + assertEqualInt(st.st_size, sizeof(data)); /* test_write_disk_times has more detailed tests of this area. */ assertEqualInt(st.st_mtime, 123456789); failure("No atime was specified, so atime should get set to current time"); @@ -142,7 +146,9 @@ static void create_reg_file2(struct archive_entry *ae, const char *msg) assert(0 == stat(archive_entry_pathname(ae), &st)); failure("st.st_mode=%o archive_entry_mode(ae)=%o", st.st_mode, archive_entry_mode(ae)); +#ifndef _WIN32 assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); +#endif assertEqualInt(st.st_size, i); compare = malloc(datasize); @@ -177,7 +183,9 @@ static void create_reg_file3(struct archive_entry *ae, const char *msg) assert(0 == stat(archive_entry_pathname(ae), &st)); failure("st.st_mode=%o archive_entry_mode(ae)=%o", st.st_mode, archive_entry_mode(ae)); +#ifndef _WIN32 assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); +#endif assertEqualInt(st.st_size, 5); } @@ -204,7 +212,9 @@ static void create_reg_file4(struct archive_entry *ae, const char *msg) assert(0 == stat(archive_entry_pathname(ae), &st)); failure("st.st_mode=%o archive_entry_mode(ae)=%o", st.st_mode, archive_entry_mode(ae)); +#ifndef _WIN32 assertEqualInt(st.st_mode, (archive_entry_mode(ae) & ~UMASK)); +#endif failure(msg); assertEqualInt(st.st_size, sizeof(data)); } |