2003-11-20 Andrew Cagney <cagney@redhat.com>

* gdb.base/structs.exp: Handle and recover from internal errors.
	Replace "foo${n}" with "foo<n>" in test messages.
This commit is contained in:
Andrew Cagney 2003-11-20 18:03:48 +00:00
parent e53890ae03
commit 6882279b13
2 changed files with 28 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2003-11-20 Andrew Cagney <cagney@redhat.com>
* gdb.base/structs.exp: Handle and recover from internal errors.
Replace "foo${n}" with "foo<n>" in test messages.
* gdb.base/structs.exp: Update copyright. Rewrite.
* gdb.base/structs.c: Update copyright. Rewrite.

View File

@ -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<n>; ${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<n> 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}"