aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-11-18 15:52:07 +0100
committerTom de Vries <tdevries@suse.de>2021-11-18 15:52:07 +0100
commita0cfd0ca0ea26f157957c42b359b750c6f53d4bf (patch)
tree7aab70760b1d2b67fb3e5d67df9ae013a66d2e4b
parent7a53275579e7cec9389ccb924f5ecf69e8d89d41 (diff)
downloadgdb-a0cfd0ca0ea26f157957c42b359b750c6f53d4bf.zip
gdb-a0cfd0ca0ea26f157957c42b359b750c6f53d4bf.tar.gz
gdb-a0cfd0ca0ea26f157957c42b359b750c6f53d4bf.tar.bz2
[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.
-rw-r--r--gdb/testsuite/gdb.base/signals-state-child.exp14
1 files changed, 11 insertions, 3 deletions
diff --git a/gdb/testsuite/gdb.base/signals-state-child.exp b/gdb/testsuite/gdb.base/signals-state-child.exp
index ce143b1..733d7ce 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