Home | History | Annotate | Download | only in tests
      1 #!/bin/bash
      2 
      3 [ -f testing.sh ] && . testing.sh
      4 
      5 #testing "name" "command" "result" "infile" "stdin"
      6 
      7 testing "mkdir" "mkdir one && [ -d one ] && echo yes" "yes\n" "" ""
      8 rmdir one
      9 
     10 touch existing
     11 testing "mkdir existing" \
     12 	"mkdir existing 2> /dev/null || [ -f existing ] && echo yes" "yes\n" "" ""
     13 rm existing
     14 
     15 testing "mkdir one two" \
     16 	"mkdir one two && [ -d one ] && [ -d two ] && echo yes" "yes\n" "" ""
     17 rmdir one two
     18 
     19 testing "mkdir missing/one" \
     20 	"mkdir missing/one 2> /dev/null || [ ! -d missing ] && echo yes" "yes\n" "" ""
     21 
     22 testing "mkdir -p" \
     23 	"mkdir -p one/two/three && [ -d one/two/three ] && echo yes" "yes\n" "" ""
     24 rm -rf one
     25 
     26 mkdir existing
     27 testing "mkdir -p existing" "mkdir -p existing && echo yes" "yes\n" "" ""
     28 rmdir existing
     29 
     30 umask 123
     31 testing "mkdir (default permissions)" \
     32 	"mkdir one && stat -c %a one" "654\n" "" ""
     33 rmdir one
     34 
     35 testing "mkdir -m 124" \
     36 	"mkdir -m 124 one && stat -c %a one" "124\n" "" ""
     37 rmdir one
     38 
     39 umask 000
     40 testing "mkdir -p -m 653" \
     41 	"mkdir -p -m 653 one/two && stat -c %a one && stat -c %a one/two" \
     42 	"777\n653\n" "" ""
     43 rm -rf one
     44 
     45 testing "mkdir -p one/two/ (trailing slash)" \
     46 	"mkdir -p one/two/ &&  [ -d one/two ] && echo yes" "yes\n" "" ""
     47 rm -rf one
     48 
     49 umask 022
     50 testing "mkdir -p -m 777 (022 umask)" \
     51 	"mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \
     52 	"755\n777\n" "" ""
     53 rm -rf one
     54 
     55 umask 377
     56 testing "mkdir -p -m 777 (377 umask)" \
     57 	"mkdir -p -m 777 one/two && stat -c %a one && stat -c %a one/two" \
     58 	"700\n777\n" "" ""
     59 umask 002
     60 rm -rf one
     61 
     62 testing "mkdir -vp" "mkdir -vp walrus 2>&1" \
     63 	"mkdir: created directory 'walrus'\n" "" ""
     64 
     65 testing "mkdir -vp exists" "mkdir -vp walrus 2>&1" \
     66 	"" "" ""
     67 rm -rf walrus
     68 
     69 touch two
     70 testing "mkdir continue after fail" \
     71 	"mkdir -m 777 one two three 2>/dev/null || stat -c %a three" \
     72 	"777\n" "" ""
     73 rm -rf one two three
     74