]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix another timeout in gdb.base/bg-execution-repeat.exp
authorTom de Vries <tdevries@suse.de>
Wed, 23 Apr 2025 17:10:22 +0000 (19:10 +0200)
committerTom de Vries <tdevries@suse.de>
Wed, 23 Apr 2025 17:10:22 +0000 (19:10 +0200)
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

index b1496ee7d5a2d18fe6ee7f108fe588be5786a3e1..d5580fb8e347e270cfa5d7d1549d413425dd4b29 100644 (file)
@@ -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"