From 409cac34d9328d81ff7d17a51707e7898a7be960 Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Mon, 7 Jun 2021 14:33:51 +0200 Subject: [PATCH] [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 * gdb.base/info-types.exp.tcl: Remove "File .*" matching from regexp matching state machine. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/gdb.base/info-types.exp.tcl | 20 ++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index fb70c0f2cf2..75e500ad9e0 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2021-06-07 Tom de Vries + + * gdb.base/info-types.exp.tcl: Remove "File .*" matching from regexp + matching state machine. + 2021-06-07 Tom de Vries * gdb.base/new-ui-pending-input.exp diff --git a/gdb/testsuite/gdb.base/info-types.exp.tcl b/gdb/testsuite/gdb.base/info-types.exp.tcl index 0eac3dbe67c..104fdb3a62f 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)" -- 2.30.2