• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2
3[ -f testing.sh ] && . testing.sh
4
5#testing "name" "command" "result" "infile" "stdin"
6
7mkdir one
8testing "rmdir" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
9
10touch walrus
11testing "file" \
12	"rmdir walrus 2> /dev/null || [ -f walrus ] && echo yes" "yes\n" "" ""
13
14mkdir one two
15testing "one two" \
16	"rmdir one two 2> /dev/null && [ ! -d one ] && [ ! -d two ] && echo yes" \
17	"yes\n" "" ""
18
19mkdir one two three
20testing "one missing two file three" \
21	"rmdir one missing two walrus three 2> /dev/null || [ ! -d three ] && echo yes" \
22	"yes\n" "" ""
23rm walrus
24
25mkdir one
26chmod 000 one
27testing "mode 000" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
28
29mkdir temp
30touch temp/thing
31testing "non-empty" \
32	"rmdir temp 2>/dev/null || [ -d temp ] && echo yes" "yes\n" "" ""
33testing "-p dir/file" \
34	"rmdir -p temp/thing 2>/dev/null || [ -f temp/thing ] && echo yes" \
35	"yes\n" "" ""
36
37mkdir -p temp/one/two/three
38testing "-p part of path" \
39	"rmdir -p temp/one/two/three 2>/dev/null || [ -d temp ] && [ ! -e temp/one ] && echo yes" \
40	"yes\n" "" ""
41rm -rf temp
42
43skipnot [ $UID -eq 0 ]
44testing '-p abspath' \
45  'mkdir -p /test/2/3 && rmdir -p /test/2/3 && [ ! -e /test ] && echo yes' \
46  'yes\n' '' ''
47
48mkdir -p one/two/three
49testing "-p one/two/three" \
50	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
51
52mkdir -p one/two/three
53testing "-p one/two/three/" \
54	"rmdir -p one/two/three/ && [ ! -e one ] && echo yes" "yes\n" "" ""
55
56#mkdir -p one/two/three
57#chmod 000 one/two/three one/two one
58#testing "-p one/two/three" \
59#	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
60