This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[09/10] watchpoint.exp: Factor out 'forced no-hw watchpoints' tests into their own proc.


2012-01-26  Pedro Alves  <palves@redhat.com>

	* gdb.base/watchpoint.exp (test_no_hw_watchpoints): New, factored
	out from the top level.
	(top level): Call it instead.
---

 gdb/testsuite/gdb.base/watchpoint.exp |   76 +++++++++++++++++----------------
 1 files changed, 40 insertions(+), 36 deletions(-)

diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp
index 697f46e..b1c6c94 100644
--- a/gdb/testsuite/gdb.base/watchpoint.exp
+++ b/gdb/testsuite/gdb.base/watchpoint.exp
@@ -766,7 +766,45 @@ proc test_inaccessible_watchpoint {} {
 	gdb_test_no_output "delete \$global_ptr_ptr_breakpoint_number"
     }
 }
-
+
+proc test_no_hw_watchpoints {} {
+    maybe_clean_restart
+
+    # Verify that a user can force GDB to use "slow" watchpoints.
+    # (This proves rather little on kernels that don't support
+    # fast watchpoints, but still...)
+    #
+    if ![runto_main] then { fail "watch tests suppressed" }
+
+    gdb_test_no_output "set can-use-hw-watchpoints 0" "disable fast watches"
+
+    gdb_test "show can-use-hw-watchpoints" \
+	"Debugger's willingness to use watchpoint hardware is 0." \
+	"show disable fast watches"
+
+    gdb_test "watch ival3 if  count > 1" \
+	"Watchpoint \[0-9\]*: ival3.*" \
+	"set slow conditional watch"
+
+    gdb_test "continue" \
+	"Watchpoint \[0-9\]*: ival3.*Old value = 1.*New value = 2.*" \
+	"trigger slow conditional watch"
+
+    gdb_test_no_output "delete \$bpnum" "delete watch ival3"
+
+    # We've explicitly disabled hardware watches.  Verify that GDB
+    # refrains from using them.
+    #
+    gdb_test "rwatch ival3" \
+	"Expression cannot be implemented with read/access watchpoint..*" \
+	"rwatch disallowed when can-set-hw-watchpoints cleared"
+
+    # Re-enable hardware watchpoints if necessary.
+    if ![target_info exists gdb,no_hardware_watchpoints] {
+        gdb_test_no_output "set can-use-hw-watchpoints 1" ""
+    }
+}
+
 proc test_watchpoint_in_big_blob {} {
     global gdb_prompt

@@ -845,41 +883,7 @@ if [initialize] then {

     test_inaccessible_watchpoint

-    maybe_clean_restart
-
-    # Verify that a user can force GDB to use "slow" watchpoints.
-    # (This proves rather little on kernels that don't support
-    # fast watchpoints, but still...)
-    #
-    if ![runto_main] then { fail "watch tests suppressed" }
-
-    gdb_test_no_output "set can-use-hw-watchpoints 0" "disable fast watches"
-
-    gdb_test "show can-use-hw-watchpoints" \
-	"Debugger's willingness to use watchpoint hardware is 0." \
-	"show disable fast watches"
-
-    gdb_test "watch ival3 if  count > 1" \
-	"Watchpoint \[0-9\]*: ival3.*" \
-	"set slow conditional watch"
-
-    gdb_test "continue" \
-	"Watchpoint \[0-9\]*: ival3.*Old value = 1.*New value = 2.*" \
-	"trigger slow conditional watch"
-
-    gdb_test_no_output "delete \$bpnum" "delete watch ival3"
-
-    # We've explicitly disabled hardware watches.  Verify that GDB
-    # refrains from using them.
-    #
-    gdb_test "rwatch ival3" \
-	"Expression cannot be implemented with read/access watchpoint..*" \
-	"rwatch disallowed when can-set-hw-watchpoints cleared"
-
-    # Re-enable hardware watchpoints if necessary.
-    if ![target_info exists gdb,no_hardware_watchpoints] {
-        gdb_test_no_output "set can-use-hw-watchpoints 1" ""
-    }
+    test_no_hw_watchpoints

     test_watchpoint_and_breakpoint


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]