mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-30 21:44:19 +08:00
Improve hand-call-in-threads.exp failure handling.
2015-09-08 Sandra Loosemore <sandra@codesourcery.com> gdb/testsuite/ * gdb.threads/hand-call-in-threads.exp: Make sure the thread command actually switches threads. Give up on remaining tests if target fails to stop at breakpoint.
This commit is contained in:
parent
a79762eef0
commit
c0fa8fbd1c
@ -1,3 +1,9 @@
|
||||
2015-09-08 Sandra Loosemore <sandra@codesourcery.com>
|
||||
|
||||
* gdb.threads/hand-call-in-threads.exp: Make sure the thread
|
||||
command actually switches threads. Give up on remaining
|
||||
tests if target fails to stop at breakpoint.
|
||||
|
||||
2015-09-03 Pierre-Marie de Rodat <derodat@adacore.com>
|
||||
|
||||
* gdb.ada/funcall_char.exp: New testcase.
|
||||
|
@ -84,10 +84,25 @@ set total_nr_threads [expr $NR_THREADS + 1]
|
||||
# Thread numbering in gdb is origin-1, so begin numbering at 1.
|
||||
for { set i 1 } { $i <= $total_nr_threads } { incr i } {
|
||||
set thread_nr $i
|
||||
gdb_test "thread $thread_nr" ".*" \
|
||||
gdb_test "thread $thread_nr" \
|
||||
".*Switching to thread $thread_nr.*" \
|
||||
"prepare to make hand call, thread $thread_nr"
|
||||
gdb_test "call hand_call()" "Breakpoint 3, .*" \
|
||||
"hand call, thread $thread_nr"
|
||||
gdb_test_multiple "call hand_call()" "" {
|
||||
-re "Breakpoint 3, .*$gdb_prompt $" {
|
||||
pass "hand call, thread $thread_nr"
|
||||
}
|
||||
-re "$gdb_prompt $" {
|
||||
fail "hand call, thread $thread_nr (got gdb prompt)"
|
||||
}
|
||||
timeout {
|
||||
# If the target fails to stop at the breakpoint, it just ends
|
||||
# up in an infinite loop in hand_call(). If this happens
|
||||
# and we have lost the GDB prompt, no further tests in
|
||||
# this file will work and there is no point in continuing.
|
||||
fail "hand call, thread $thread_nr (runaway target)"
|
||||
return 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Now have each hand-called function return.
|
||||
|
Loading…
Reference in New Issue
Block a user