strace/tests/count.test
Dmitry V. Levin 8f54664d68 tests: factor out common shell code to functions
Factor out shell code used in several tests to common functions.

* tests/fanotify_mark.expected: New file.
* tests/ioctl.expected: New file.
* tests/net-fd.expected: New file.
* tests/net.expected: New file.
* tests/statfs.expected: New file.
* tests/sun_path.expected: New file.
* tests/uio.expected: New file.
* tests/ipc.sh: New file.
* tests/Makefile.am (EXTRA_DIST): Add them.
* tests/init.sh (dump_log_and_fail_with, run_prog,
run_prog_skip_if_failed, run_strace, run_strace_merge,
match_awk, match_diff, match_grep): New functions.
* tests/*.test: Use them.
2015-03-18 02:29:36 +00:00

32 lines
702 B
Bash
Executable File

#!/bin/sh
# Check whether -c and -w options work.
. "${srcdir=.}/init.sh"
check_prog grep
check_prog sleep
grep_log()
{
local pattern="$1"; shift
run_strace "$@"
grep nanosleep "$LOG" > /dev/null ||
framework_skip_ 'sleep does not use nanosleep'
LC_ALL=C grep -E -x -e "$pattern" "$LOG" > /dev/null || {
echo "Pattern of expected output: $pattern"
echo 'Actual output:'
dump_log_and_fail_with "$STRACE $args output mismatch"
}
}
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c sleep 1
grep_log ' *[^ ]+ +0\.0[^n]*nanosleep' -c -enanosleep sleep 1
grep_log ' *[^ ]+ +(1\.0|0\.99)[^n]*nanosleep' -cw sleep 1
grep_log '100\.00 +(1\.0|0\.99)[^n]*nanosleep' -cw -enanosleep sleep 1
exit 0