From: Dmitry V. Levin Date: Fri, 21 Jul 2017 02:49:24 +0000 (+0000) Subject: tests: robustify strace-t.test X-Git-Tag: v4.19~226 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5112bb00836fdb789afbd2bbf05aba123b8c2396;p=strace 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. --- diff --git a/tests/strace-t.test b/tests/strace-t.test index 38070f30..73303aef 100755 --- a/tests/strace-t.test +++ b/tests/strace-t.test @@ -4,15 +4,26 @@ . "${srcdir=.}/init.sh" -run_prog_skip_if_failed date +%T > /dev/null +run_prog_skip_if_failed date +%s > "$LOG" +run_prog_skip_if_failed date +%T --date "@$(cat "$LOG")" > /dev/null run_prog ../sleep 0 -t0="$(date +%T)" +s0="$(date +%s)" run_strace -t -eexecve $args -t1="$(date +%T)" +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__ -($t0|$t1) execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0 +$t_reg execve\\("\\.\\./sleep", \\["\\.\\./sleep", "0"\\], 0x[[:xdigit:]]* /\\* [[:digit:]]* vars \\*/\\) = 0 +$t_reg \\+\\+\\+ exited with 0 \\+\\+\\+ __EOF__ match_grep "$LOG" "$EXP"