[gdb/testsuite] Fix another timeout in gdb.base/bg-execution-repeat.exp

Message ID 20250410030929.15869-1-tdevries@suse.de
State New
Headers
Series [gdb/testsuite] Fix another timeout in gdb.base/bg-execution-repeat.exp |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Build passed
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Build passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Test passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Test passed

Commit Message

Tom de Vries April 10, 2025, 3:09 a.m. UTC
  With a gdb 16.2 based package, I ran into:
...
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: input still accepted
interrupt
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: interrupt
set var do_wait=0
(gdb) PASS: gdb.base/bg-execution-repeat.exp: c 1&: set var do_wait=0
continue&
Cannot execute this command while the selected thread is running.
(gdb)
Program received signal SIGINT, Interrupt.
PASS: gdb.base/bg-execution-repeat.exp: c 1&: continue&
0x00007ffff7cf1503 in clock_nanosleep@GLIBC_2.2.5 () from /lib64/libc.so.6
FAIL: gdb.base/bg-execution-repeat.exp: c 1&: breakpoint hit 2 (timeout)
...

Fix this by waiting for "Program received signal SIGINT, Interrupt" after
issuing the interrupt command.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/bg-execution-repeat.exp | 11 +++++++++++
 1 file changed, 11 insertions(+)


base-commit: 6fe4e5bd10b996428a557e036c07c5839a8e0a49
  

Patch

diff --git a/gdb/testsuite/gdb.base/bg-execution-repeat.exp b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
index b1496ee7d5a..d5580fb8e34 100644
--- a/gdb/testsuite/gdb.base/bg-execution-repeat.exp
+++ b/gdb/testsuite/gdb.base/bg-execution-repeat.exp
@@ -67,6 +67,17 @@  proc test {continue_cmd} {
     # enable the "set var" command with an interrupt / continue& pair.
     gdb_test -no-prompt-anchor "interrupt"
 
+    set test "interrupt received"
+    set re [string_to_regexp "Program received signal SIGINT, Interrupt."]
+    gdb_expect {
+	-re $re {
+	    pass $test
+	}
+	timeout {
+	    fail "$test (timeout)"
+	}
+    }
+
     # Allow the breakpoint to trigger.
     gdb_test -no-prompt-anchor "set var do_wait=0"