PR gdb/1736
authorDaniel Jacobowitz <drow@false.org>
Mon, 9 Aug 2004 13:16:16 +0000 (13:16 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 9 Aug 2004 13:16:16 +0000 (13:16 +0000)
* 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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/sigaltstack.exp
gdb/testsuite/gdb.base/sigstep.exp
gdb/testsuite/lib/gdb.exp

index 014ed6f76b423731f4b9ff8f30a90a268e794a50..ecb008e966f6cf40a94c7124dba2efd00732577f 100644 (file)
@@ -1,3 +1,11 @@
+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'.
index 3b32d08d7504cbb8a6e0dd24ace992436d55c8d4..0e5eb090e1ec125f17c54a659477419a90427476 100644 (file)
@@ -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.
index ea16ec680cd25df6f0006dcf166e28880b8c9ae5..0e0c2d8fe285015c236abfede9f3391b482aeb05 100644 (file)
@@ -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
index b71af8d41a37815490a4b3de3763c4ecf23f4d0f..22893ddeec92d22649350a93c6af0d063d53c584 100644 (file)
@@ -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
 }