2003-11-20 Andrew Cagney * gdb.base/structs.exp: Handle and recover from internal errors. Replace "foo${n}" with "foo" in test messages. Index: gdb.base/structs.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/structs.exp,v retrieving revision 1.8 diff -u -r1.8 structs.exp --- gdb.base/structs.exp 20 Nov 2003 17:11:55 -0000 1.8 +++ gdb.base/structs.exp 20 Nov 2003 18:01:41 -0000 @@ -321,11 +321,22 @@ -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 @@ 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 @@ # 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 @@ 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 @@ # "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} $" { @@ -440,6 +459,10 @@ # know the location of the return-value. 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