summaryrefslogtreecommitdiff
path: root/tests/ls
diff options
context:
space:
mode:
authorBernhard Voelker <mail@bernhard-voelker.de>2011-06-21 16:26:50 +0200
committerJim Meyering <meyering@redhat.com>2011-06-22 16:06:52 +0200
commit376b19410eb57f36f711750ca75ed30dc1ebddce (patch)
treeee7508ad6d71486f4934d1fe0afe4740e8be7e90 /tests/ls
parent6301c72b6f79281c13f05b80aff3cf14f4d35db8 (diff)
downloadcoreutils-376b19410eb57f36f711750ca75ed30dc1ebddce.tar.xz
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.
Diffstat (limited to 'tests/ls')
-rwxr-xr-xtests/ls/stat-free-color15
1 files changed, 12 insertions, 3 deletions
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