Fix racy test in gdb.threads/thread-specific-bp.exp

I see the following test fail from time to time, due to the racy test
in gdb.threads/thread-specific-bp.exp.

continue -a^M
Continuing.^M
^M
Thread 1 "thread-specific" hit Breakpoint 4, end () at binutils-gdb/gdb/testsuite/gdb.threads/thread-specific-bp.c:29^M
29      }^M
(gdb) [Thread 0x40322460 (LWP 12950) 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: continue to end (timeout)

This patch changes gdb_test to gdb_test_multiple to match prompt only
instead of both prompt and anchor.

gdb/testsuite:

2017-04-05  Yao Qi  <yao.qi@linaro.org>

	* gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
	Use gdb_test_multiple, and don't match anchor.
This commit is contained in:
Yao Qi 2017-04-05 14:46:13 +01:00
parent 8dea77f025
commit 55a9897675
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2017-04-05 Yao Qi <yao.qi@linaro.org>
* gdb.threads/thread-specific-bp.exp (check_thread_specific_breakpoint):
Use gdb_test_multiple, and don't match anchor.
2017-04-05 Pedro Alves <palves@redhat.com>
* MAINTAINERS (Global Maintainers): Add Simon Marchi.

View File

@ -87,9 +87,12 @@ proc check_thread_specific_breakpoint {mode} {
} else {
set cmd "continue"
}
gdb_test "$cmd" \
"Breakpoint .* end .* at .*" \
"continue to end"
set test "continue to end"
gdb_test_multiple "$cmd" $test {
-re "Breakpoint .* end .* at .*\r\n$gdb_prompt " {
pass $test
}
}
set test "thread-specific breakpoint was deleted"
gdb_test_multiple "info breakpoint" $test {