diff options
author | Jim Meyering <meyering@redhat.com> | 2009-09-03 19:36:34 +0200 |
---|---|---|
committer | Jim Meyering <meyering@redhat.com> | 2009-09-03 19:52:47 +0200 |
commit | e0e8429c2433bd9820f42250236badc585bd9dd7 (patch) | |
tree | 12128f28af5a7c86f570058a2531c6031355bf4a /tests/df/unreadable | |
parent | 1422cabf930572f22849c55914352e915af1f677 (diff) | |
download | coreutils-e0e8429c2433bd9820f42250236badc585bd9dd7.tar.xz |
df: don't fail due to an unreadable argument
* src/df.c (main): If open or fstat fails when we're trying to ensure
that all arg-partitions are automounted, fall back on using stat.
Inspired by the report and patch from Olivier Fourdan in
http://bugzilla.redhat.com/520630.
* NEWS (Bug fixes): Mention it.
* tests/df/unreadable: New test for the above.
* tests/Makefile.am (TESTS): Add df/unreadable.
The bug was introduced in coreutils-7.3 via commit dbd17157,
2009-04-28, "df: use open(2), not stat, to trigger automounting".
Diffstat (limited to 'tests/df/unreadable')
-rwxr-xr-x | tests/df/unreadable | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/df/unreadable b/tests/df/unreadable new file mode 100755 index 000000000..8e6002860 --- /dev/null +++ b/tests/df/unreadable @@ -0,0 +1,32 @@ +#!/bin/sh +# ensure that df can handle an unreadable argument + +# Copyright (C) 2009 Free Software Foundation, Inc. + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +if test "$VERBOSE" = yes; then + set -x + df --version +fi + +. $srcdir/test-lib.sh +skip_if_root_ + +fail=0 +touch unreadable || fail=1 +chmod a-r unreadable || fail=1 +df unreadable || fail=1 + +Exit $fail |