aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2021-06-07 14:33:51 +0200
committerTom de Vries <tdevries@suse.de>2021-06-07 14:33:51 +0200
commit409cac34d9328d81ff7d17a51707e7898a7be960 (patch)
tree1463460d0b5bc7750a6d5e1643d5ad3991d40b0b
parentbc37aacde189cbebffd06b5459b239a0407de396 (diff)
downloadbinutils-409cac34d9328d81ff7d17a51707e7898a7be960.zip
binutils-409cac34d9328d81ff7d17a51707e7898a7be960.tar.gz
binutils-409cac34d9328d81ff7d17a51707e7898a7be960.tar.bz2
[gdb/testsuite] Simplify gdb.base/info-types.exp.tcl
The regexp matching state machine in gdb.base/info-types.exp.tcl handles "File .*:" lines individually. Now that we do line-by-line matching, that's no longer necessary. Simplify accordingly. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-06-07 Tom de Vries <tdevries@suse.de> * gdb.base/info-types.exp.tcl: Remove "File .*" matching from regexp matching state machine.
-rw-r--r--gdb/testsuite/ChangeLog5
-rw-r--r--gdb/testsuite/gdb.base/info-types.exp.tcl20
2 files changed, 13 insertions, 12 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index fb70c0f..75e500a 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2021-06-07 Tom de Vries <tdevries@suse.de>
+ * gdb.base/info-types.exp.tcl: Remove "File .*" matching from regexp
+ matching state machine.
+
+2021-06-07 Tom de Vries <tdevries@suse.de>
+
* gdb.base/new-ui-pending-input.exp
(test_command_line_new_ui_pending_input): Fix regexp for "initial
prompt on extra console".
diff --git a/gdb/testsuite/gdb.base/info-types.exp.tcl b/gdb/testsuite/gdb.base/info-types.exp.tcl
index 0eac3db..104fdb3 100644
--- a/gdb/testsuite/gdb.base/info-types.exp.tcl
+++ b/gdb/testsuite/gdb.base/info-types.exp.tcl
@@ -89,9 +89,12 @@ proc run_test { lang } {
return 0
}
+ set file_re "File .*[string_to_regexp $srcfile]:"
+
if { $lang == "c++" } {
set output_lines \
[list \
+ $file_re \
"98:\[\t \]+CL;" \
"42:\[\t \]+anon_struct_t;" \
"65:\[\t \]+anon_union_t;" \
@@ -126,6 +129,7 @@ proc run_test { lang } {
} else {
set output_lines \
[list \
+ $file_re \
"52:\[\t \]+typedef enum {\\.\\.\\.} anon_enum_t;" \
"45:\[\t \]+typedef struct {\\.\\.\\.} anon_struct_t;" \
"68:\[\t \]+typedef union {\\.\\.\\.} anon_union_t;" \
@@ -160,28 +164,20 @@ proc run_test { lang } {
if { $state == 0 } { set state 1 } else { set state -1 }
exp_continue
}
- -re "^\r\nFile .*[string_to_regexp $srcfile]:" {
- if { $state == 1 } { set state 2 } else { set state -2 }
- exp_continue
- }
- -re "^\r\nFile \[^\r\n\]*:" {
- if { $state == 2 } { set state -4 }
- exp_continue
- }
-re "^\r\n(\[^\r\n\]*)(?=\r\n)" {
- if { $state == 2 } {
+ if { $state == 1 } {
set line $expect_out(1,string)
set res [match_line $line $output_lines idx]
if { $res == 1 } {
- set state 3
+ set state 2
} elseif { $res == -1 } {
- set state -3
+ set state -2
}
}
exp_continue
}
-re -wrap "" {
- if { $state == 3} {
+ if { $state == 2} {
pass $gdb_test_name
} else {
fail "$gdb_test_name (state == $state)"