diff options
author | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-03-03 14:21:04 +0000 |
---|---|---|
committer | Jan Kratochvil <jan.kratochvil@redhat.com> | 2012-03-03 14:21:04 +0000 |
commit | abf1152ad77baabd40d8c62324e5de922db246a5 (patch) | |
tree | 8ea95f72c6ac12da6c411d727550eb2b760b6b38 /gdb/testsuite | |
parent | a06715f8dd489123b4850b9e3560addf38a2c720 (diff) | |
download | gdb-abf1152ad77baabd40d8c62324e5de922db246a5.zip gdb-abf1152ad77baabd40d8c62324e5de922db246a5.tar.gz gdb-abf1152ad77baabd40d8c62324e5de922db246a5.tar.bz2 |
gdb/
* breakpoint.c (set_condition_evaluation_mode): Set
CONDITION_EVALUATION_MODE unconditionally.
gdb/testsuite/
Implement testsuite workaround for PR breakpoints/13781.
* gdb.cp/mb-templates.exp: New loop with variable $workaround.
(set breakpoint condition-evaluation host): New conditional command.
Diffstat (limited to 'gdb/testsuite')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.cp/mb-templates.exp | 37 |
2 files changed, 30 insertions, 13 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index cc39a9a..9df06dd 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,11 @@ 2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com> + Implement testsuite workaround for PR breakpoints/13781. + * gdb.cp/mb-templates.exp: New loop with variable $workaround. + (set breakpoint condition-evaluation host): New conditional command. + +2012-03-03 Jan Kratochvil <jan.kratochvil@redhat.com> + Code cleanup. * gdb.cp/mb-templates.exp: New variables executable. Use it for binfile. use clean_restart. Replace gdb_expect by gdb_test_multiple. diff --git a/gdb/testsuite/gdb.cp/mb-templates.exp b/gdb/testsuite/gdb.cp/mb-templates.exp index d386c02..e909543 100644 --- a/gdb/testsuite/gdb.cp/mb-templates.exp +++ b/gdb/testsuite/gdb.cp/mb-templates.exp @@ -38,24 +38,35 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb return -1 } -clean_restart ${executable} +# If GDB crashes try it again workarounding PR breakpoints/13781. -set bp_location [gdb_get_line_number "set breakpoint here"] +foreach workaround [list "" " (workaround)"] { + clean_restart ${executable} -# Set a breakpoint with multiple locations -# and a condition. + if {${workaround} != ""} { + gdb_test_no_output "set breakpoint condition-evaluation host" + } -gdb_test "break $srcfile:$bp_location if i==1" \ - "Breakpoint.*at.*: $srcfile:$bp_location. \\(2 locations\\).*" \ - "initial condition: set breakpoint" + set bp_location [gdb_get_line_number "set breakpoint here"] -gdb_run_cmd + # Set a breakpoint with multiple locations + # and a condition. -set test "initial condition: run to breakpoint" -gdb_test_multiple "" $test { - -re "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*$gdb_prompt $" { - pass $test - break + gdb_test "break $srcfile:$bp_location if i==1" \ + "Breakpoint.*at.*: $srcfile:$bp_location. \\(2 locations\\).*" \ + "initial condition: set breakpoint$workaround" + + gdb_run_cmd + + if {${workaround} == "" && [is_remote target]} { + setup_kfail breakpoints/13781 "*-*-*" + } + set test "initial condition: run to breakpoint$workaround" + gdb_test_multiple "" $test { + -re "Breakpoint \[0-9\]+,.*foo<int> \\(i=1\\).*$gdb_prompt $" { + pass $test + break + } } } |