diff options
Diffstat (limited to 'scripts/test')
-rwxr-xr-x | scripts/test/rmdir.test | 45 |
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 |