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