mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-02-18 13:21:58 +02:00
* tests/ls/stat-dtype: Use a dynamic test to decide whether the
current file system has useful d_type info.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2006-10-05 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* tests/ls/stat-dtype: Use a dynamic test to decide whether the
|
||||
current file system has useful d_type info.
|
||||
|
||||
* src/dd.c (flags): noatime and nofollow now depend on
|
||||
HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too.
|
||||
(usage): Output info about noatime and nofollow only if
|
||||
|
||||
@@ -30,33 +30,6 @@ fi
|
||||
|
||||
. $srcdir/../envvar-check
|
||||
|
||||
# Skip this test unless "." is on a file system with useful d_type info.
|
||||
# FIXME: use a more dynamic test for this, since whether d_type is useful
|
||||
# depends on much more than the file system type. For example, with
|
||||
# linux-2.6.15, at least tmpfs and ext3 work, but reiserfs and xfs don't.
|
||||
# Also, tmpfs on Solaris 10 lacks d_type support.
|
||||
skip=yes
|
||||
fs_type=`stat -f --printf %T .`
|
||||
|
||||
linux_2_6_or_newer=0
|
||||
case `uname -r` in
|
||||
[01].*) ;;
|
||||
2.[0-5]*) ;;
|
||||
*) linux_2_6_or_newer=1 ;;
|
||||
esac
|
||||
|
||||
test `uname -s` = Linux \
|
||||
&& test $linux_2_6_or_newer = 1 \
|
||||
&& test $fs_type = tmpfs \
|
||||
&& skip=no
|
||||
test $fs_type = ext2/ext3 && skip=no
|
||||
test $skip = yes &&
|
||||
{
|
||||
echo "$0: '.' is not on a suitable file system for this test" 1>&2
|
||||
echo "$0: skipping this test" 1>&2
|
||||
(exit 77); exit 77
|
||||
}
|
||||
|
||||
pwd=`pwd`
|
||||
t0=`echo "$0"|sed 's,.*/,,'`.tmp; tmp=$t0/$$
|
||||
trap 'status=$?; cd $pwd; chmod -R u+rwx $t0; rm -rf $t0 && exit $status' 0
|
||||
@@ -66,6 +39,17 @@ framework_failure=0
|
||||
mkdir -p $tmp || framework_failure=1
|
||||
cd $tmp || framework_failure=1
|
||||
|
||||
# Skip this test unless "." is on a file system with useful d_type info.
|
||||
# FIXME: This uses "ls -p" to decide whether to test "ls" with other options,
|
||||
# but if ls's d_type code is buggy then "ls -p" might be buggy too.
|
||||
mkdir -p c/d || framework_failure=1
|
||||
chmod a-x c || framework_failure=1
|
||||
if test "X`ls -p c 2>&1`" != Xd/; then
|
||||
echo "$0: '.' is not on a suitable file system for this test" 1>&2
|
||||
echo "$0: skipping this test" 1>&2
|
||||
(exit 77); exit 77
|
||||
fi
|
||||
|
||||
mkdir d || framework_failure=1
|
||||
ln -s / d/s || framework_failure=1
|
||||
chmod 600 d || framework_failure=1
|
||||
|
||||
Reference in New Issue
Block a user