blob: b94eebae1274f517e3458f4b17b708931bea7c26 [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
10make_log()
11{
12 $STRACE $args > $LOG 2>&1 || {
13 cat $LOG
14 fail_ "$STRACE $args failed"
15 }
16}
17
18grep_log()
19{
20 LC_ALL=C grep -E -x -e "$*" $LOG > /dev/null || {
21 cat $LOG
22 fail_ "unexpected output from $STRACE $args"
23 }
24}
25
26args='-c sleep 1'
27make_log
28grep nanosleep $LOG > /dev/null ||
29 skip_ 'sleep does not use nanosleep'
30grep_log ' *[^ ]+ +0\.0[^n]*nanosleep'
31
32args='-c -enanosleep sleep 1'
33make_log
34grep_log ' *[^ ]+ +0\.0[^n]*nanosleep'
35
36args='-cw sleep 1'
37make_log
Dmitry V. Levin6e7ba0d2014-06-05 14:53:06 +000038grep_log ' *[^ ]+ +(1\.0|0\.99)[^n]*nanosleep'
Dmitry V. Levin772e32b2014-05-29 21:14:14 +000039
40args='-cw -enanosleep sleep 1'
41make_log
Dmitry V. Levin6e7ba0d2014-06-05 14:53:06 +000042grep_log '100\.00 +(1\.0|0\.99)[^n]*nanosleep'
Dmitry V. Levin772e32b2014-05-29 21:14:14 +000043
44exit 0