gdb/testsuite: match complete lines in gdb.base/maint.exp
authorAndrew Burgess <aburgess@redhat.com>
Fri, 6 Oct 2023 17:01:42 +0000 (18:01 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Mon, 9 Oct 2023 09:43:34 +0000 (10:43 +0100)
This thread:

  https://inbox.sourceware.org/gdb-patches/20231003195338.334948-1-thiago.bauermann@linaro.org/

pointed out that within gdb.base/maint.exp, some regexps within a
gdb_test_multiple were failing to match a complete line, while later
regexps within the gdb_test_multiple made use of the '^' anchor, and
so assumed that earlier lines had been completely matched and removed
from expect's buffer.

When testing with READ1 set this assumption was failing.

Fix this by extending the offending patterns with a trailing '\r\n'.

Tested-by: Thiago Jung Bauermann <thiago.bauermann@linaro.org>
gdb/testsuite/gdb.base/maint.exp

index c05d0987e7fae015f510931a04ecdb0bcd9d3d7c..d24b0affbafe1119b4c7967eeba2c751bbf428a8 100644 (file)
@@ -386,11 +386,11 @@ gdb_test "maint" \
 set saw_srcfile 0
 gdb_test_multiple "maint info line-table" \
     "maint info line-table w/o a file name" {
-    -re "symtab: \[^\n\r\]+${srcfile} \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+REL-ADDRESS\[ \t\]+UNREL-ADDRESS\[^\r\n\]*" {
+    -re "symtab: \[^\n\r\]+${srcfile} \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+REL-ADDRESS\[ \t\]+UNREL-ADDRESS\[^\r\n\]*\r\n" {
        set saw_srcfile 1
        exp_continue
     }
-    -re "symtab: \[^\n\r\]+ \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+REL-ADDRESS\[ \t\]+UNREL-ADDRESS\[^\r\n\]*" {
+    -re "symtab: \[^\n\r\]+ \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+REL-ADDRESS\[ \t\]+UNREL-ADDRESS\[^\r\n\]*\r\n" {
        # Match each symtab to avoid overflowing expect's buffer.
        exp_continue
     }