aboutsummaryrefslogtreecommitdiff
path: root/scripts/test
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/test')
-rwxr-xr-xscripts/test/rmdir.test45
1 files changed, 45 insertions, 0 deletions
diff --git a/scripts/test/rmdir.test b/scripts/test/rmdir.test
new file mode 100755
index 00000000..9ca7d59e
--- /dev/null
+++ b/scripts/test/rmdir.test
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+[ -f testing.sh ] && . testing.sh
+
+#testing "name" "command" "result" "infile" "stdin"
+
+mkdir one
+testing "rmdir" "rmdir one && [ ! -d walrus ] && echo yes" "yes\n" "" ""
+
+touch walrus
+testing "rmdir file" \
+ "rmdir walrus 2> /dev/null || [ -f walrus ] && echo yes" "yes\n" "" ""
+
+mkdir one two
+testing "rmdir one two" \
+ "rmdir one two 2> /dev/null && [ ! -d one ] && [ ! -d two ] && echo yes" \
+ "yes\n" "" ""
+
+mkdir one two three
+testing "rmdir one missing two file three" \
+ "rmdir one missing two walrus three 2> /dev/null || [ ! -d three ] && echo yes" \
+ "yes\n" "" ""
+
+mkdir one
+chmod 000 one
+testing "rmdir mode 000" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
+
+mkdir temp
+touch temp/thing
+testing "rmdir non-empty" \
+ "rmdir temp 2>/dev/null || [ -d temp ] && echo yes" "yes\n" "" ""
+testing "rmdir -p dir/file" \
+ "rmdir -p temp/thing 2>/dev/null || [ -f temp/thing ] && echo yes" \
+ "yes\n" "" ""
+
+mkdir -p temp/one/two/three
+testing "rmdir -p part of path" \
+ "rmdir -p temp/one/two/three 2>/dev/null || [ -d temp ] && [ ! -e temp/one ] && echo yes" \
+ "yes\n" "" ""
+rm -rf temp
+
+mkdir -p one/two/three
+testing "rmdir -p one/two/three" \
+ "rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
+rm walrus