aboutsummaryrefslogtreecommitdiff
path: root/scripts/test/rmdir.test
blob: 9ca7d59e02e50da20f0f294fbd90e1247e9466fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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