xref: /aosp_15_r20/external/toybox/tests/rmdir.test (revision cf5a6c84e2b8763fc1a7db14496fd4742913b199)
1*cf5a6c84SAndroid Build Coastguard Worker#!/bin/bash
2*cf5a6c84SAndroid Build Coastguard Worker
3*cf5a6c84SAndroid Build Coastguard Worker[ -f testing.sh ] && . testing.sh
4*cf5a6c84SAndroid Build Coastguard Worker
5*cf5a6c84SAndroid Build Coastguard Worker#testing "name" "command" "result" "infile" "stdin"
6*cf5a6c84SAndroid Build Coastguard Worker
7*cf5a6c84SAndroid Build Coastguard Workermkdir one
8*cf5a6c84SAndroid Build Coastguard Workertesting "rmdir" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
9*cf5a6c84SAndroid Build Coastguard Worker
10*cf5a6c84SAndroid Build Coastguard Workertouch walrus
11*cf5a6c84SAndroid Build Coastguard Workertesting "file" \
12*cf5a6c84SAndroid Build Coastguard Worker	"rmdir walrus 2> /dev/null || [ -f walrus ] && echo yes" "yes\n" "" ""
13*cf5a6c84SAndroid Build Coastguard Worker
14*cf5a6c84SAndroid Build Coastguard Workermkdir one two
15*cf5a6c84SAndroid Build Coastguard Workertesting "one two" \
16*cf5a6c84SAndroid Build Coastguard Worker	"rmdir one two 2> /dev/null && [ ! -d one ] && [ ! -d two ] && echo yes" \
17*cf5a6c84SAndroid Build Coastguard Worker	"yes\n" "" ""
18*cf5a6c84SAndroid Build Coastguard Worker
19*cf5a6c84SAndroid Build Coastguard Workermkdir one two three
20*cf5a6c84SAndroid Build Coastguard Workertesting "one missing two file three" \
21*cf5a6c84SAndroid Build Coastguard Worker	"rmdir one missing two walrus three 2> /dev/null || [ ! -d three ] && echo yes" \
22*cf5a6c84SAndroid Build Coastguard Worker	"yes\n" "" ""
23*cf5a6c84SAndroid Build Coastguard Workerrm walrus
24*cf5a6c84SAndroid Build Coastguard Worker
25*cf5a6c84SAndroid Build Coastguard Workermkdir one
26*cf5a6c84SAndroid Build Coastguard Workerchmod 000 one
27*cf5a6c84SAndroid Build Coastguard Workertesting "mode 000" "rmdir one && [ ! -d one ] && echo yes" "yes\n" "" ""
28*cf5a6c84SAndroid Build Coastguard Worker
29*cf5a6c84SAndroid Build Coastguard Workermkdir temp
30*cf5a6c84SAndroid Build Coastguard Workertouch temp/thing
31*cf5a6c84SAndroid Build Coastguard Workertesting "non-empty" \
32*cf5a6c84SAndroid Build Coastguard Worker	"rmdir temp 2>/dev/null || [ -d temp ] && echo yes" "yes\n" "" ""
33*cf5a6c84SAndroid Build Coastguard Workertesting "-p dir/file" \
34*cf5a6c84SAndroid Build Coastguard Worker	"rmdir -p temp/thing 2>/dev/null || [ -f temp/thing ] && echo yes" \
35*cf5a6c84SAndroid Build Coastguard Worker	"yes\n" "" ""
36*cf5a6c84SAndroid Build Coastguard Worker
37*cf5a6c84SAndroid Build Coastguard Workermkdir -p temp/one/two/three
38*cf5a6c84SAndroid Build Coastguard Workertesting "-p part of path" \
39*cf5a6c84SAndroid Build Coastguard Worker	"rmdir -p temp/one/two/three 2>/dev/null || [ -d temp ] && [ ! -e temp/one ] && echo yes" \
40*cf5a6c84SAndroid Build Coastguard Worker	"yes\n" "" ""
41*cf5a6c84SAndroid Build Coastguard Workerrm -rf temp
42*cf5a6c84SAndroid Build Coastguard Worker
43*cf5a6c84SAndroid Build Coastguard Workerskipnot [ $UID -eq 0 ]
44*cf5a6c84SAndroid Build Coastguard Workertesting '-p abspath' \
45*cf5a6c84SAndroid Build Coastguard Worker  'mkdir -p /test/2/3 && rmdir -p /test/2/3 && [ ! -e /test ] && echo yes' \
46*cf5a6c84SAndroid Build Coastguard Worker  'yes\n' '' ''
47*cf5a6c84SAndroid Build Coastguard Worker
48*cf5a6c84SAndroid Build Coastguard Workermkdir -p one/two/three
49*cf5a6c84SAndroid Build Coastguard Workertesting "-p one/two/three" \
50*cf5a6c84SAndroid Build Coastguard Worker	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
51*cf5a6c84SAndroid Build Coastguard Worker
52*cf5a6c84SAndroid Build Coastguard Workermkdir -p one/two/three
53*cf5a6c84SAndroid Build Coastguard Workertesting "-p one/two/three/" \
54*cf5a6c84SAndroid Build Coastguard Worker	"rmdir -p one/two/three/ && [ ! -e one ] && echo yes" "yes\n" "" ""
55*cf5a6c84SAndroid Build Coastguard Worker
56*cf5a6c84SAndroid Build Coastguard Worker#mkdir -p one/two/three
57*cf5a6c84SAndroid Build Coastguard Worker#chmod 000 one/two/three one/two one
58*cf5a6c84SAndroid Build Coastguard Worker#testing "-p one/two/three" \
59*cf5a6c84SAndroid Build Coastguard Worker#	"rmdir -p one/two/three && [ ! -e one ] && echo yes" "yes\n" "" ""
60