diff options
author | Jim Meyering <jim@meyering.net> | 2006-06-26 13:02:01 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2006-06-26 13:02:01 +0000 |
commit | 78b166d1b163df894d567b79d3bb5744156fb0fe (patch) | |
tree | 7f91488762f0ce8af7959d3c89a09ba9904d1cbf /tests | |
parent | 9cabe37ac9a127f76e1f414ed8c297e3bf32feaa (diff) | |
download | coreutils-78b166d1b163df894d567b79d3bb5744156fb0fe.tar.xz |
* NEWS: rm no longer fails to remove an empty, unreadable directory
* src/remove.c (remove_cwd_entries): If we can't open a directory,
and the failure is not being ignored, try to remove the directory
with rmdir (aka unlinkat-with-AT_REMOVEDIR), in case it's empty.
Problem report and test case from Paul Eggert in
<http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/7425>.
* tests/rm/empty-inacc: New test, for the above.
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/rm/empty-inacc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/rm/empty-inacc b/tests/rm/empty-inacc index 02da7257c..6c009759f 100755 --- a/tests/rm/empty-inacc +++ b/tests/rm/empty-inacc @@ -18,6 +18,10 @@ mkdir -p $tmp || framework_failure=1 cd $tmp || framework_failure=1 mkdir -m0 inacc || framework_failure=1 +# Also exercise the different code path that's taken for a directory +# that is empty (hence removable) and unreadable. +mkdir -m a-r -p a/unreadable + if test $framework_failure = 1; then echo "$0: failure in testing framework" 1>&2 (exit 1); exit 1 @@ -29,4 +33,8 @@ fail=0 rm -rf inacc || fail=1 test -d inacc && fail=1 +# This would fail for e.g., coreutils-5.97. +rm -rf a || fail=1 +test -d a && fail=1 + (exit $fail); exit $fail |