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 Workertesting "mkdir" "mkdir one && [ -d one ] && echo yes" "yes\n" "" "" 8*cf5a6c84SAndroid Build Coastguard Workerrmdir one 9*cf5a6c84SAndroid Build Coastguard Worker 10*cf5a6c84SAndroid Build Coastguard Workertouch existing 11*cf5a6c84SAndroid Build Coastguard Workertesting "existing file" \ 12*cf5a6c84SAndroid Build Coastguard Worker "mkdir existing 2> /dev/null || [ -f existing ] && echo yes" "yes\n" "" "" 13*cf5a6c84SAndroid Build Coastguard Workerrm existing 14*cf5a6c84SAndroid Build Coastguard Worker 15*cf5a6c84SAndroid Build Coastguard Workermkdir existing 16*cf5a6c84SAndroid Build Coastguard Workertesting "existing dir" \ 17*cf5a6c84SAndroid Build Coastguard Worker "mkdir existing 2> /dev/null || echo yes" "yes\n" "" "" 18*cf5a6c84SAndroid Build Coastguard Workerrmdir existing 19*cf5a6c84SAndroid Build Coastguard Worker 20*cf5a6c84SAndroid Build Coastguard Workertesting "one two" \ 21*cf5a6c84SAndroid Build Coastguard Worker "mkdir one two && [ -d one ] && [ -d two ] && echo yes" "yes\n" "" "" 22*cf5a6c84SAndroid Build Coastguard Workerrmdir one two 23*cf5a6c84SAndroid Build Coastguard Worker 24*cf5a6c84SAndroid Build Coastguard Workertesting "missing/one" \ 25*cf5a6c84SAndroid Build Coastguard Worker "mkdir missing/one 2> /dev/null || [ ! -d missing ] && echo yes" "yes\n" "" "" 26*cf5a6c84SAndroid Build Coastguard Worker 27*cf5a6c84SAndroid Build Coastguard Workertesting "-p" \ 28*cf5a6c84SAndroid Build Coastguard Worker "mkdir -p one/two/three && [ -d one/two/three ] && echo yes" "yes\n" "" "" 29*cf5a6c84SAndroid Build Coastguard Workerrm -rf one 30*cf5a6c84SAndroid Build Coastguard Worker 31*cf5a6c84SAndroid Build Coastguard Workermkdir existing 32*cf5a6c84SAndroid Build Coastguard Workertesting "-p existing" "mkdir -p existing && echo yes" "yes\n" "" "" 33*cf5a6c84SAndroid Build Coastguard Workerrmdir existing 34*cf5a6c84SAndroid Build Coastguard Worker 35*cf5a6c84SAndroid Build Coastguard Workerumask 123 36*cf5a6c84SAndroid Build Coastguard Workertesting "(default permissions)" \ 37*cf5a6c84SAndroid Build Coastguard Worker "mkdir one && stat -c %a one" "654\n" "" "" 38*cf5a6c84SAndroid Build Coastguard Workerrmdir one 39*cf5a6c84SAndroid Build Coastguard Worker 40*cf5a6c84SAndroid Build Coastguard Workertesting "-m 124" \ 41*cf5a6c84SAndroid Build Coastguard Worker "mkdir -m 124 one && stat -c %a one" "124\n" "" "" 42*cf5a6c84SAndroid Build Coastguard Workerrmdir one 43*cf5a6c84SAndroid Build Coastguard Worker 44*cf5a6c84SAndroid Build Coastguard Workerumask 000 45*cf5a6c84SAndroid Build Coastguard Workertesting "-p -m 653" \ 46*cf5a6c84SAndroid Build Coastguard Worker "mkdir -p -m 653 one/two && stat -c %a one && stat -c %a one/two" \ 47*cf5a6c84SAndroid Build Coastguard Worker "777\n653\n" "" "" 48*cf5a6c84SAndroid Build Coastguard Workerrm -rf one 49*cf5a6c84SAndroid Build Coastguard Worker 50*cf5a6c84SAndroid Build Coastguard Workertesting "-p one/two/ (trailing slash)" \ 51*cf5a6c84SAndroid Build Coastguard Worker "mkdir -p one/two/ && [ -d one/two ] && echo yes" "yes\n" "" "" 52*cf5a6c84SAndroid Build Coastguard Workerrm -rf one 53*cf5a6c84SAndroid Build Coastguard Worker 54*cf5a6c84SAndroid Build Coastguard Workerumask 022 55*cf5a6c84SAndroid Build Coastguard Workertesting "-p -m 777 (022 umask)" \ 56*cf5a6c84SAndroid Build Coastguard Worker "mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \ 57*cf5a6c84SAndroid Build Coastguard Worker "755\n777\n" "" "" 58*cf5a6c84SAndroid Build Coastguard Workerrm -rf one 59*cf5a6c84SAndroid Build Coastguard Worker 60*cf5a6c84SAndroid Build Coastguard Workerumask 377 61*cf5a6c84SAndroid Build Coastguard Workertesting "-p -m 777 (377 umask)" \ 62*cf5a6c84SAndroid Build Coastguard Worker "mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \ 63*cf5a6c84SAndroid Build Coastguard Worker "700\n777\n" "" "" 64*cf5a6c84SAndroid Build Coastguard Workerumask 002 65*cf5a6c84SAndroid Build Coastguard Workerrm -rf one 66*cf5a6c84SAndroid Build Coastguard Worker 67*cf5a6c84SAndroid Build Coastguard Workertesting "-vp" "mkdir -vp walrus 2>&1" \ 68*cf5a6c84SAndroid Build Coastguard Worker "mkdir: created directory 'walrus'\n" "" "" 69*cf5a6c84SAndroid Build Coastguard Worker 70*cf5a6c84SAndroid Build Coastguard Workertesting "-vp exists" "mkdir -vp walrus 2>&1" \ 71*cf5a6c84SAndroid Build Coastguard Worker "" "" "" 72*cf5a6c84SAndroid Build Coastguard Workerrm -rf walrus 73*cf5a6c84SAndroid Build Coastguard Worker 74*cf5a6c84SAndroid Build Coastguard Workertouch two 75*cf5a6c84SAndroid Build Coastguard Workertesting "continue after fail" \ 76*cf5a6c84SAndroid Build Coastguard Worker "mkdir -m 777 one two three 2>/dev/null || stat -c %a three" \ 77*cf5a6c84SAndroid Build Coastguard Worker "777\n" "" "" 78*cf5a6c84SAndroid Build Coastguard Workerrm -rf one two three 79