gdb/gdb-testsuite-add-missing-wait-in-gdb.base-signals-state-child.exp.patch
Tom de Vries 1444fcfff3 Accepting request 932918 from home:tomdevries:branches:devel:gcc-gdb-source-highlight
- Patches added (backport from master):
  * gdb-testsuite-add-missing-wait-in-gdb.base-signals-state-child.exp.patch
- Add BuildRequire libsource-highlight.

OBS-URL: https://build.opensuse.org/request/show/932918
OBS-URL: https://build.opensuse.org/package/show/devel:gcc/gdb?expand=0&rev=306
2021-11-22 08:48:35 +00:00

60 lines
2.0 KiB
Diff

[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.
---
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 0984033811b..81589375f22 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
@@ -86,6 +88,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
@@ -95,4 +103,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