From: Tom de Vries Date: Thu, 9 Dec 2021 10:15:34 +0000 (+0100) Subject: [gdb/testsuite] Fix gdb.base/maint.exp with -readnow X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6722ee73f78acd2e22166e6fe334a8b9d9a12c38;p=binutils-gdb.git [gdb/testsuite] Fix gdb.base/maint.exp with -readnow With test-case gdb.base/maint.exp and target board -readnow, I run into: ... FAIL: gdb.base/maint.exp: maint info line-table w/o a file name ... The problem is that this and other regexps anchored using '^': ... -re "^$gdb_prompt $" { ... don't trigger because other regexps don't consume the entire preceding line. This is partly due to the addition of the IS-STMT column. Fix this by making the regexps consume entire lines. Tested on x86_64-linux with native and target board readnow, as well as check-read1 and check-readmore. --- diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp index 667f3733c9a..1bf9b35638d 100644 --- a/gdb/testsuite/gdb.base/maint.exp +++ b/gdb/testsuite/gdb.base/maint.exp @@ -432,11 +432,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\]+ADDRESS" { + -re "symtab: \[^\n\r\]+${srcfile} \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+ADDRESS\[^\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\]+ADDRESS" { + -re "symtab: \[^\n\r\]+ \\(\\(struct symtab \\*\\) $hex\\)\r\nlinetable: \\(\\(struct linetable \\*\\) $hex\\):\r\nINDEX\[ \t\]+LINE\[ \t\]+ADDRESS\[^\r\n\]*" { # Match each symtab to avoid overflowing expect's buffer. exp_continue } @@ -444,7 +444,7 @@ gdb_test_multiple "maint info line-table" \ # For symtabs with no linetable. exp_continue } - -re "^$decimal\[ \t\]+$decimal\[ \t\]+$hex\r\n" { + -re "^$decimal\[ \t\]+$decimal\[ \t\]+$hex\[^\r\n\]*\r\n" { # Line table entries can be long too: # # INDEX LINE ADDRESS @@ -462,7 +462,7 @@ gdb_test_multiple "maint info line-table" \ # Match each line to avoid overflowing expect's buffer. exp_continue } - -re "^$decimal\[ \t\]+END\[ \t\]+$hex\r\n" { + -re "^$decimal\[ \t\]+END\[ \t\]+$hex\[^\r\n\]*\r\n" { # Matches an end marker in the above. exp_continue }