[PATCH] [gdb/testsuite] Add missing wait in gdb.base/signals-state-child.exp
Tom de Vries
tdevries@suse.de
Thu Nov 18 14:54:09 GMT 2021
On 11/16/21 12:14 AM, Tom de Vries via Gdb-patches wrote:
> 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.
Committed.
Thanks,
- Tom
> ---
> gdb/testsuite/gdb.base/signals-state-child.exp | 14 +++++++++++---
> 1 file 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 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
>
> base-commit: 636ae5bb4b6b801f8bda05041f600cbf3945c147
>
More information about the Gdb-patches
mailing list