logo

utils-std

Collection of commonly available Unix tools git clone https://anongit.hacktivis.me/git/utils-std.git/

rmdir.sh (1944B)


  1. #!/bin/sh
  2. # SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
  3. # SPDX-License-Identifier: MPL-2.0
  4. plans=30
  5. WD=$(dirname "$0")
  6. target="${WD}/../cmd/rmdir"
  7. . "${WD}/tap.sh"
  8. t_cmd '' '' mkdir -p no_p/bar
  9. t 'no_p/bar' 'no_p/bar'
  10. t_cmd '' '' test -d no_p
  11. t_cmd '' '' rm -r no_p
  12. t_cmd '' '' mkdir -p p/bar
  13. t_args 'p/bar' '' -p p/bar
  14. t_cmd '' '' test '!' -e p
  15. t_cmd '' '' mkdir -p v_no_p/bar
  16. t_args '-v v_no_p/bar' "\
  17. rmdir: Removed 'v_no_p/bar'
  18. " -v v_no_p/bar
  19. t_cmd '' '' test -d v_no_p
  20. t_cmd '' '' rm -r v_no_p
  21. t_cmd '' '' mkdir -p v_p/bar
  22. t_args '-pv v_p/bar' "\
  23. rmdir: Removed 'v_p/bar'
  24. rmdir: Removed 'v_p'
  25. " -pv v_p/bar
  26. t_cmd '' '' test '!' -e v_p
  27. t_cmd '' '' touch file
  28. t --exit=1 file file "\
  29. rmdir: error: Failed removing 'file': Not a directory
  30. "
  31. t --exit=1 '-p file' '-p file' "\
  32. rmdir: error: Failed removing 'file': Not a directory
  33. "
  34. t --exit=1 '-v file' '-v file' "\
  35. rmdir: error: Failed removing 'file': Not a directory
  36. "
  37. t --exit=1 '-pv file' '-pv file' "\
  38. rmdir: error: Failed removing 'file': Not a directory
  39. "
  40. t_cmd '' '' rm file
  41. t_cmd '' '' mkdir -p e_not_empty/a/b/c/d empty/a/b/c
  42. t_args --exit=1 'e_not_empty' "\
  43. rmdir: error: Failed removing 'e_not_empty/a/b/c': Directory not empty
  44. " -p e_not_empty/a/b/c empty/a/b/c
  45. t_cmd '' '' test -d e_not_empty/a/b/c
  46. t_cmd '' '' test '!' -e empty
  47. t_cmd '' '' rm -r e_not_empty
  48. if grep -q HAS_GETOPT_LONG "${WD}/../config.h"; then
  49. t_cmd 'mkdir:e_not_empty-ign' '' mkdir -p e_not_empty-ign/a/b/c/d empty-ign/a/b/c
  50. t_args 'ignore-fail-on-non-empty' '' -p --ignore-fail-on-non-empty e_not_empty-ign/a/b/c empty-ign/a/b/c
  51. t_cmd 'test:e_not_empty-ign/a/b/c' '' test -d e_not_empty-ign/a/b/c
  52. t_cmd 'test:empty-ign' '' test '!' -e empty-ign
  53. t_cmd 'rm:e_not_empty-ign' '' rm -r e_not_empty-ign
  54. else
  55. skip 'mkdir:e_not_empty-ign'
  56. skip 'ignore-fail-on-non-empty'
  57. skip 'test:e_not_empty-ign/a/b/c'
  58. skip 'test:empty-ign'
  59. skip 'rm:e_not_empty-ign'
  60. fi