summaryrefslogtreecommitdiffstats
path: root/lib/libarchive/test/test_write_disk_secure.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libarchive/test/test_write_disk_secure.c')
-rw-r--r--lib/libarchive/test/test_write_disk_secure.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/libarchive/test/test_write_disk_secure.c b/lib/libarchive/test/test_write_disk_secure.c
index d417489..74506f1 100644
--- a/lib/libarchive/test/test_write_disk_secure.c
+++ b/lib/libarchive/test/test_write_disk_secure.c
@@ -36,13 +36,13 @@ DEFINE_TEST(test_write_disk_secure)
{
#if ARCHIVE_VERSION_NUMBER < 1009000
skipping("archive_write_disk interface");
-#else
+#elif !defined(_WIN32) || defined(__CYGWIN__)
struct archive *a;
struct archive_entry *ae;
struct stat st;
/* Start with a known umask. */
- umask(UMASK);
+ assertUmask(UMASK);
/* Create an archive_write_disk object. */
assert((a = archive_write_disk_new()) != NULL);
@@ -55,7 +55,6 @@ DEFINE_TEST(test_write_disk_secure)
archive_entry_free(ae);
assert(0 == archive_write_finish_entry(a));
-#if !defined(_WIN32) || defined(__CYGWIN__)
/* Write a symlink to the dir above. */
assert((ae = archive_entry_new()) != NULL);
archive_entry_copy_pathname(ae, "link_to_dir");
@@ -150,7 +149,6 @@ DEFINE_TEST(test_write_disk_secure)
assertEqualInt(0, lstat("link_to_dir4", &st));
assert(S_ISDIR(st.st_mode));
archive_entry_free(ae);
-#endif
/*
* As above, but a link to a non-dir, so the link should get replaced.
@@ -180,14 +178,8 @@ DEFINE_TEST(test_write_disk_secure)
assert(S_ISDIR(st.st_mode));
archive_entry_free(ae);
-
-#if ARCHIVE_VERSION_NUMBER < 2000000
- archive_write_finish(a);
-#else
assert(0 == archive_write_finish(a));
-#endif
-#if !defined(_WIN32) || defined(__CYGWIN__)
/* Test the entries on disk. */
assert(0 == lstat("dir", &st));
failure("dir: st.st_mode=%o", st.st_mode);
@@ -220,5 +212,4 @@ DEFINE_TEST(test_write_disk_secure)
failure("link_to_dir2/filec: st.st_mode=%o", st.st_mode);
assert((st.st_mode & 07777) == 0755);
#endif
-#endif
}
OpenPOWER on IntegriCloud