]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Ensure that rm now continues removing entries even after certain types of failure.
authorJim Meyering <jim@meyering.net>
Tue, 22 Nov 2005 15:06:30 +0000 (15:06 +0000)
committerJim Meyering <jim@meyering.net>
Tue, 22 Nov 2005 15:06:30 +0000 (15:06 +0000)
tests/rm/rm2

index ce468070520f73c07bc1f0c3c6380e7b177d610c..37aefed9476dbe1d1ab616809297a026b370f8ad 100755 (executable)
@@ -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