[1/2,gdb/testsuite] Refactor regexp in gdb.base/annota1.exp

Message ID 20211006153307.15868-1-tdevries@suse.de
State New
Headers show
Series
  • [1/2,gdb/testsuite] Refactor regexp in gdb.base/annota1.exp
Related show

Commit Message

Stafford Horne via Gdb-patches Oct. 6, 2021, 3:33 p.m.
Refactor regexp in gdb.base/annota1.exp to reduce indentation and repetition.

Tested on x86_64-linux.
---
 gdb/testsuite/gdb.base/annota1.exp | 56 +++++++++++++++++++-----------
 1 file changed, 35 insertions(+), 21 deletions(-)


base-commit: cf2ad3e66286c9f3dc8cb6cf74a2af761cb7a49f
-- 
2.26.2

Patch

diff --git a/gdb/testsuite/gdb.base/annota1.exp b/gdb/testsuite/gdb.base/annota1.exp
index 13c9a48bba8..7a08137a1b0 100644
--- a/gdb/testsuite/gdb.base/annota1.exp
+++ b/gdb/testsuite/gdb.base/annota1.exp
@@ -127,29 +127,43 @@  gdb_test_multiple "info break" "breakpoint info" {
 #exp_internal 1
 set binexp [string_to_regexp $binfile]
 
-set run_re [join [list "\r\n\032\032post-prompt\r\nStarting program: $binexp " \
-		    "\(\(\r\nReading \[^\r\n\]+\)|\(\r\nwarning: File transfers from remote targets can be slow\[^\r\n\]+\)\)*" \
-		    "\(\r\nwarning: Skipping \[^\r\n\]+ .gdb_index section in \[^\r\n\]+\r\nDo \"set use-deprecated-index-sections on\" before the file is read\r\nto use the section anyway\\.\)?" \
-		    "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
-		    "\032\032starting\(\(\r\nReading \[^\r\n\]+\)|\(\r\nwarning: File transfers from remote targets can be slow\[^\r\n\]+\)\)*" \
-		    "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
-		    "\032\032breakpoint 1\r\n\r\n" \
-		    "Breakpoint 1, \r\n" \
-		    "\032\032frame-begin 0 $hex\r\n\r\n" \
-		    "\032\032frame-function-name\r\n" \
-		    "main\r\n" \
-		    "\032\032frame-args\r\n \\(\\)\r\n" \
-		    "\032\032frame-source-begin\r\n at \r\n" \
-		    "\032\032frame-source-file\r\n.*annota1.c\r\n" \
-		    "\032\032frame-source-file-end\r\n:\r\n" \
-		    "\032\032frame-source-line\r\n$main_line\r\n" \
-		    "\032\032frame-source-end\r\n\r\n\r\n" \
-		    "\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n" \
-		    "\032\032frame-end\r\n\r\n" \
-		    "\032\032stopped.*$gdb_prompt$" ] "" ]
+set warning_slow_re \
+    "warning: File transfers from remote targets can be slow\[^\r\n\]+"
+set warning_gdb_index_re \
+    [multi_line \
+	 "warning: Skipping \[^\r\n\]+ .gdb_index section in \[^\r\n\]+" \
+	 "Do \"set use-deprecated-index-sections on\" before the file is read" \
+	 "to use the section anyway\\."]
+set reading_re \
+    "Reading \[^\r\n\]+"
+
+set run_re \
+    [list \
+	 "\r\n\032\032post-prompt\r\nStarting program: $binexp " \
+	 "\(\(\r\n$reading_re\)|\(\r\n$warning_slow_re\)\)*" \
+	 "\(\r\n$warning_gdb_index_re\)?" \
+	 "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
+	 "\032\032starting\(\(\r\n$reading_re\)|\(\r\n$warning_slow_re\)\)*" \
+	 "\(\(\r\n\r\n\032\032frames-invalid\)|\(\r\n\r\n\032\032breakpoints-invalid\)\)*\r\n\r\n" \
+	 "\032\032breakpoint 1\r\n\r\n" \
+	 "Breakpoint 1, \r\n" \
+	 "\032\032frame-begin 0 $hex\r\n\r\n" \
+	 "\032\032frame-function-name\r\n" \
+	 "main\r\n" \
+	 "\032\032frame-args\r\n \\(\\)\r\n" \
+	 "\032\032frame-source-begin\r\n at \r\n" \
+	 "\032\032frame-source-file\r\n.*annota1.c\r\n" \
+	 "\032\032frame-source-file-end\r\n:\r\n" \
+	 "\032\032frame-source-line\r\n$main_line\r\n" \
+	 "\032\032frame-source-end\r\n\r\n\r\n" \
+	 "\032\032source.*$srcfile:$main_line:.*:beg:$hex\r\n\r\n" \
+	 "\032\032frame-end\r\n\r\n" \
+	 "\032\032stopped"]
+
+set run_re [join $run_re ""]
 
 gdb_test_multiple "run" "run until main breakpoint" {
-    -re $run_re {
+    -re $run_re.*$gdb_prompt$ {
 	pass $gdb_test_name
     }
 }