summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2005-11-22 15:06:30 +0000
committerJim Meyering <jim@meyering.net>2005-11-22 15:06:30 +0000
commitbf1de05827147834aa1ffb7ac47debc17bb0853c (patch)
tree8588975c46c680cdfea1b2f352f3673278e08b4c /tests
parentd0a109b24459447e557a85185e3e49519ed1114f (diff)
downloadcoreutils-bf1de05827147834aa1ffb7ac47debc17bb0853c.tar.xz
Ensure that rm now continues removing entries even after certain types of failure.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/rm/rm219
1 files changed, 15 insertions, 4 deletions
diff --git a/tests/rm/rm2 b/tests/rm/rm2
index ce4680705..37aefed94 100755
--- a/tests/rm/rm2
+++ b/tests/rm/rm2
@@ -18,7 +18,9 @@ trap '(exit $?); exit' 1 2 13 15
framework_failure=0
mkdir -p $tmp || framework_failure=1
cd $tmp || framework_failure=1
+mkdir -p a/0 || framework_failure=1
mkdir -p a/1/2 b/3 || framework_failure=1
+mkdir a/2 a/3 || framework_failure=1
chmod u-x a/1 b || framework_failure=1
if test $framework_failure = 1; then
@@ -32,15 +34,24 @@ fail=0
# in the same sort of diagnostic.
# Both of these should fail.
rm -rf a b > out 2>&1 && fail=1
-cat <<EOF > exp
-rm: cannot chdir from \`a' to \`1': Permission denied
-rm: cannot chdir from \`.' to \`b': Permission denied
+cat <<\EOF > exp
+rm: cannot open directory `a/1': Permission denied
+rm: cannot open directory `b': Permission denied
EOF
-cmp out exp || fail=1
+cat <<\EOF > exp-solaris
+rm: cannot remove `a/1/2': Permission denied
+rm: cannot remove `b/3': Permission denied
+EOF
+
+cmp out exp > /dev/null 2>&1 || { cmp out exp-solaris > /dev/null 2>&1 || fail=1; }
test $fail = 1 && diff out exp 2> /dev/null
+test -d a/0 && fail=1
test -d a/1 || fail=1
+test -d a/2 && fail=1
+test -d a/3 && fail=1
+
chmod u+x b
test -d b/3 || fail=1