summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-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