From 4d8cd867d649a2cab41890657779c0c3ba26256e Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Thu, 20 Nov 2003 18:03:48 +0000 Subject: [PATCH] 2003-11-20 Andrew Cagney * gdb.base/structs.exp: Handle and recover from internal errors. Replace "foo${n}" with "foo" in test messages. --- gdb/testsuite/ChangeLog | 3 +++ gdb/testsuite/gdb.base/structs.exp | 27 +++++++++++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index e795b2dbe1..cfb43a8de8 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2003-11-20 Andrew Cagney + * gdb.base/structs.exp: Handle and recover from internal errors. + Replace "foo${n}" with "foo" in test messages. + * gdb.base/structs.exp: Update copyright. Rewrite. * gdb.base/structs.c: Update copyright. Rewrite. diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp index 0e89fc6eed..0fbdc07389 100644 --- a/gdb/testsuite/gdb.base/structs.exp +++ b/gdb/testsuite/gdb.base/structs.exp @@ -321,11 +321,22 @@ proc test_struct_returns { n } { -re "L[expr ${n} + 1] *= fun[expr ${n} + 1].*${gdb_prompt} $" { pass "${test}" } + -re "A problem internal to GDB has been detected" { + fail "${test} (GDB internal error 2)" + gdb_internal_error_resync + } + -re "${gdb_prompt} $" { + fail "${test} (wrong line info)" + } timeout { fail "${test} (timeout 2)" } } } + -re "A problem internal to GDB has been detected" { + fail "${test} (GDB internal error 1)" + gdb_internal_error_resync + } -re "${gdb_prompt} $" { fail "${test} (no query)" } @@ -364,6 +375,10 @@ proc test_struct_returns { n } { fail "${test}" } } + -re "A problem internal to GDB has been detected" { + fail "${test} (GDB internal error)" + gdb_internal_error_resync + } -re "${gdb_prompt} $" { # Garbage returned, garbage printed fail "${test}" @@ -395,7 +410,7 @@ proc test_struct_returns { n } { # Finish the function, set 'finish_value_unknown" to non-empty if the # return-value was not found. send_gdb "finish\n" - set test "finish foo${n}; ${tests}" + set test "finish foo; ${tests}" set finish_value_unknown 0 gdb_expect { -re "Value returned is .*${gdb_prompt} $" { @@ -406,6 +421,10 @@ proc test_struct_returns { n } { set finish_value_unknown 1 pass "${test}" } + -re "A problem internal to GDB has been detected" { + fail "${test} (GDB internal error)" + gdb_internal_error_resync + } -re ".*${gdb_prompt} $" { # Garbage returned fail "${test}" @@ -419,7 +438,7 @@ proc test_struct_returns { n } { # "p/c". If no return value was found, the 'Z' from the previous # check that the variable was cleared, is printed. send_gdb "p/c\n" - set test "value foo${n} finished; ${tests}" + set test "value foo finished; ${tests}" setup_kfails structs-*tld* i686-*-* gdb/1447 gdb_expect { -re "[foo ${n}]\[\r\n\]+${gdb_prompt} $" { @@ -441,6 +460,10 @@ proc test_struct_returns { n } { fail "${test}" } } + -re "A problem internal to GDB has been detected" { + fail "${test} (GDB internal error)" + gdb_internal_error_resync + } -re ".*${gdb_prompt} $" { # Garbage returned fail "${test}" -- 2.11.0