]> git.ipfire.org Git - thirdparty/libarchive.git/commitdiff
Refine the -C test a bit.
authorTim Kientzle <kientzle@gmail.com>
Sat, 10 Apr 2010 21:32:39 +0000 (17:32 -0400)
committerTim Kientzle <kientzle@gmail.com>
Sat, 10 Apr 2010 21:32:39 +0000 (17:32 -0400)
SVN-Revision: 2223

tar/test/test_option_C_upper.c

index 8b4dfd0f3f87874a8667be089f4ab5b8e35e269b..ffc65e58813c353919c0ea938b20f55643e95c0b 100644 (file)
@@ -70,8 +70,9 @@ DEFINE_TEST(test_option_C_upper)
         */
        assertMakeDir("test3", 0755);
        assertChdir("test3");
-       r = systemf("%s -cf archive.tar -C ../XXX file1 -C ../d2 file2", testprog);
+       r = systemf("%s -cf archive.tar -C ../XXX file1 -C ../d2 file2 2>write.err", testprog);
        assert(r != 0);
+       assertNonEmptyFile("write.err");
        assertEqualInt(0,
            systemf("%s -xf archive.tar >test.out 2>test.err", testprog));
        assertFileNotExists("file1");
@@ -95,9 +96,8 @@ DEFINE_TEST(test_option_C_upper)
        assertEmptyFile("test.err");
        assertChdir("..");
 
-
        /*
-        * Test 5: Unnecessary -C ignored
+        * Test 5: Unnecessary -C ignored even if directory named doesn't exist
         */
        assertMakeDir("test5", 0755);
        assertChdir("test5");
@@ -110,4 +110,19 @@ DEFINE_TEST(test_option_C_upper)
        assertEmptyFile("test.out");
        assertEmptyFile("test.err");
        assertChdir("..");
+
+       /*
+        * Test 6: Necessary -C not ignored if directory doesn't exist
+        */
+       assertMakeDir("test6", 0755);
+       assertChdir("test6");
+       r = systemf("%s -cf archive.tar -C XXX -C ../d1 file1 2>write.err",
+           testprog, testworkdir);
+       assert(r != 0);
+       assertNonEmptyFile("write.err");
+       assertEqualInt(0,
+           systemf("%s -xf archive.tar >test.out 2>test.err", testprog));
+       assertEmptyFile("test.out");
+       assertEmptyFile("test.err");
+       assertChdir("..");
 }