This is the mail archive of the gdb-patches@sources.redhat.com 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]

[testsuite] kfail sigaltstack.exp on i386/gnu/linux


See PR 1736 and the link to gdb@ for more information.  I've kfailed
this bug because, while the bug is external, GDB could handle it more
gracefully...

Tested on i686-pc-linux-gnu, where six of the tests FAIL->KFAIL.  OK?

-- 
Daniel Jacobowitz

2004-08-08  Daniel Jacobowitz  <dan@debian.org>

	PR gdb/1736
	* gdb.base/sigaltstack.exp (finish_test): New procedure.  KFAIL
	for i?86-*-linux*.

Index: testsuite/gdb.base/sigaltstack.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.base/sigaltstack.exp,v
retrieving revision 1.1
diff -u -p -r1.1 sigaltstack.exp
--- testsuite/gdb.base/sigaltstack.exp	5 Apr 2004 21:00:21 -0000	1.1
+++ testsuite/gdb.base/sigaltstack.exp	8 Aug 2004 22:00:02 -0000
@@ -78,11 +78,26 @@ gdb_expect_list "backtrace" ".*$gdb_prom
     "\[\r\n\]+.7 \[^\r\n\]* main .*"
 }
 
+proc finish_test { pattern msg } {
+    gdb_test_multiple "finish" $msg {
+	-re "Cannot insert breakpoint 0" {
+	    # Some platforms use a special read-only page for signal
+	    # trampolines.  We can't set a breakpoint there, and we
+	    # don't gracefully fall back to single-stepping.
+	    setup_kfail "i?86-*-linux*" gdb/1736
+	    fail "$msg (could not set breakpoint)"
+	}
+	-re "$pattern" {
+	    pass $msg
+	}
+    }
+}
+
 # Finish?
-gdb_test "finish" "signal handler called." "finish from catch LEAF"
-gdb_test "finish" "thrower .next_level=INNER, .*" "finish to throw INNER"
-gdb_test "finish" "catcher .*" "finish to catch INNER"
-gdb_test "finish" "signal handler called.*" "finish from catch INNER"
-gdb_test "finish" "thrower .next_level=OUTER, .*" "finish to OUTER"
-gdb_test "finish" "catcher .*" "finish to catch MAIN"
-gdb_test "finish" "main .*" "finish to MAIN"
+finish_test "signal handler called." "finish from catch LEAF"
+finish_test "thrower .next_level=INNER, .*" "finish to throw INNER"
+finish_test "catcher .*" "finish to catch INNER"
+finish_test "signal handler called.*" "finish from catch INNER"
+finish_test "thrower .next_level=OUTER, .*" "finish to OUTER"
+finish_test "catcher .*" "finish to catch MAIN"
+finish_test "main .*" "finish to MAIN"


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