[binutils-gdb] [gdb/testsuite] Simplify gdb.base/info-types.exp.tcl

Tom de Vries vries@sourceware.org
Mon Jun 7 12:34:04 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=409cac34d9328d81ff7d17a51707e7898a7be960

commit 409cac34d9328d81ff7d17a51707e7898a7be960
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 7 14:33:51 2021 +0200

    [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.

Diff:
---
 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  <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
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)"


More information about the Gdb-cvs mailing list