This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[testsuite] kfail sigaltstack.exp on i386/gnu/linux
- From: Daniel Jacobowitz <drow at false dot org>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 8 Aug 2004 18:02:20 -0400
- Subject: [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"