mkdir.test 1.8 KB

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