aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/testsuite/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.base/scope.exp14
2 files changed, 18 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 069d3f6..2747510 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2006-02-12 Fred Fish <fnf@specifix.com>
+
+ * gdb.base/scope.exp (test_at_main): Use gdb_test_multiple
+ to handle cases where it takes two "next" commands to skip
+ past the init call.
+
2006-02-07 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/array_return.exp: Mark the last test as expected to fail
diff --git a/gdb/testsuite/gdb.base/scope.exp b/gdb/testsuite/gdb.base/scope.exp
index 10806bd..49386d2 100644
--- a/gdb/testsuite/gdb.base/scope.exp
+++ b/gdb/testsuite/gdb.base/scope.exp
@@ -63,8 +63,18 @@ proc test_at_main {} {
# skip past init. There may be a call to __main at the start of
# main, so the first next may only get us to the init0 call.
- if [gdb_test "next" "$decimal.*foo \\(\\);" "next over init0() in main" "$decimal.*init0 \\(\\);" "next"] {
- gdb_suppress_tests ;
+ gdb_test_multiple "next" "next over init0() in main" {
+ -re "$decimal.*foo \\(\\).*$gdb_prompt $" {
+ pass "next over init0() in main"
+ }
+ -re "$decimal.*init0 \\(\\).*$gdb_prompt $" {
+ send_gdb "next\n"
+ exp_continue
+ }
+ -re ".*$gdb_prompt $" {
+ fail "next over init0() in main"
+ gdb_suppress_tests
+ }
}