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.
32 lines
702 B
Bash
Executable File
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
|