From a16242411fae409bd8b9133ee711e2177d0bcde2 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Mon, 2 Jul 2012 12:06:56 +0000 Subject: [PATCH] gdb/testsuite/ * gdb.base/stale-infcall.c (infcall): New label test-next. (main): New labels test-pass and test-fail. * gdb.base/stale-infcall.exp: Continue to test-next. Put breakpoint $test_fail_bpnum to test-fail. (test system longjmp tracking support): New test. Delete $test_fail_bpnum. * lib/gdb.exp (gdb_continue_to_breakpoint): Accept also Temporary breakpoint. --- gdb/testsuite/ChangeLog | 11 +++++++++++ gdb/testsuite/gdb.base/stale-infcall.c | 7 +++++-- gdb/testsuite/gdb.base/stale-infcall.exp | 18 ++++++++++++++++++ gdb/testsuite/lib/gdb.exp | 2 +- 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 2f4d131005a..44673d47653 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,14 @@ +2012-07-02 Jan Kratochvil + + * gdb.base/stale-infcall.c (infcall): New label test-next. + (main): New labels test-pass and test-fail. + * gdb.base/stale-infcall.exp: Continue to test-next. Put breakpoint + $test_fail_bpnum to test-fail. + (test system longjmp tracking support): New test. + Delete $test_fail_bpnum. + * lib/gdb.exp (gdb_continue_to_breakpoint): Accept also Temporary + breakpoint. + 2012-06-30 Doug Evans * gdb.dwarf2/fission-reread.S: New file. diff --git a/gdb/testsuite/gdb.base/stale-infcall.c b/gdb/testsuite/gdb.base/stale-infcall.c index 1f5169a7c8e..e4f97fa3ab2 100644 --- a/gdb/testsuite/gdb.base/stale-infcall.c +++ b/gdb/testsuite/gdb.base/stale-infcall.c @@ -26,7 +26,7 @@ static jmp_buf jmp; void infcall (void) { - longjmp (jmp, 1); + longjmp (jmp, 1); /* test-next */ } static void @@ -54,7 +54,10 @@ run2 (void) int main () { - if (setjmp (jmp) == 0) + if (setjmp (jmp) == 0) /* test-pass */ + infcall (); + + if (setjmp (jmp) == 0) /* test-fail */ run1 (); else run2 (); diff --git a/gdb/testsuite/gdb.base/stale-infcall.exp b/gdb/testsuite/gdb.base/stale-infcall.exp index bb22339b127..9d73ebdbd18 100644 --- a/gdb/testsuite/gdb.base/stale-infcall.exp +++ b/gdb/testsuite/gdb.base/stale-infcall.exp @@ -23,6 +23,24 @@ if ![runto_main] { return -1 } +gdb_breakpoint [gdb_get_line_number "test-next"] temporary +gdb_continue_to_breakpoint "test-next" ".* test-next .*" +gdb_breakpoint [gdb_get_line_number "test-fail"] +gdb_test_no_output {set $test_fail_bpnum=$bpnum} + +set test "test system longjmp tracking support" +gdb_test_multiple "next" $test { + -re " test-pass .*\r\n$gdb_prompt $" { + pass $test + } + -re " test-fail .*\r\n$gdb_prompt $" { + xfail $test + untested "System lacks support for tracking longjmps" + return -1 + } +} +gdb_test_no_output {delete $test_fail_bpnum} + gdb_breakpoint [gdb_get_line_number "break-run1"] gdb_breakpoint [gdb_get_line_number "break-run2"] gdb_breakpoint [gdb_get_line_number "break-exit"] diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 7cb619a8555..289d4d82123 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -469,7 +469,7 @@ proc gdb_continue_to_breakpoint {name {location_pattern .*}} { send_gdb "continue\n" gdb_expect { - -re "Breakpoint .* (at|in) $location_pattern\r\n$gdb_prompt $" { + -re "(?:Breakpoint|Temporary breakpoint) .* (at|in) $location_pattern\r\n$gdb_prompt $" { pass $full_name } -re ".*$gdb_prompt $" {