From 26b2cfeb6ba7f922ae756b4f525bf07afb6fb29a Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Tue, 10 May 2016 09:29:11 +0000 Subject: [PATCH] strace-ff.test: fix race condition * tests/strace-ff.test: Wait for completion of PR_SET_PTRACER command. --- tests/strace-ff.test | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/tests/strace-ff.test b/tests/strace-ff.test index d1e06344..2ce06f19 100755 --- a/tests/strace-ff.test +++ b/tests/strace-ff.test @@ -4,18 +4,26 @@ . "${srcdir=.}/init.sh" -rm -f "$LOG".* +run_prog_skip_if_failed \ + kill -0 $$ + +./set_ptracer_any ./sleep 1 > "$OUT" & +tracee_pid=$! -./set_ptracer_any ./sleep 1 > /dev/null & -PID=$! -run_strace -a14 -eexit_group -ff -p $PID +while ! [ -s "$OUT" ]; do + kill -0 $tracee_pid 2> /dev/null || + fail_ 'set_ptracer_any sleep failed' +done + +rm -f "$LOG".* +run_strace -a14 -eexit_group -ff -p $tracee_pid # check that output matches -match_diff "$LOG.$PID" +match_diff "$LOG.$tracee_pid" # check that no other output files have been created set -- "$LOG".* -[ "$LOG.$PID" = "$*" ] || +[ "$LOG.$tracee_pid" = "$*" ] || fail_ "too many output files: $*" -rm -f "$LOG.$PID" +rm -f "$OUT" "$LOG.$tracee_pid" -- 2.40.0