[gdb/testsuite] Fix gdb.base/maint.exp with check-read1

With gdb.base/maint.exp and check-read1, we get:
...
FAIL: gdb.base/maint.exp: maint print registers
...

Using this patch:
...
diff --git a/gdb/testsuite/gdb.base/maint.exp b/gdb/testsuite/gdb.base/maint.exp
index a7675ea215..b81d7ec660 100644
--- a/gdb/testsuite/gdb.base/maint.exp
+++ b/gdb/testsuite/gdb.base/maint.exp
@@ -81,7 +81,9 @@ gdb_test_multiple $test $test {
         exp_continue
     }
     -re "$gdb_prompt $" {
-        gdb_assert { $saw_registers && $saw_headers } $test
+       gdb_assert { $saw_headers } "$test: saw headers"
+       gdb_assert { $saw_registers } "$test: saw registers"
+       pass "$test: got prompt"
     }
 }
...

We get more information:
...
PASS: gdb.base/maint.exp: maint print registers: saw headers
FAIL: gdb.base/maint.exp: maint print registers: saw registers
PASS: gdb.base/maint.exp: maint print registers: got prompt
...

The problem is that when matching:
...
(gdb) maint print registers^M
 Name         Nr  Rel Offset    Size  Type            ^M
 rax           0    0      0       8 int64_t         ^M
...
the regexp for $saw_headers ends in "\[\r\n\]+", which
allows it to match only the "\r".  The remaining "\n" then start the next line
to be matched, which doesn't match for the $saw_registers regexp since it
starts with "^\[^\r\n\]+".

Fix this by ending the regexps with "\r\n".

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2019-07-29  Tom de Vries  <tdevries@suse.de>

	* gdb.base/maint.exp: Use "\r\n" instead of "\[\r\n\]+" in "maint
          print registers" regexps.
This commit is contained in:
Tom de Vries 2019-07-29 11:24:04 +02:00
parent b528dae095
commit 9197cd8b52
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2019-07-29 Tom de Vries <tdevries@suse.de>
* gdb.base/maint.exp: Use "\r\n" instead of "\[\r\n\]+" in "maint
print registers" regexps.
2019-07-29 Tom de Vries <tdevries@suse.de>
* gdb.base/define.exp: Add "\r\n" to "reset gdb_prompt" regexp.

View File

@ -69,15 +69,15 @@ set saw_registers 0
set saw_headers 0
set test "maint print registers"
gdb_test_multiple $test $test {
-re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\[\r\n\]+" {
-re "\[^\r\n\]+Name\[^\r\n\]+Nr\[^\r\n\]+Rel\[^\r\n\]+Offset\[^\r\n\]+Size\[^\r\n\]+Type\[^\r\n\]+\r\n" {
set saw_headers 1
exp_continue
}
-re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
-re "^\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\[0-9\]+\[^\r\n\]+\r\n" {
set saw_registers 1
exp_continue
}
-re "^\\*\[0-9\]+\[^\r\n\]+\[\r\n\]+" {
-re "^\\*\[0-9\]+\[^\r\n\]+\r\n" {
exp_continue
}
-re "$gdb_prompt $" {