rmdir.sh (1944B)
- #!/bin/sh
- # SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
- # SPDX-License-Identifier: MPL-2.0
- plans=30
- WD=$(dirname "$0")
- target="${WD}/../cmd/rmdir"
- . "${WD}/tap.sh"
- t_cmd '' '' mkdir -p no_p/bar
- t 'no_p/bar' 'no_p/bar'
- t_cmd '' '' test -d no_p
- t_cmd '' '' rm -r no_p
- t_cmd '' '' mkdir -p p/bar
- t_args 'p/bar' '' -p p/bar
- t_cmd '' '' test '!' -e p
- t_cmd '' '' mkdir -p v_no_p/bar
- t_args '-v v_no_p/bar' "\
- rmdir: Removed 'v_no_p/bar'
- " -v v_no_p/bar
- t_cmd '' '' test -d v_no_p
- t_cmd '' '' rm -r v_no_p
- t_cmd '' '' mkdir -p v_p/bar
- t_args '-pv v_p/bar' "\
- rmdir: Removed 'v_p/bar'
- rmdir: Removed 'v_p'
- " -pv v_p/bar
- t_cmd '' '' test '!' -e v_p
- t_cmd '' '' touch file
- t --exit=1 file file "\
- rmdir: error: Failed removing 'file': Not a directory
- "
- t --exit=1 '-p file' '-p file' "\
- rmdir: error: Failed removing 'file': Not a directory
- "
- t --exit=1 '-v file' '-v file' "\
- rmdir: error: Failed removing 'file': Not a directory
- "
- t --exit=1 '-pv file' '-pv file' "\
- rmdir: error: Failed removing 'file': Not a directory
- "
- t_cmd '' '' rm file
- t_cmd '' '' mkdir -p e_not_empty/a/b/c/d empty/a/b/c
- t_args --exit=1 'e_not_empty' "\
- rmdir: error: Failed removing 'e_not_empty/a/b/c': Directory not empty
- " -p e_not_empty/a/b/c empty/a/b/c
- t_cmd '' '' test -d e_not_empty/a/b/c
- t_cmd '' '' test '!' -e empty
- t_cmd '' '' rm -r e_not_empty
- if grep -q HAS_GETOPT_LONG "${WD}/../config.h"; then
- t_cmd 'mkdir:e_not_empty-ign' '' mkdir -p e_not_empty-ign/a/b/c/d empty-ign/a/b/c
- 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
- t_cmd 'test:e_not_empty-ign/a/b/c' '' test -d e_not_empty-ign/a/b/c
- t_cmd 'test:empty-ign' '' test '!' -e empty-ign
- t_cmd 'rm:e_not_empty-ign' '' rm -r e_not_empty-ign
- else
- skip 'mkdir:e_not_empty-ign'
- skip 'ignore-fail-on-non-empty'
- skip 'test:e_not_empty-ign/a/b/c'
- skip 'test:empty-ign'
- skip 'rm:e_not_empty-ign'
- fi