From: Nathan Sidwell Date: Fri, 9 Jun 2006 20:53:31 +0000 (+0000) Subject: gdb/testsuite/ X-Git-Tag: gdb-csl-sourcerygxx-4_1-8~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c1304ecafc6d7a253f608650b95521ec18a12bbf;p=thirdparty%2Fbinutils-gdb.git gdb/testsuite/ * gdb.base/recurse.exp: Add gdb,hardware_watchpoint target info. Adjust testing to cope with a single watchpoint. * gdb.base/watchpoint.exp: Adjust expected string. --- diff --git a/ChangeLog.csl b/ChangeLog.csl index dfc9048f318..bf3c87b7f03 100644 --- a/ChangeLog.csl +++ b/ChangeLog.csl @@ -1,5 +1,10 @@ 2006-06-09 Nathan Sidwell + gdb/testsuite/ + * gdb.base/recurse.exp: Add gdb,hardware_watchpoint target + info. Adjust testing to cope with a single watchpoint. + * gdb.base/watchpoint.exp: Adjust expected string. + gdb/testsuite/ * gdb.base/cursal.exp: Run to main before setting listing size. diff --git a/gdb/testsuite/gdb.base/recurse.exp b/gdb/testsuite/gdb.base/recurse.exp index bd1ecee60d9..3cd76d551c5 100644 --- a/gdb/testsuite/gdb.base/recurse.exp +++ b/gdb/testsuite/gdb.base/recurse.exp @@ -47,6 +47,10 @@ proc recurse_tests {} { if [target_info exists gdb,no_hardware_watchpoints] { gdb_test "set can-use-hw-watchpoints 0" "" "" } + set nwatch 99 + if [target_info exists gdb,hardware_watchpoints] { + set nwatch [target_info gdb,hardware_watchpoints] + } if [runto recurse] then { # First we need to step over the assignment of b, so it has a known @@ -78,14 +82,17 @@ proc recurse_tests {} { # First we need to step over the assignment of b, so it has a known # value. gdb_test "next" "if \\(a == 1\\)" "next over b = 0 in second instance" - gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ - "set second instance watchpoint" - # Continue until initial set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 5.*"\ - "continue to second instance watchpoint, first time"] then { - gdb_suppress_tests; + if { $nwatch > 1 } { + gdb_test "watch b" ".*\[Ww\]atchpoint \[0-9]*: b" \ + "set second instance watchpoint" + + # Continue until initial set of b (second instance). + if [gdb_test "continue" \ + "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 0.*New value = 5.*"\ + "continue to second instance watchpoint, first time"] then { + gdb_suppress_tests; + } } # Continue inward for a few iterations @@ -98,31 +105,33 @@ proc recurse_tests {} { gdb_test "continue" "Breakpoint.* recurse \\(a=1\\).*" \ "continue to recurse (a = 1)" - # Continue until second set of b (second instance). - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 5.*New value = 120.*return.*" \ - "continue to second instance watchpoint, second time"] then { - gdb_suppress_tests; - } - - # Continue again. We should have a watchpoint go out of scope now - if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*deleted.*recurse \\(a=6\\) .*" \ - "second instance watchpoint deleted when leaving scope"] then { - gdb_suppress_tests; + if { $nwatch > 1 } { + # Continue until second set of b (second instance). + if [gdb_test "continue" \ + "Continuing.*\[Ww\]atchpoint.*: b.*Old value = 5.*New value = 120.*return.*" \ + "continue to second instance watchpoint, second time"] then { + gdb_suppress_tests; + } + + # Continue again. We should have a watchpoint go out of scope now + if [gdb_test "continue" \ + "Continuing.*\[Ww\]atchpoint.*deleted.*recurse \\(a=6\\) .*" \ + "second instance watchpoint deleted when leaving scope"] then { + gdb_suppress_tests; + } } - + # Continue until second set of b (first instance). # 24320 is allowed as the final value for b as that's the value # b would have on systems with 16bit integers. # # We could fix the test program to deal with this too. if [gdb_test "continue" \ - "Continuing.*\[Ww\]atchpoint.*b.*Old value = 10.*New value = \(3628800|24320\).*return.*" \ - "continue to first instance watchpoint, second time"] then { + "Continuing.*\[Ww\]atchpoint.*b.*Old value = 10.*New value = \(3628800|24320\).*return.*" \ + "continue to first instance watchpoint, second time"] then { gdb_suppress_tests } - + # Continue again. We should have a watchpoint go out of scope now. # # The former version expected the test to return to main(). diff --git a/gdb/testsuite/gdb.base/watchpoint.exp b/gdb/testsuite/gdb.base/watchpoint.exp index a69271b0aff..4e97d775fd9 100644 --- a/gdb/testsuite/gdb.base/watchpoint.exp +++ b/gdb/testsuite/gdb.base/watchpoint.exp @@ -120,7 +120,6 @@ proc initialize {} { return 0; } - return 1 } @@ -148,7 +147,7 @@ proc test_simple_watchpoint {} { gdb_run_cmd set timeout 600 gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { + -re "Breakpoint 1, .*marker1 .*$gdb_prompt $" { pass "run to marker1 in test_simple_watchpoint" } -re ".*$gdb_prompt $" { @@ -314,7 +313,7 @@ proc test_disabling_watchpoints {} { gdb_run_cmd set timeout 600 gdb_expect { - -re "Breakpoint 1, marker1 .*$gdb_prompt $" { + -re "Breakpoint 1, .*marker1 .*$gdb_prompt $" { pass "run to marker1 in test_disabling_watchpoints" } -re ".*$gdb_prompt $" {