strace/tests/strace-t.test
Dmitry V. Levin 5112bb0083 tests: robustify strace-t.test
If strace -t is running too long, it might happen that time stamps
before and after its invocation differ for more than a second.
Adjust expected output to handle this rare but possible case.

* tests/strace-t.test: Allow any time stamp between start and finish
of strace invocation.
2017-07-21 02:49:24 +00:00

30 lines
625 B
Bash
Executable File

#!/bin/sh
# Check -t option.
. "${srcdir=.}/init.sh"
run_prog_skip_if_failed date +%s > "$LOG"
run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null
run_prog ../sleep 0
s0="$(date +%s)"
run_strace -t -eexecve $args
s1="$(date +%s)"
s="$s0"
t_reg=
while [ "$s" -le "$s1" ]; do
t="$(date +%T --date "@$s")"
[ -z "$t_reg" ] && t_reg="$t" || t_reg="$t_reg|$t"
s=$(($s + 1))
done
t_reg="($t_reg)"
cat > "$EXP" << __EOF__
$t_reg execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0
$t_reg \\+\\+\\+ exited with 0 \\+\\+\\+
__EOF__
match_grep "$LOG" "$EXP"