This is the mail archive of the
gdb-cvs@sourceware.org
mailing list for the GDB project.
[binutils-gdb] Further robustify gdb.base/bp-permanent.exp.
- From: Sandra Loosemore <sandra at sourceware dot org>
- To: gdb-cvs at sourceware dot org
- Date: 3 Aug 2015 18:10:28 -0000
- Subject: [binutils-gdb] Further robustify gdb.base/bp-permanent.exp.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ee2d2b102071f89a04f93f0434df818f69ef1e50
commit ee2d2b102071f89a04f93f0434df818f69ef1e50
Author: Sandra Loosemore <sandra@codesourcery.com>
Date: Mon Aug 3 11:09:32 2015 -0700
Further robustify gdb.base/bp-permanent.exp.
2015-08-03 Sandra Loosemore <sandra@codesourcery.com>
gdb/testsuite/
* gdb.base/bp-permanent.exp: Report test as unsupported if
the target cannot stop at the permanent breakpoint.
Diff:
---
gdb/testsuite/ChangeLog | 5 +++++
gdb/testsuite/gdb.base/bp-permanent.exp | 17 +++++++++++++++--
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index d943900..f633c11 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-08-03 Sandra Loosemore <sandra@codesourcery.com>
+
+ * gdb.base/bp-permanent.exp: Report test as unsupported if
+ the target cannot stop at the permanent breakpoint.
+
2015-08-03 Doug Evans <dje@google.com>
* gdb.perf/single-step.exp (SINGLE_STEP_COUNT): Change to 1000 from
diff --git a/gdb/testsuite/gdb.base/bp-permanent.exp b/gdb/testsuite/gdb.base/bp-permanent.exp
index cbdbc75..2bcf147 100644
--- a/gdb/testsuite/gdb.base/bp-permanent.exp
+++ b/gdb/testsuite/gdb.base/bp-permanent.exp
@@ -123,8 +123,21 @@ proc test {always_inserted sw_watchpoint} {
with_test_prefix "basics" {
# Run to the permanent breakpoint, just to make sure we've inserted it
# correctly.
- gdb_test "continue" "Program received signal SIGTRAP.*" \
- "permanent breakpoint causes random signal"
+ # If the target fails to stop, the remainder of the test will not work
+ # so just return. This can happen on some simulator targets where
+ # the running program doesn't see breakpoints that are visible to
+ # the execution engine, or where writes to the .text section are
+ # quietly ignored.
+ set test "permanent breakpoint causes random signal"
+ gdb_test_multiple "continue" $test {
+ -re "exited normally.*$gdb_prompt $" {
+ unsupported "failed to stop at permanent breakpoint"
+ return
+ }
+ -re "Program received signal SIGTRAP.*$gdb_prompt $" {
+ pass $test
+ }
+ }
# Now set a breakpoint on top, thus creating a permanent breakpoint.
gdb_breakpoint "$line_bp"