aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2021-03-01 19:03:49 -0600
committerRob Landley <rob@landley.net>2021-03-01 19:03:49 -0600
commitf1be076b52adcad7b2419315cc148009a1bc2fec (patch)
treebd4ea668dfe3006102a826617647c2edbfa79838 /tests
parent50f604f415d77b3679df1f8d9d3856f9840998be (diff)
downloadtoybox-f1be076b52adcad7b2419315cc148009a1bc2fec.tar.gz
Yi-yo Chiang wants cpio -u implemented, and sent some tests.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/cpio.test18
1 files changed, 17 insertions, 1 deletions
diff --git a/tests/cpio.test b/tests/cpio.test
index 6ab3665a..7e2955a1 100755
--- a/tests/cpio.test
+++ b/tests/cpio.test
@@ -42,4 +42,20 @@ touch a; chmod a-rwx a; ln -s a/cant b
toyonly testing "archives unreadable empty files" "cpio -o -H newc|cpio -it" "b\na\n" "" "b\na\n"
chmod u+rw a; rm -f a b
-
+mkdir a
+echo "old" >a/b
+echo "a/b" | cpio -o -H newc >a.cpio
+rm -rf a
+testing "-i doesn't create leading directories" "cpio -i <a.cpio 2>/dev/null; [ -e a ] || echo yes" "yes\n" "" ""
+rm -rf a
+testing "-id creates leading directories" "cpio -id <a.cpio && cat a/b" "old\n" "" ""
+rm -rf a a.cpio
+
+mkdir a
+echo "old" >a/b
+find a | cpio -o -H newc >a.cpio
+testing "-i keeps existing files" "echo new >a/b && cpio -i <a.cpio 2>/dev/null; cat a/b" "new\n" "" ""
+testing "-id keeps existing files" "echo new >a/b && cpio -id <a.cpio 2>/dev/null; cat a/b" "new\n" "" ""
+testing "-iu replaces existing files; no error" "echo new >a/b && cpio -iu <a.cpio && cat a/b" "old\n" "" ""
+testing "-idu replaces existing files; no error" "echo new >a/b && cpio -idu <a.cpio && cat a/b" "old\n" "" ""
+rm -rf a a.cpio