]> granicus.if.org Git - strace/blob - tests/count.test
tests: factor out common shell code to functions
[strace] / tests / count.test
1 #!/bin/sh
2
3 # Check whether -c and -w options work.
4
5 . "${srcdir=.}/init.sh"
6
7 check_prog grep
8 check_prog sleep
9
10 grep_log()
11 {
12         local pattern="$1"; shift
13
14         run_strace "$@"
15
16         grep nanosleep "$LOG" > /dev/null ||
17                 framework_skip_ 'sleep does not use nanosleep'
18
19         LC_ALL=C grep -E -x -e "$pattern" "$LOG" > /dev/null || {
20                 echo "Pattern of expected output: $pattern"
21                 echo 'Actual output:'
22                 dump_log_and_fail_with "$STRACE $args output mismatch"
23         }
24 }
25
26 grep_log ' *[^ ]+ +0\.0[^n]*nanosleep'          -c sleep 1
27 grep_log ' *[^ ]+ +0\.0[^n]*nanosleep'          -c -enanosleep sleep 1
28 grep_log ' *[^ ]+ +(1\.0|0\.99)[^n]*nanosleep'  -cw sleep 1
29 grep_log '100\.00 +(1\.0|0\.99)[^n]*nanosleep'  -cw -enanosleep sleep 1
30
31 exit 0