Package: coreutils;
Reported by: Bernhard Voelker <mail <at> bernhard-voelker.de>
Date: Tue, 21 Jun 2011 09:01:02 UTC
Severity: normal
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Jim Meyering <jim <at> meyering.net> Cc: tracker <at> debbugs.gnu.org Subject: bug#8909: closed (tests/ls/stat-free-color: fails on OpenSuSE 11.4) Date: Wed, 22 Jun 2011 14:11:01 +0000
[Message part 1 (text/plain, inline)]
Your message dated Wed, 22 Jun 2011 16:09:54 +0200 with message-id <87ipryrm8d.fsf <at> rho.meyering.net> and subject line Re: bug#8909: tests/ls/stat-free-color: fails on OpenSuSE 11.4 has caused the GNU bug report #8909, regarding tests/ls/stat-free-color: fails on OpenSuSE 11.4 to be marked as done. (If you believe you have received this mail in error, please contact help-debbugs <at> gnu.org.) -- 8909: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8909 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Bernhard Voelker <mail <at> bernhard-voelker.de> To: bug-coreutils <at> gnu.org Subject: tests/ls/stat-free-color: fails on OpenSuSE 11.4 Date: Tue, 21 Jun 2011 09:46:29 +0200Hi, `make check` of coreutils.git (latest commit is 18bd9ce40ae05d52543fc9c5a5fdf4f82d13068d) on an OpenSuSE 11.4 host fails (everything else was ok/skipped): FAIL: ls/stat-free-color (exit: 1) ================================== ++ initial_cwd_=/home/berny/coreutils/tests ++ fail=0 +++ testdir_prefix_ +++ printf gt ++ pfx_=gt +++ mktempd_ /home/berny/coreutils/tests gt-stat-free-color.XXXX +++ case $# in +++ destdir_=/home/berny/coreutils/tests +++ template_=gt-stat-free-color.XXXX +++ MAX_TRIES_=4 +++ case $destdir_ in +++ case $template_ in ++++ unset TMPDIR ++++ mktemp -d -t -p /home/berny/coreutils/tests gt-stat-free-color.XXXX +++ d=/home/berny/coreutils/tests/gt-stat-free-color.07ux +++ case $d in +++ test -d /home/berny/coreutils/tests/gt-stat-free-color.07ux ++++ ls -dgo /home/berny/coreutils/tests/gt-stat-free-color.07ux ++++ tr S - +++ perms='drwx------ 2 4096 Jun 21 09:24 /home/berny/coreutils/tests/gt-stat-free-color.07ux' +++ case $perms in +++ test 0 = 0 +++ echo /home/berny/coreutils/tests/gt-stat-free-color.07ux +++ return ++ test_dir_=/home/berny/coreutils/tests/gt-stat-free-color.07ux ++ cd /home/berny/coreutils/tests/gt-stat-free-color.07ux ++ gl_init_sh_nl_=' ' ++ IFS=' ' ++ for sig_ in 1 2 3 13 15 +++ expr 1 + 128 ++ eval 'trap '\''Exit 129'\'' 1' +++ trap 'Exit 129' 1 ++ for sig_ in 1 2 3 13 15 +++ expr 2 + 128 ++ eval 'trap '\''Exit 130'\'' 2' +++ trap 'Exit 130' 2 ++ for sig_ in 1 2 3 13 15 +++ expr 3 + 128 ++ eval 'trap '\''Exit 131'\'' 3' +++ trap 'Exit 131' 3 ++ for sig_ in 1 2 3 13 15 +++ expr 13 + 128 ++ eval 'trap '\''Exit 141'\'' 13' +++ trap 'Exit 141' 13 ++ for sig_ in 1 2 3 13 15 +++ expr 15 + 128 ++ eval 'trap '\''Exit 143'\'' 15' +++ trap 'Exit 143' 15 ++ trap remove_tmp_ 0 + path_prepend_ ../src + test 1 '!=' 0 + path_dir_=../src + case $path_dir_ in ++ cd /home/berny/coreutils/tests/../src ++ echo /home/berny/coreutils/src + abs_path_dir_=/home/berny/coreutils/src + case $abs_path_dir_ in + PATH=/home/berny/coreutils/src:/home/berny/coreutils/src:/usr/lib64/mpi/gcc/openmpi/bin:/home/berny/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/usr/lib64/jvm/jre/bin + create_exe_shims_ /home/berny/coreutils/src + case $EXEEXT in + return 0 + shift + test 0 '!=' 0 + export PATH + print_ver_ ls + test yes = yes + local i + for i in '$*' + env ls --version ls (GNU coreutils) 8.12.99-18bd Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie. + require_strace_ stat + test 1 = 1 + strace -V + strace -qe stat echo + require_dirent_d_type_ + python + python /home/berny/coreutils/tests/d_type-check + for i in 1 2 3 + ln -s nowhere dangle-1 + for i in 1 2 3 + ln -s nowhere dangle-2 + for i in 1 2 3 + ln -s nowhere dangle-3 + cat ++ dircolors -b color-without-stat + eval 'LS_COLORS='\''rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=00:su=00:sg=00:ca=00:tw=00:ow=00:st=00:ex=00:mh=00:'\'';' export LS_COLORS ++ LS_COLORS='rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=00:su=00:sg=00:ca=00:tw=00:ow=00:st=00:ex=00:mh=00:' ++ export LS_COLORS + strace -o log -e stat,lstat,stat64,lstat64 ls --color=always . color-without-stat dangle-1 dangle-2 dangle-3 log ++ wc -l + n_lines=5 + case $n_lines in + fail=1 + Exit 1 + set +e + exit 1 + exit 1 + remove_tmp_ + __st=1 + cleanup_ + : + cd /home/berny/coreutils/tests + chmod -R u+rwx /home/berny/coreutils/tests/gt-stat-free-color.07ux + rm -rf /home/berny/coreutils/tests/gt-stat-free-color.07ux + exit 1 How can I help? Have a nice day, Berny
[Message part 3 (message/rfc822, inline)]
From: Jim Meyering <jim <at> meyering.net> To: Bernhard Voelker <mail <at> bernhard-voelker.de> Cc: 8909-done <at> debbugs.gnu.org Subject: Re: bug#8909: tests/ls/stat-free-color: fails on OpenSuSE 11.4 Date: Wed, 22 Jun 2011 16:09:54 +0200Bernhard Voelker wrote: > On 06/21/2011 04:16 PM, Jim Meyering wrote: >> Bernhard Voelker wrote: >>> On 06/21/2011 03:41 PM, Jim Meyering wrote: >>>> It might be useful to see the entire strace output, too. >>>> To get that, remove the "-e stat,lstat,stat64,lstat64" argument >>>> from the strace invocation, and rerun the test. >>> >>> The output of both runs is attached. >>> stat("/usr/lib64/mpi/gcc/openmpi/lib64") and friends is the culprit. >> >> Thanks. >> >>> I can't remember to have anything un-OpenSuSE-11.4-like in my toolchain. >>> >>> To me it seems that the test should count the difference of the >>> number of stat,lstat,stat64,lstat64 calls when run >>> a) as a dummy: ls --color=always --help >>> and >>> b) for ".": ls --color=always . >> >> That would be more robust. >> Do you feel like writing the patch? > > Attached try #1 and the log. > > I'm not sure about x-platform calculation, but I guess > n_lines=$(expr $n_lines - $n_lines_help) > is okay - actually I saw it somewhere else in tests/. > > Have a nice day, > Berny > >>From 3a6e0abab8eaa92922ce4cb1cfdfda278ccde8a6 Mon Sep 17 00:00:00 2001 > From: Bernhard Voelker <mail <at> bernhard-voelker.de> > Date: Tue, 21 Jun 2011 16:26:50 +0200 > Subject: [PATCH] tests: ls/stat-free-color: count only the number of stat calls compared to --help > > * tests/ls/stat-free-color: The system may do additional stat calls upon loading > (seen on OpenSuSE-11.4). Count only the number of stat calls compared to --help. > --- > tests/ls/stat-free-color | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/tests/ls/stat-free-color b/tests/ls/stat-free-color > index b1c4744..03ef6e1 100755 > --- a/tests/ls/stat-free-color > +++ b/tests/ls/stat-free-color > @@ -49,9 +49,15 @@ MULTIHARDLINK 00 > EOF > eval $(dircolors -b color-without-stat) > > +# The system may do additional *stat*()s upon loading. > +# Count the difference compared to a dummy "--help" call. > +strace -o log -e stat,lstat,stat64,lstat64 ls --color=always --help >/dev/null 2>&1 || fail=1 > +n_lines_help=$(wc -l < log) > strace -o log -e stat,lstat,stat64,lstat64 ls --color=always . || fail=1 > n_lines=$(wc -l < log) > > +n_lines=$(expr $n_lines - $n_lines_help) > + > # Expect one or two stat calls. > case $n_lines in > 1|2) ;; Thank you. I've made some small adjustments including file name and variable name changes. Also, I've tightened up the test to expect exactly one stat-like call: (Since I've changed your commit, I'll wait for an ACK before pushing it) And I've marked this issue as "done". From 376b19410eb57f36f711750ca75ed30dc1ebddce Mon Sep 17 00:00:00 2001 From: Bernhard Voelker <mail <at> bernhard-voelker.de> Date: Tue, 21 Jun 2011 16:26:50 +0200 Subject: [PATCH] tests: stat-free-color: do not count stat calls before main * tests/ls/stat-free-color: The system may perform additional stat calls upon loading (seen on OpenSuSE-11.4). Count only the number of stat calls compared to --help. This also reduces back to "1" the number of expected calls, effectively reverting part of 2011-06-01 commit, ccf2d9a4. --- tests/ls/stat-free-color | 15 ++++++++++++--- 1 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/ls/stat-free-color b/tests/ls/stat-free-color index b1c4744..1288560 100755 --- a/tests/ls/stat-free-color +++ b/tests/ls/stat-free-color @@ -49,13 +49,22 @@ MULTIHARDLINK 00 EOF eval $(dircolors -b color-without-stat) +# The system may perform additional stat-like calls before main. +# To avoid counting those, first get a baseline count by running +# ls with only the --help option. Then, compare that with the +# invocation under test. +strace -o log-help -e stat,lstat,stat64,lstat64 ls --help >/dev/null || fail=1 +n_lines_help=$(wc -l < log-help) + strace -o log -e stat,lstat,stat64,lstat64 ls --color=always . || fail=1 n_lines=$(wc -l < log) +n_stat=$(expr $n_lines - $n_lines_help) + # Expect one or two stat calls. -case $n_lines in - 1|2) ;; - *) fail=1 ;; +case $n_stat in + 1) ;; + *) fail=1; head -n30 log* ;; esac Exit $fail -- 1.7.6.rc2.302.gc2115
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.