* gdb.base/value-double-free.exp: Respect gdb,no_hardware_watchpoints.

* gdb.base/watchpoint-solib.exp: Likewise.  Update tests to handle
	software watchpoints.
	* gdb.base/watch_thread_num.exp: Likewise.
This commit is contained in:
Ulrich Weigand 2008-09-04 00:51:04 +00:00
parent 37c585d46d
commit 2992cbe020
4 changed files with 27 additions and 9 deletions

View File

@ -1,3 +1,10 @@
2008-09-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gdb.base/value-double-free.exp: Respect gdb,no_hardware_watchpoints.
* gdb.base/watchpoint-solib.exp: Likewise. Update tests to handle
software watchpoints.
* gdb.base/watch_thread_num.exp: Likewise.
2008-09-03 Aleksandar Ristovski <aristovski@qnx.com>
* gdb.arch/i386-bp_permanent.exp: New test.

View File

@ -31,6 +31,12 @@ gdb_load ${binfile}
if ![runto_main] {
return -1
}
# Disable hardware watchpoints if necessary.
if [target_info exists gdb,no_hardware_watchpoints] {
gdb_test "set can-use-hw-watchpoints 0" "" ""
}
gdb_test "watch var" "atchpoint \[0-9\]+: var"
gdb_test "continue" "atchpoint \[0-9\]+: var.*Old value = 0.*New value = \[12\].*"
gdb_test "print empty()" " = void"

View File

@ -47,6 +47,11 @@ if { ![runto main] } then {
return
}
# Disable hardware watchpoints if necessary.
if [target_info exists gdb,no_hardware_watchpoints] {
gdb_test "set can-use-hw-watchpoints 0" "" ""
}
gdb_test "watch shared_var thread 0" "Unknown thread 0\." "Watchpoint on invalid thread"
gdb_test "watch shared_var thread" "A syntax error in expression, near `thread'\." "Invalid watch syntax"
@ -67,19 +72,14 @@ gdb_expect {
set thread_num "$expect_out(1,string)"
gdb_test "disable 2" "" "Disable breakpoint 2"
gdb_test "watch shared_var thread $thread_num" "Hardware watchpoint 3: shared_var" "Watchpoint on shared variable"
gdb_test "watch shared_var thread $thread_num" "atchpoint 3: shared_var" "Watchpoint on shared variable"
gdb_test "info breakpoint 3" "stop only in thread $thread_num"
for {set i 1} {$i <= 10} {incr i 1} {
set watchpoint "Watchpoint triggered iteration $i"
set check "Check thread that triggered iteration $i"
if {[target_info exists gdb,no_hardware_watchpoints]} {
unsupported $watchpoint
unsupported $check
} else {
gdb_test "continue" "Hardware watchpoint 3: shared_var.*" $watchpoint
gdb_test "thread" ".*Current thread is $thread_num .*" $check
}
gdb_test "continue" "atchpoint 3: shared_var.*" $watchpoint
gdb_test "thread" ".*Current thread is $thread_num .*" $check
}

View File

@ -69,6 +69,11 @@ if [target_info exists gdb_stub] {
runto_main
# Disable hardware watchpoints if necessary.
if [target_info exists gdb,no_hardware_watchpoints] {
gdb_test "set can-use-hw-watchpoints 0" "" ""
}
# Test that if we set a watchpoint on a global variable
# in a explicitly loaded shared library, and then
# re-run the application, gdb does not crash.
@ -79,7 +84,7 @@ gdb_test_multiple "break foo" "set pending breakpoint" {
}
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo"
gdb_test "watch g" "Hardware watchpoint 3: g" "set watchpoint on g"
gdb_test "watch g" "atchpoint 3: g" "set watchpoint on g"
gdb_test "continue" ".*New value = 1.*" "continue to watchpoint hit"
rerun_to_main
gdb_test "continue" ".*Breakpoint 2.*foo.*" "continue to foo again"