1121a9d47fb33371046131fef12233974be518170Rob Landley#!/bin/bash
2121a9d47fb33371046131fef12233974be518170Rob Landley
3121a9d47fb33371046131fef12233974be518170Rob Landley[ -f testing.sh ] && . testing.sh
4121a9d47fb33371046131fef12233974be518170Rob Landley
5121a9d47fb33371046131fef12233974be518170Rob Landley#testing "name" "command" "result" "infile" "stdin"
6121a9d47fb33371046131fef12233974be518170Rob Landley
7121a9d47fb33371046131fef12233974be518170Rob Landleymkdir one
8e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landleytesting "rmdir" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
9121a9d47fb33371046131fef12233974be518170Rob Landley
10121a9d47fb33371046131fef12233974be518170Rob Landleytouch walrus
11121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir file" \
12121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir walrus 2> /dev/null || [ -f walrus ] && echo yes" "yes\n" "" ""
13121a9d47fb33371046131fef12233974be518170Rob Landley
14121a9d47fb33371046131fef12233974be518170Rob Landleymkdir one two
15121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir one two" \
16121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir one two 2> /dev/null && [ ! -d one ] && [ ! -d two ] && echo yes" \
17121a9d47fb33371046131fef12233974be518170Rob Landley	"yes\n" "" ""
18121a9d47fb33371046131fef12233974be518170Rob Landley
19121a9d47fb33371046131fef12233974be518170Rob Landleymkdir one two three
20121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir one missing two file three" \
21121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir one missing two walrus three 2> /dev/null || [ ! -d three ] && echo yes" \
22121a9d47fb33371046131fef12233974be518170Rob Landley	"yes\n" "" ""
23e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landleyrm walrus
24121a9d47fb33371046131fef12233974be518170Rob Landley
25121a9d47fb33371046131fef12233974be518170Rob Landleymkdir one
26121a9d47fb33371046131fef12233974be518170Rob Landleychmod 000 one
27121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir mode 000" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
28121a9d47fb33371046131fef12233974be518170Rob Landley
29121a9d47fb33371046131fef12233974be518170Rob Landleymkdir temp
30121a9d47fb33371046131fef12233974be518170Rob Landleytouch temp/thing
31121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir non-empty" \
32121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir temp 2>/dev/null || [ -d temp ] && echo yes" "yes\n" "" ""
33121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir -p dir/file" \
34121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir -p temp/thing 2>/dev/null || [ -f temp/thing ] && echo yes" \
35121a9d47fb33371046131fef12233974be518170Rob Landley	"yes\n" "" ""
36121a9d47fb33371046131fef12233974be518170Rob Landley
37121a9d47fb33371046131fef12233974be518170Rob Landleymkdir -p temp/one/two/three
38121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir -p part of path" \
39121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir -p temp/one/two/three 2>/dev/null || [ -d temp ] && [ ! -e temp/one ] && echo yes" \
40121a9d47fb33371046131fef12233974be518170Rob Landley	"yes\n" "" ""
41121a9d47fb33371046131fef12233974be518170Rob Landleyrm -rf temp
42121a9d47fb33371046131fef12233974be518170Rob Landley
43e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley
44121a9d47fb33371046131fef12233974be518170Rob Landleymkdir -p one/two/three
45121a9d47fb33371046131fef12233974be518170Rob Landleytesting "rmdir -p one/two/three" \
46121a9d47fb33371046131fef12233974be518170Rob Landley	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
47e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley
4841ed9793498916c63d375326ea8c9b3fa1479dd6Rob Landleymkdir -p one/two/three
4941ed9793498916c63d375326ea8c9b3fa1479dd6Rob Landleytesting "rmdir -p one/two/three/" \
5041ed9793498916c63d375326ea8c9b3fa1479dd6Rob Landley	"rmdir -p one/two/three/ && [ ! -e one ] && echo yes" "yes\n" "" ""
5141ed9793498916c63d375326ea8c9b3fa1479dd6Rob Landley
52e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley#mkdir -p one/two/three
53e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley#chmod 000 one/two/three one/two one
54e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley#testing "rmdir -p one/two/three" \
55e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landley#	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
56