summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2016-10-04 13:43:32 +0100
committerPádraig Brady <P@draigBrady.com>2016-10-04 23:35:59 +0100
commit0e060d9fef64727aa2d41f00f8217c61166bb2e0 (patch)
treefae045097daf523f4071f18ab633666653dc27ab /tests
parentf04daf570b91286d47a80074cf4a6a63c4309dc0 (diff)
downloadcoreutils-0e060d9fef64727aa2d41f00f8217c61166bb2e0.tar.xz
rm: disallow --n alias for --no-preserve-root
* src/rm.c (main): Ensure the full --no-preserve-root option is specified, rather than allowing --n etc. * tests/rm/r-root.sh: Add a test case. * NEWS: Mention the change in behavior. Improved by Jim Meyering. Fixes http://bugs.gnu.org/24604
Diffstat (limited to 'tests')
-rwxr-xr-xtests/rm/r-root.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/tests/rm/r-root.sh b/tests/rm/r-root.sh
index b98db141b..3b7837fe0 100755
--- a/tests/rm/r-root.sh
+++ b/tests/rm/r-root.sh
@@ -211,6 +211,15 @@ for opts in \
done
#-------------------------------------------------------------------------------
+# Exercise with --no-preserve to ensure shortened equivalent is not allowed.
+cat <<EOD > exp_opt || framework_failure_
+rm: you may not abbreviate the --no-preserve-root option
+EOD
+returns_ 1 exercise_rm_r_root --no-preserve / || fail=1
+compare exp_opt err || fail=1
+test -f x && fail=1
+
+#-------------------------------------------------------------------------------
# Exercise "rm -r file1 / file2".
# Expect a non-Zero exit status representing failure to remove "/",
# yet 'file1' and 'file2' should be removed.