diff --git a/tests/Makefile.am b/tests/Makefile.am index c63c41f6..e65312c2 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ TESTS = \ net.test \ net-fd.test \ uio.test \ + count.test \ detach-sleeping.test \ detach-stopped.test \ detach-running.test diff --git a/tests/count.test b/tests/count.test new file mode 100755 index 00000000..bc7ae7cd --- /dev/null +++ b/tests/count.test @@ -0,0 +1,44 @@ +#!/bin/sh + +# Check whether -c and -w options work. + +. "${srcdir=.}/init.sh" + +check_prog sleep +check_prog grep + +make_log() +{ + $STRACE $args > $LOG 2>&1 || { + cat $LOG + fail_ "$STRACE $args failed" + } +} + +grep_log() +{ + LC_ALL=C grep -E -x -e "$*" $LOG > /dev/null || { + cat $LOG + fail_ "unexpected output from $STRACE $args" + } +} + +args='-c sleep 1' +make_log +grep nanosleep $LOG > /dev/null || + skip_ 'sleep does not use nanosleep' +grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' + +args='-c -enanosleep sleep 1' +make_log +grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' + +args='-cw sleep 1' +make_log +grep_log ' *[^ ]+ +1\.0[^n]*nanosleep' + +args='-cw -enanosleep sleep 1' +make_log +grep_log '100\.00 +1\.0[^n]*nanosleep' + +exit 0