aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2003-11-20 18:03:48 +0000
committerAndrew Cagney <cagney@redhat.com>2003-11-20 18:03:48 +0000
commit6882279b130c46c0ecadb5808adf0bac0e143d5c (patch)
treee8e057b130ed54e4e22c2766a61a1955ea225253
parente53890ae03ca5fa04f101c032cbc9341a6cca949 (diff)
downloadfsf-binutils-gdb-6882279b130c46c0ecadb5808adf0bac0e143d5c.zip
fsf-binutils-gdb-6882279b130c46c0ecadb5808adf0bac0e143d5c.tar.gz
fsf-binutils-gdb-6882279b130c46c0ecadb5808adf0bac0e143d5c.tar.bz2
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.
-rw-r--r--gdb/testsuite/ChangeLog3
-rw-r--r--gdb/testsuite/gdb.base/structs.exp27
2 files changed, 28 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index e795b2d..cfb43a8 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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.
diff --git a/gdb/testsuite/gdb.base/structs.exp b/gdb/testsuite/gdb.base/structs.exp
index 0e89fc6..0fbdc07 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<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}"