aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2020-03-12 14:58:57 +0100
committerTom de Vries <tdevries@suse.de>2020-03-12 14:58:57 +0100
commit09252140293763eaa230314dee27f605a37154d4 (patch)
tree09f202bfbfb806be95a590d06b6aba5facdb66ed /gdb/testsuite
parent14e9c72c334205c0171d62e716c1fb65472a0eab (diff)
downloadgdb-09252140293763eaa230314dee27f605a37154d4.zip
gdb-09252140293763eaa230314dee27f605a37154d4.tar.gz
gdb-09252140293763eaa230314dee27f605a37154d4.tar.bz2
[gdb/testsuite] Fix internal buffer full error in gdb.base/info-types.exp
With test-case gdb.base/info-types.exp, I run into: ... ERROR: internal buffer is full. UNRESOLVED: gdb.base/info-types.exp: l=c: info types ERROR: internal buffer is full. UNRESOLVED: gdb.base/info-types.exp: l=c++: info types ... Fix this by using exp_continue while matching the output of "info types". Tested on x86_64-linux, using make targets check and check-read1. gdb/testsuite/ChangeLog: 2020-03-12 Tom de Vries <tdevries@suse.de> * gdb.base/info-types.exp: Use exp_continue during matching of output of "info types".
Diffstat (limited to 'gdb/testsuite')
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/info-types.exp40
2 files changed, 32 insertions, 13 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 6fc24e1..5c5576e 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2020-03-12 Tom de Vries <tdevries@suse.de>
+ * gdb.base/info-types.exp: Use exp_continue during matching of output
+ of "info types".
+
+2020-03-12 Tom de Vries <tdevries@suse.de>
+
* gdb.threads/execl.exp: Delete breakpoint after hitting it.
2020-03-12 Tom de Vries <tdevries@suse.de>
diff --git a/gdb/testsuite/gdb.base/info-types.exp b/gdb/testsuite/gdb.base/info-types.exp
index a69620a..7cce756 100644
--- a/gdb/testsuite/gdb.base/info-types.exp
+++ b/gdb/testsuite/gdb.base/info-types.exp
@@ -54,9 +54,6 @@ proc run_test { lang } {
if { $lang == "c++" } {
set output_re \
[multi_line \
- "All defined types:" \
- "" \
- "File .*:" \
"98:\[\t \]+CL;" \
"42:\[\t \]+anon_struct_t;" \
"65:\[\t \]+anon_union_t;" \
@@ -86,15 +83,10 @@ proc run_test { lang } {
"19:\[\t \]+typedef float nested_float_t;" \
"18:\[\t \]+typedef int nested_int_t;" \
"62:\[\t \]+typedef union_t nested_union_t;(" \
- "\[\t \]+unsigned int)?(" \
- "" \
- "File .*:.*)?" ]
+ "\[\t \]+unsigned int)?"]
} else {
set output_re \
[multi_line \
- "All defined types:" \
- "" \
- "File .*:" \
"52:\[\t \]+typedef enum {\\.\\.\\.} anon_enum_t;" \
"45:\[\t \]+typedef struct {\\.\\.\\.} anon_struct_t;" \
"68:\[\t \]+typedef union {\\.\\.\\.} anon_union_t;" \
@@ -118,12 +110,34 @@ proc run_test { lang } {
"18:\[\t \]+typedef int nested_int_t;" \
"62:\[\t \]+typedef union union_t nested_union_t;" \
"56:\[\t \]+union union_t;(" \
- "\[\t \]+unsigned int)?(" \
- "" \
- "File .*:.*)?" ]
+ "\[\t \]+unsigned int)?"]
}
- gdb_test "info types" $output_re
+ set state 0
+ gdb_test_multiple "info types" "" {
+ -re "\r\nAll defined types:" {
+ if { $state == 0 } { set state 1 }
+ exp_continue
+ }
+ -re "\r\n\r\nFile .*[string_to_regexp $srcfile]:" {
+ if { $state == 1 } { set state 2 }
+ exp_continue
+ }
+ -re $output_re {
+ if { $state == 2 } { set state 3 }
+ exp_continue
+ }
+ -re "\r\n\r\nFile \[^\r\n\]*:" {
+ exp_continue
+ }
+ -re -wrap "" {
+ if { $state == 3} {
+ pass $gdb_test_name
+ } else {
+ fail $gdb_test_name
+ }
+ }
+ }
}
foreach_with_prefix l $lang {