From 0a744370bb9a58b023d518bf4f32a5cb36929138 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 15 Jul 2007 22:13:16 +0200 Subject: ls --color: Don't stat symlinks when neither ORPHAN nor MISSING attribute has a color. * src/ls.c (main): Don't set check_symlink_color when C_EXEC is colored, unless ln=target (aka color_symlink_as_referent) is set. (gobble_file): Set f->linkok = true also when !check_symlink_color. http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10608/focus=10927 Reported by Jeremy Maitin-Shepard. * tests/strace: New file, contents extracted from... * tests/mv/atomic: ...here. Source strace. * tests/ls/stat-free-symlinks: New file. Test for the above. Use strace to ensure that in this corner case, ls does not call stat. * tests/ls/Makefile.am (TESTS): Add stat-free-symlinks. * tests/Makefile.am (EXTRA_DIST): Add strace. --- tests/mv/atomic | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'tests/mv/atomic') diff --git a/tests/mv/atomic b/tests/mv/atomic index 2b49fdeb7..69374b984 100755 --- a/tests/mv/atomic +++ b/tests/mv/atomic @@ -23,6 +23,8 @@ if test "$VERBOSE" = yes; then mv --version fi +. $srcdir/../strace + 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 @@ -48,19 +50,6 @@ if test $framework_failure = 1; then (exit 1); exit 1 fi -# Skip this test on systems without strace. -strace -V < /dev/null > ver 2>&1 || skip=1 -if test "$skip" = 1; then - echo "$0: no strace program, so skipping this test" 1>&2 - (exit 77); exit 77 -fi - -strace -qe unlink echo > /dev/null 2>&1 || skip=1 -if test "$skip" = 1; then - echo "$0: strace doesn't work, so skipping this test" 1>&2 - (exit 77); exit 77 -fi - fail=0 strace -qe unlink mv -T s1 s2 > out 2>&1 || fail=1 -- cgit v1.2.3-70-g09d2