mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
[gdb/testsuite] Fix gdb.threads/thread-specific-bp.exp
On OBS I ran into a failure in test-case gdb.threads/thread-specific-bp.exp: ... (gdb) PASS: gdb.threads/thread-specific-bp.exp: non-stop: continue to end info breakpoint^M Num Type Disp Enb Address What^M 1 breakpoint keep y 0x0000555555555167 in main at $src:36^M breakpoint already hit 1 time^M 2 breakpoint keep y 0x0000555555555151 in start at $src:23^M breakpoint already hit 1 time^M 3 breakpoint keep y 0x0000555555555167 in main at $src:36 thread 2^M stop only in thread 2^M 4 breakpoint keep y 0x000055555555515c in end at $src:29^M breakpoint already hit 1 time^M (gdb) [Thread 0x7ffff7db1640 (LWP 19984) exited]^M Thread-specific breakpoint 3 deleted - thread 2 no longer in the thread list.^M FAIL: gdb.threads/thread-specific-bp.exp: non-stop: \ thread-specific breakpoint was deleted (timeout) ... Fix this by waiting for the "[Thread 0x7ffff7db1640 (LWP 19984) exited]" message before issuing the "info breakpoint command". Tested on x86_64-linux.
This commit is contained in:
parent
5ee59b4bf2
commit
2e5843d87c
@ -87,9 +87,24 @@ proc check_thread_specific_breakpoint {mode} {
|
||||
set cmd "continue"
|
||||
}
|
||||
set test "continue to end"
|
||||
gdb_test_multiple "$cmd" $test {
|
||||
-re "Breakpoint .* end .* at .*\r\n$gdb_prompt " {
|
||||
pass $test
|
||||
set thread_exited 0
|
||||
set prompt 0
|
||||
gdb_test_multiple "$cmd" $test -lbl {
|
||||
-re "(^|\r\n)\\\[Thread \[^\r\n\]* exited](?=\r\n)" {
|
||||
if { $prompt } {
|
||||
pass $gdb_test_name
|
||||
} else {
|
||||
set thread_exited 1
|
||||
exp_continue
|
||||
}
|
||||
}
|
||||
-re "\r\n$gdb_prompt " {
|
||||
if { $thread_exited } {
|
||||
pass $gdb_test_name
|
||||
} else {
|
||||
set prompt 1
|
||||
exp_continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user