This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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"


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]