mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 04:00:07 +08:00
[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.
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user