[gdb/testsuite] Simplify gdb.base/info-types.exp.tcl
authorTom de Vries <tdevries@suse.de>
Mon, 7 Jun 2021 12:33:51 +0000 (14:33 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 7 Jun 2021 12:33:51 +0000 (14:33 +0200)
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.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/info-types.exp.tcl

index fb70c0f2cf247d5f544f73a99055386125888339..75e500ad9e068ab74b07c35ad9554310028c1315 100644 (file)
@@ -1,3 +1,8 @@
+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
index 0eac3dbe67c18c2d612f34f19d5201d214137ff9..104fdb3a62fe2cec775c4cdcc7d5d0733cad58ca 100644 (file)
@@ -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)"