mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 17:31:13 +08:00
gdb/testsuite/gdb.base/break.exp: split test_break_default
One special thing here is that the part just above this one, that sets catchpoints and verifies they are not hit, requires that we resume execution to verify that the catchpoints are indeed not hit. I guess it was previously achieved by the until command, but it doesn't happen now that the until is moved into test_break_default. Add a gdb_continue_to_end after setting the catchpoints. If any catchpoint were to be hit, it would catch the problem. Change-Id: I5d4b43da91886b1beda9f6e56b05aa04331a9c05 Approved-By: Kevin Buettner <kevinb@redhat.com>
This commit is contained in:

committed by
Simon Marchi

parent
c8a48df4f1
commit
9df9cfe23c
@ -492,6 +492,8 @@ gdb_test "catch vfork" "Catchpoint \[0-9\]+ \\(vfork\\)" \
|
|||||||
gdb_test "catch exec" "Catchpoint \[0-9\]+ \\(exec\\)" \
|
gdb_test "catch exec" "Catchpoint \[0-9\]+ \\(exec\\)" \
|
||||||
"set catch exec, never expected to trigger"
|
"set catch exec, never expected to trigger"
|
||||||
|
|
||||||
|
gdb_continue_to_end
|
||||||
|
|
||||||
# Verify that GDB responds gracefully when asked to set a breakpoint
|
# Verify that GDB responds gracefully when asked to set a breakpoint
|
||||||
# on a nonexistent source line.
|
# on a nonexistent source line.
|
||||||
#
|
#
|
||||||
@ -500,36 +502,46 @@ gdb_test "break 999" \
|
|||||||
"No line 999 in the current file." \
|
"No line 999 in the current file." \
|
||||||
"break on non-existent source line"
|
"break on non-existent source line"
|
||||||
|
|
||||||
# Run to the desired default location. If not positioned here, the
|
proc_with_prefix test_break_default {} {
|
||||||
# tests below don't work.
|
clean_restart break
|
||||||
#
|
|
||||||
gdb_test "until $bp_location1" "main .* at .*:$bp_location1.*" \
|
|
||||||
"until bp_location1"
|
|
||||||
|
|
||||||
# Verify that GDB allows one to just say "break", which is treated
|
if ![runto_main] then {
|
||||||
# as the "default" breakpoint. Note that GDB gets cute when printing
|
return
|
||||||
# the informational message about other breakpoints at the same
|
}
|
||||||
# location. We'll hit that bird with this stone too.
|
|
||||||
#
|
|
||||||
gdb_test "break" "Breakpoint \[0-9\]*.*" \
|
|
||||||
"break on default location, 1st time"
|
|
||||||
|
|
||||||
gdb_test "break" \
|
# Run to the desired default location. If not positioned here, the
|
||||||
"Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
# tests below don't work.
|
||||||
"break on default location, 2nd time"
|
#
|
||||||
|
gdb_test "until $::bp_location1" "main .* at .*:$::bp_location1.*" \
|
||||||
|
"until bp_location1"
|
||||||
|
|
||||||
gdb_test "break" \
|
# Verify that GDB allows one to just say "break", which is treated
|
||||||
"Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
# as the "default" breakpoint. Note that GDB gets cute when printing
|
||||||
"break on default location, 3rd time"
|
# the informational message about other breakpoints at the same
|
||||||
|
# location. We'll hit that bird with this stone too.
|
||||||
|
#
|
||||||
|
gdb_test "break" "Breakpoint \[0-9\]*.*" \
|
||||||
|
"break on default location, 1st time"
|
||||||
|
|
||||||
gdb_test "break" \
|
gdb_test "break" \
|
||||||
"Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
"Note: breakpoint \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
||||||
"break on default location, 4th time"
|
"break on default location, 2nd time"
|
||||||
|
|
||||||
# Check setting a breakpoint at the default location with a condition attached.
|
gdb_test "break" \
|
||||||
gdb_test "break if (1)" \
|
"Note: breakpoints \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
||||||
"Note: breakpoints \[0-9\]*, \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
"break on default location, 3rd time"
|
||||||
"break on the default location, 5th time, but with a condition"
|
|
||||||
|
gdb_test "break" \
|
||||||
|
"Note: breakpoints \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
||||||
|
"break on default location, 4th time"
|
||||||
|
|
||||||
|
# Check setting a breakpoint at the default location with a condition attached.
|
||||||
|
gdb_test "break if (1)" \
|
||||||
|
"Note: breakpoints \[0-9\]*, \[0-9\]*, \[0-9\]* and \[0-9\]* also set at .*Breakpoint \[0-9\]*.*" \
|
||||||
|
"break on the default location, 5th time, but with a condition"
|
||||||
|
}
|
||||||
|
|
||||||
|
test_break_default
|
||||||
|
|
||||||
# Verify that a "silent" breakpoint can be set, and that GDB is indeed
|
# Verify that a "silent" breakpoint can be set, and that GDB is indeed
|
||||||
# "silent" about its triggering.
|
# "silent" about its triggering.
|
||||||
|
Reference in New Issue
Block a user