blob: 9c53fe24bcc5db03839c56deb553371868d757df [file] [log] [blame]
Dmitry V. Levin772e32b2014-05-29 21:14:14 +00001#!/bin/sh
2
3# Check whether -c and -w options work.
4
5. "${srcdir=.}/init.sh"
6
Dmitry V. Levin772e32b2014-05-29 21:14:14 +00007check_prog grep
Dmitry V. Levin3ec5c042014-09-23 01:51:05 +00008check_prog sleep
Dmitry V. Levin772e32b2014-05-29 21:14:14 +00009
Dmitry V. Levin772e32b2014-05-29 21:14:14 +000010grep_log()
11{
Dmitry V. Levin8f546642015-03-17 17:07:57 +000012 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"
Dmitry V. Levin772e32b2014-05-29 21:14:14 +000023 }
24}
25
Dmitry V. Levin8f546642015-03-17 17:07:57 +000026grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c sleep 1
27grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep sleep 1
28grep_log ' *[^ ]+ +(1\.0|0\.99)[^n]*nanosleep' -cw sleep 1
29grep_log '100\.00 +(1\.0|0\.99)[^n]*nanosleep' -cw -enanosleep sleep 1
Dmitry V. Levin772e32b2014-05-29 21:14:14 +000030
31exit 0