aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2004-08-09 13:16:16 +0000
committerDaniel Jacobowitz <drow@false.org>2004-08-09 13:16:16 +0000
commit04f6ecf27956b4fbd0e660dbdd5b5dd9ccab03d9 (patch)
treee53541bb1b272e856dd68c4010079d70aef32c17
parent54d90d3515309ff2eaae83d9c95d787cefa0a207 (diff)
downloadfsf-binutils-gdb-04f6ecf27956b4fbd0e660dbdd5b5dd9ccab03d9.zip
fsf-binutils-gdb-04f6ecf27956b4fbd0e660dbdd5b5dd9ccab03d9.tar.gz
fsf-binutils-gdb-04f6ecf27956b4fbd0e660dbdd5b5dd9ccab03d9.tar.bz2
PR gdb/1736
* lib/gdb.exp (gdb_test_multiple): Handle return -code return. * gdb.base/sigaltstack.exp (finish_test): Consume output until the prompt. * gdb.base/sigstep.exp: Add KFAIL for gdb/1736.
-rw-r--r--gdb/testsuite/ChangeLog8
-rw-r--r--gdb/testsuite/gdb.base/sigaltstack.exp4
-rw-r--r--gdb/testsuite/gdb.base/sigstep.exp8
-rw-r--r--gdb/testsuite/lib/gdb.exp12
4 files changed, 30 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 014ed6f..ecb008e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,13 @@
2004-08-08 Daniel Jacobowitz <dan@debian.org>
+ PR gdb/1736
+ * lib/gdb.exp (gdb_test_multiple): Handle return -code return.
+ * gdb.base/sigaltstack.exp (finish_test): Consume output until
+ the prompt.
+ * gdb.base/sigstep.exp: Add KFAIL for gdb/1736.
+
+2004-08-08 Daniel Jacobowitz <dan@debian.org>
+
* gdb.cp/templates.exp: Handle (char)115 for template argument 's'.
2004-08-08 Daniel Jacobowitz <dan@debian.org>
diff --git a/gdb/testsuite/gdb.base/sigaltstack.exp b/gdb/testsuite/gdb.base/sigaltstack.exp
index 3b32d08..0e5eb09 100644
--- a/gdb/testsuite/gdb.base/sigaltstack.exp
+++ b/gdb/testsuite/gdb.base/sigaltstack.exp
@@ -79,8 +79,10 @@ gdb_expect_list "backtrace" ".*$gdb_prompt $" {
}
proc finish_test { pattern msg } {
+ global gdb_prompt
+
gdb_test_multiple "finish" $msg {
- -re "Cannot insert breakpoint 0" {
+ -re "Cannot insert breakpoint 0.*${gdb_prompt} $" {
# 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.
diff --git a/gdb/testsuite/gdb.base/sigstep.exp b/gdb/testsuite/gdb.base/sigstep.exp
index ea16ec6..0e0c2d8 100644
--- a/gdb/testsuite/gdb.base/sigstep.exp
+++ b/gdb/testsuite/gdb.base/sigstep.exp
@@ -112,6 +112,14 @@ proc advancei { i } {
set test "$i into signal trampoline"
gdb_test_multiple "$i" "${test}" {
+ -re "Cannot insert breakpoint 0.*${gdb_prompt} $" {
+ # 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 "$test (could not set breakpoint)"
+ return
+ }
-re "done = 1;.*${gdb_prompt} $" {
send_gdb "$i\n"
exp_continue
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index b71af8d..22893dd 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -700,7 +700,17 @@ proc gdb_test_multiple { command message user_code } {
}
set result 0
- gdb_expect $tmt $code
+ set code [catch {gdb_expect $tmt $code} string]
+ if {$code == 1} {
+ global errorInfo errorCode;
+ return -code error -errorinfo $errorInfo -errorcode $errorCode $string
+ } elseif {$code == 2} {
+ return -code return $string
+ } elseif {$code == 3} {
+ return
+ } elseif {$code > 4} {
+ return -code $code $string
+ }
return $result
}