diff options
author | Philippe Waroquiers <philippe@sourceware.org> | 2011-08-03 21:17:09 +0000 |
---|---|---|
committer | Philippe Waroquiers <philippe@sourceware.org> | 2011-08-03 21:17:09 +0000 |
commit | 934709f0f26ebeaa5266669c45f8aa3d99b996a0 (patch) | |
tree | bf05ab41a3d8bb5e68ea1207ce1f3f989bcf6755 /gdb/testsuite/gdb.base/break-always.exp | |
parent | 7c176fa823e0c2387e4e7919734afbbd12ba2556 (diff) | |
download | gdb-934709f0f26ebeaa5266669c45f8aa3d99b996a0.zip gdb-934709f0f26ebeaa5266669c45f8aa3d99b996a0.tar.gz gdb-934709f0f26ebeaa5266669c45f8aa3d99b996a0.tar.bz2 |
2011-08-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* breakpoint.c (update_global_location_list): Ensure
invariant 'first loc marked not duplicated and inserted,
following locs marked duplicated/not inserted' is respected
for multiple locations at the same address.
(unduplicated_should_be_inserted) New function.
(swap_insertion) New function.
2011-08-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/break-always.exp: Complete the test
with duplicated breakpoints and enabling/disabling them.
Diffstat (limited to 'gdb/testsuite/gdb.base/break-always.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/break-always.exp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/break-always.exp b/gdb/testsuite/gdb.base/break-always.exp index c6a46b1..ce76af7c 100644 --- a/gdb/testsuite/gdb.base/break-always.exp +++ b/gdb/testsuite/gdb.base/break-always.exp @@ -14,6 +14,8 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # Test that 'set breakpoint always-inserted 1' is not a brick +# Also verifies that breakpoint enabling/disabling works properly +# with duplicated breakpoints. if { [prepare_for_testing break-always.exp break-always break-always.c] } { return -1 @@ -29,6 +31,24 @@ gdb_test "show breakpoint always-inserted" "mode is on\." \ runto foo gdb_test "break bar" "Breakpoint 2.*" "set breakpoint on bar" +gdb_test "break bar" "Note: breakpoint 2 also set.*Breakpoint 3.*" "set 2nd breakpoint on bar" +gdb_test "break bar" "Note: breakpoints 2 and 3 also set.*Breakpoint 4.*" "set 3rd breakpoint on bar" +gdb_test "break bar" "Note: breakpoints 2, 3 and 4 also set.*Breakpoint 5.*" "set 4th breakpoint on bar" +gdb_test "info breakpoints" "keep y.*keep y.*keep y.*keep y.*keep y.*" "initial check breakpoint state" +gdb_test_no_output "disable" "initial disable all breakpoints" +gdb_test_no_output "enable" "initial enable all breakpoints" +gdb_test_no_output "disable" "re-disable all breakpoints" +gdb_test_no_output "enable 3" "enable 3.A" +gdb_test_no_output "disable 3" "disable 3.B" +gdb_test_no_output "enable 3" "enable 3.C" +gdb_test_no_output "enable 2" "enable 2.D" +gdb_test_no_output "disable 2" "disable 2.E" +gdb_test_no_output "disable 3" "disable 3.F" +gdb_test_no_output "enable 3" "enable 3.G" +gdb_test_no_output "enable 2" "enable 2.H" +gdb_test_no_output "disable 2" "disable 2.I" +gdb_test "info breakpoints" "keep n.*keep n.*keep y.*keep n.*keep n.*" "before re-enable check breakpoint state" +gdb_test_no_output "enable" "re-enable all breakpoints" gdb_continue_to_breakpoint "bar" ".*break-always.c:$bar_location.*" |