1c5b15dbd1aa21566417d606111b02e993069408cFelix Janda#!/bin/bash 2c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 3c5b15dbd1aa21566417d606111b02e993069408cFelix Janda[ -f testing.sh ] && . testing.sh 4c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 5c5b15dbd1aa21566417d606111b02e993069408cFelix Janda#testing "name" "command" "result" "infile" "stdin" 6c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 7c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir" "mkdir one && [ -d one ] && echo yes" "yes\n" "" "" 8c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarmdir one 9c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 10c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatouch existing 11c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir existing" \ 12c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir existing 2> /dev/null || [ -f existing ] && echo yes" "yes\n" "" "" 13c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarm existing 14c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 15c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir one two" \ 16c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir one two && [ -d one ] && [ -d two ] && echo yes" "yes\n" "" "" 17c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarmdir one two 18c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 19c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir missing/one" \ 20c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir missing/one 2> /dev/null || [ ! -d missing ] && echo yes" "yes\n" "" "" 21c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 22c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir -p" \ 23c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir -p one/two/three && [ -d one/two/three ] && echo yes" "yes\n" "" "" 24c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarm -rf one 25c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 26c5b15dbd1aa21566417d606111b02e993069408cFelix Jandamkdir existing 27c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir -p existing" "mkdir -p existing && echo yes" "yes\n" "" "" 28c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarmdir existing 29c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 30c5b15dbd1aa21566417d606111b02e993069408cFelix Jandaumask 123 31c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir (default permissions)" \ 32c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir one && stat -c %a one" "654\n" "" "" 33c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarmdir one 34c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 35c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir -m 124" \ 36c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir -m 124 one && stat -c %a one" "124\n" "" "" 37c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarmdir one 38c5b15dbd1aa21566417d606111b02e993069408cFelix Janda 39314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyumask 000 40c5b15dbd1aa21566417d606111b02e993069408cFelix Jandatesting "mkdir -p -m 653" \ 41c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "mkdir -p -m 653 one/two && stat -c %a one && stat -c %a one/two" \ 42c5b15dbd1aa21566417d606111b02e993069408cFelix Janda "777\n653\n" "" "" 43c5b15dbd1aa21566417d606111b02e993069408cFelix Jandarm -rf one 44314dc6881f0439478f483d26726c52c1c3f536ffRob Landley 45314dc6881f0439478f483d26726c52c1c3f536ffRob Landleytesting "mkdir -p one/two/ (trailing slash)" \ 46314dc6881f0439478f483d26726c52c1c3f536ffRob Landley "mkdir -p one/two/ && [ -d one/two ] && echo yes" "yes\n" "" "" 47314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyrm -rf one 48314dc6881f0439478f483d26726c52c1c3f536ffRob Landley 49314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyumask 022 50314dc6881f0439478f483d26726c52c1c3f536ffRob Landleytesting "mkdir -p -m 777 (022 umask)" \ 51314dc6881f0439478f483d26726c52c1c3f536ffRob Landley "mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \ 52314dc6881f0439478f483d26726c52c1c3f536ffRob Landley "755\n777\n" "" "" 53314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyrm -rf one 54314dc6881f0439478f483d26726c52c1c3f536ffRob Landley 55314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyumask 377 56314dc6881f0439478f483d26726c52c1c3f536ffRob Landleytesting "mkdir -p -m 777 (377 umask)" \ 57314dc6881f0439478f483d26726c52c1c3f536ffRob Landley "mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \ 58314dc6881f0439478f483d26726c52c1c3f536ffRob Landley "700\n777\n" "" "" 59314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyumask 002 60314dc6881f0439478f483d26726c52c1c3f536ffRob Landleyrm -rf one 61ed9eac3967ed88262293aa395744194f8be294b0Rob Landley 62ed9eac3967ed88262293aa395744194f8be294b0Rob Landleytesting "mkdir -vp" "mkdir -vp walrus 2>&1" \ 63ed9eac3967ed88262293aa395744194f8be294b0Rob Landley "mkdir: created directory 'walrus'\n" "" "" 64ed9eac3967ed88262293aa395744194f8be294b0Rob Landley 65ed9eac3967ed88262293aa395744194f8be294b0Rob Landleytesting "mkdir -vp exists" "mkdir -vp walrus 2>&1" \ 66ed9eac3967ed88262293aa395744194f8be294b0Rob Landley "" "" "" 67fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landleyrm -rf walrus 68fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landley 69fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landleytouch two 70fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landleytesting "mkdir continue after fail" \ 71fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landley "mkdir -m 777 one two three 2>/dev/null || stat -c %a three" \ 72fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landley "777\n" "" "" 73fad38c7d1675a34a350fb1d99fb6b66728cad8a7Rob Landleyrm -rf one two three 74