*/
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");
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");
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("..");
}