From 376b19410eb57f36f711750ca75ed30dc1ebddce Mon Sep 17 00:00:00 2001 From: Bernhard Voelker Date: Tue, 21 Jun 2011 16:26:50 +0200 Subject: 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 file changed, 12 insertions(+), 3 deletions(-) (limited to 'tests/ls') diff --git a/tests/ls/stat-free-color b/tests/ls/stat-free-color index b1c474428..1288560ff 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 -- cgit v1.2.3-54-g00ecf