- 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
60 lines
2.0 KiB
Diff
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
|