]> granicus.if.org Git - strace/commitdiff
tests: add a test for -c and -w options
authorDmitry V. Levin <ldv@altlinux.org>
Thu, 29 May 2014 21:14:14 +0000 (21:14 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 30 May 2014 00:20:44 +0000 (00:20 +0000)
* tests/count.test: New test.
* tests/Makefile.am (TESTS): Add it.

tests/Makefile.am
tests/count.test [new file with mode: 0755]

index c63c41f6b7dea8563955875a9dac976ee89e1d12..e65312c2d96095e1b018940b90b0ea6cfff1746e 100644 (file)
@@ -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 (executable)
index 0000000..bc7ae7c
--- /dev/null
@@ -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