From: Tom de Vries Date: Thu, 18 Nov 2021 14:52:07 +0000 (+0100) Subject: [gdb/testsuite] Add missing wait in gdb.base/signals-state-child.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a0cfd0ca0ea26f157957c42b359b750c6f53d4bf;p=binutils-gdb.git [gdb/testsuite] Add missing wait in gdb.base/signals-state-child.exp On OBS I ran into: ... (gdb) shell diff -s outputs/gdb.base/signals-state-child/standalone.txt \ outputs/gdb.base/signals-state-child/gdb.txt^M diff: outputs/gdb.base/signals-state-child/standalone.txt: \ No such file or directory^M (gdb) FAIL: gdb.base/signals-state-child.exp: signals states are identical ... I managed to reproduce this by adding "sleep (5)" at the start of main in signals-state-child.c. Fix this by waiting on the result of the spawned command. Tested on x86_64-linux. --- diff --git a/gdb/testsuite/gdb.base/signals-state-child.exp b/gdb/testsuite/gdb.base/signals-state-child.exp index ce143b1509a..733d7cebd5a 100644 --- a/gdb/testsuite/gdb.base/signals-state-child.exp +++ b/gdb/testsuite/gdb.base/signals-state-child.exp @@ -69,9 +69,11 @@ set res [remote_spawn target "$binfile-standalone"] if { $res < 0 || $res == "" } { untested "spawning $binfile-standalone failed" return 1 -} else { - pass "collect standalone signals state" } + +set wait_status [remote_wait target 60] +set have_standalone [expr [lindex $wait_status 0] == 0] +gdb_assert { $have_standalone } "collect standalone signals state" remote_close target # Now run the program through gdb, and dump its initial signal actions @@ -85,6 +87,12 @@ if { ! [ runto_main ] } then { gdb_continue_to_end "collect signals state under gdb" +set test "signals states are identical" +if { ! $have_standalone } { + untested $test + return -1 +} + if {!$purely_local} { # Copy file from target to host through build. remote_download host [remote_upload target gdb.txt] gdb.txt @@ -94,4 +102,4 @@ if {!$purely_local} { # Diff the .txt files. They should be identical. gdb_test "shell diff -s $standalone_txt $gdb_txt" \ "Files .* are identical.*" \ - "signals states are identical" + $test