From: Enze Li Date: Fri, 24 Jun 2022 13:57:54 +0000 (+0800) Subject: gdb/testsuite: add a clear test to py-breakpoint.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ea892bdc4b6da5782c6ea6273aff499fb5fd5e6f;p=binutils-gdb.git gdb/testsuite: add a clear test to py-breakpoint.exp This patch adds a test case to try to clear an internal python breakpoint using the clear command. This was suggested by Pedro during a code review of the following commit. commit a5c69b1e49bae4d0dcb20f324cebb310c63495c6 Date: Sun Apr 17 15:09:46 2022 +0800 gdb: fix using clear command to delete non-user breakpoints(PR cli/7161) Tested on x86_64 openSUSE Tumbleweed. --- diff --git a/gdb/testsuite/gdb.python/py-breakpoint.exp b/gdb/testsuite/gdb.python/py-breakpoint.exp index 58b1af3a0da..583408e10af 100644 --- a/gdb/testsuite/gdb.python/py-breakpoint.exp +++ b/gdb/testsuite/gdb.python/py-breakpoint.exp @@ -309,6 +309,26 @@ proc_with_prefix test_bkpt_internal { } { if ![runto_main] then { return 0 } + delete_breakpoints + gdb_py_test_silent_cmd "python bp1 = gdb.Breakpoint (\"main\", type=gdb.BP_BREAKPOINT, wp_class=gdb.WP_WRITE, internal=True )" \ + "Set internal breakpoint" 0 + + set bp_num [get_python_valueof bp1.number "*DEFAULT*"] + set bp_addr [gdb_get_bp_addr $bp_num] + + gdb_test "maint info break $bp_num" \ + "$bp_num.*$bp_addr.*" \ + "maint info breakpoint \$bp_num" + + gdb_test "python gdb.execute(\'clear *$bp_addr\')" \ + ".*No breakpoint at \\*$bp_addr.*" \ + "clear internal breakpoint" + + # Check again, make sure that GDB really didn't delete the internal breakpoint. + gdb_test "maint info break $bp_num" \ + "$bp_num.*$bp_addr.*" \ + "maint info breakpoint \$bp_num after clear" + delete_breakpoints gdb_py_test_silent_cmd "python wp1 = gdb.Breakpoint (\"result\", type=gdb.BP_WATCHPOINT, wp_class=gdb.WP_WRITE, internal=True )" \ "Set watchpoint" 0