From 5509918fe41a6057f55bed6038c847026cb47a99 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Fri, 14 Sep 2007 17:21:29 +0000 Subject: [PATCH] [mti-fix-scope] * gdb.mi/mi-watch.exp (test_watchpoint_all): New function. Move all the tests here and run them twice, once using software watchpoints and once using hardware watchpoints. * gdb.mi/mi2-watch.exp (test_watchpoint_all): Likewise. --- gdb/testsuite/ChangeLog | 8 +++++ gdb/testsuite/gdb.mi/mi-watch.exp | 50 +++++++++++++++++++++++------- gdb/testsuite/gdb.mi/mi2-watch.exp | 50 +++++++++++++++++++++++------- 3 files changed, 86 insertions(+), 22 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index ab73ca5bb3c..7ae23251edf 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2007-09-14 Maciej W. Rozycki + + [mti-fix-scope] + * gdb.mi/mi-watch.exp (test_watchpoint_all): New function. + Move all the tests here and run them twice, once using software + watchpoints and once using hardware watchpoints. + * gdb.mi/mi2-watch.exp (test_watchpoint_all): Likewise. + 2007-09-12 Daniel Jacobowitz * gdb.base/solib-weak.exp (do_test): Adjust the file names for each diff --git a/gdb/testsuite/gdb.mi/mi-watch.exp b/gdb/testsuite/gdb.mi/mi-watch.exp index f9a47233d10..0f23b314775 100644 --- a/gdb/testsuite/gdb.mi/mi-watch.exp +++ b/gdb/testsuite/gdb.mi/mi-watch.exp @@ -41,10 +41,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb return -1 } -mi_delete_breakpoints -mi_gdb_reinitialize_dir $srcdir/$subdir -mi_gdb_load ${binfile} - proc test_watchpoint_creation_and_listing {} { global mi_gdb_prompt global srcfile @@ -167,16 +163,48 @@ proc test_watchpoint_triggering {} { } } -# Disable hardware watchpoints if necessary. +proc test_watchpoint_all {type} { + global pf_prefix + upvar srcdir srcdir + upvar subdir subdir + upvar binfile binfile + + set old_prefix $pf_prefix + lappend pf_prefix "$type:" + + mi_delete_breakpoints + mi_gdb_reinitialize_dir $srcdir/$subdir + mi_gdb_load ${binfile} + + mi_runto callee4 + test_watchpoint_creation_and_listing + #test_rwatch_creation_and_listing + #test_awatch_creation_and_listing + test_watchpoint_triggering + + set pf_prefix $old_prefix +} + +# Run the tests twice, once using software watchpoints... +mi_gdb_test "567-gdb-set can-use-hw-watchpoints 0" \ + "567\\^done" \ + "hw watchpoints toggle (1)" +test_watchpoint_all sw + +mi_gdb_exit + +# ... and unless requested otherwise... if [target_info exists gdb,no_hardware_watchpoints] { - mi_gdb_test "-gdb-set can-use-hw-watchpoints 0" "\\^done" "" + return 0 } -mi_runto callee4 -test_watchpoint_creation_and_listing -#test_rwatch_creation_and_listing -#test_awatch_creation_and_listing -test_watchpoint_triggering +mi_gdb_start + +# ... once using hardware watchpoints (if available). +mi_gdb_test "890-gdb-set can-use-hw-watchpoints 1" \ + "890\\^done" \ + "hw watchpoints toggle (2)" +test_watchpoint_all hw mi_gdb_exit return 0 diff --git a/gdb/testsuite/gdb.mi/mi2-watch.exp b/gdb/testsuite/gdb.mi/mi2-watch.exp index f09aa971fdb..938e6d67938 100644 --- a/gdb/testsuite/gdb.mi/mi2-watch.exp +++ b/gdb/testsuite/gdb.mi/mi2-watch.exp @@ -41,10 +41,6 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb return -1 } -mi_delete_breakpoints -mi_gdb_reinitialize_dir $srcdir/$subdir -mi_gdb_load ${binfile} - proc test_watchpoint_creation_and_listing {} { global mi_gdb_prompt global srcfile @@ -167,16 +163,48 @@ proc test_watchpoint_triggering {} { } } -# Disable hardware watchpoints if necessary. +proc test_watchpoint_all {type} { + global pf_prefix + upvar srcdir srcdir + upvar subdir subdir + upvar binfile binfile + + set old_prefix $pf_prefix + lappend pf_prefix "$type:" + + mi_delete_breakpoints + mi_gdb_reinitialize_dir $srcdir/$subdir + mi_gdb_load ${binfile} + + mi_runto callee4 + test_watchpoint_creation_and_listing + #test_rwatch_creation_and_listing + #test_awatch_creation_and_listing + test_watchpoint_triggering + + set pf_prefix $old_prefix +} + +# Run the tests twice, once using software watchpoints... +mi_gdb_test "567-gdb-set can-use-hw-watchpoints 0" \ + "567\\^done" \ + "hw watchpoints toggle (1)" +test_watchpoint_all sw + +mi_gdb_exit + +# ... and unless requested otherwise... if [target_info exists gdb,no_hardware_watchpoints] { - mi_gdb_test "-gdb-set can-use-hw-watchpoints 0" "\\^done" "" + return 0 } -mi_runto callee4 -test_watchpoint_creation_and_listing -#test_rwatch_creation_and_listing -#test_awatch_creation_and_listing -test_watchpoint_triggering +mi_gdb_start + +# ... once using hardware watchpoints (if available). +mi_gdb_test "890-gdb-set can-use-hw-watchpoints 1" \ + "890\\^done" \ + "hw watchpoints toggle (2)" +test_watchpoint_all hw mi_gdb_exit return 0 -- 2.30.2