[gdb/testsuite] Fix gdb.base/sect-cmd.exp
authorTom de Vries <tdevries@suse.de>
Tue, 8 Jun 2021 08:04:44 +0000 (10:04 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 8 Jun 2021 08:04:44 +0000 (10:04 +0200)
With a testsuite setup modified to make expect wait a little bit longer for
gdb output (see PR27957), I reliably run into:
...
(gdb) FAIL: gdb.base/sect-cmd.exp: set section .text to original \
  address (timeout)
...

The problem is a too greedy regexp:
...
       -re ".*$address1 \- $address2 is $section_name.*" {
...
which ends up consuming the gdb prompt with the terminating ".*".

Fix this by limiting the regexp to a single line.

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

2021-06-08  Tom de Vries  <tdevries@suse.de>

* gdb.base/sect-cmd.exp: Fix saw_section_address_line regexp.

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/sect-cmd.exp

index 45040960d0f0386b36b38072036ad52673bd87a2..a856e890f802bc88b7c2082a7d98876aa147fb78 100644 (file)
@@ -1,3 +1,7 @@
+2021-06-08  Tom de Vries  <tdevries@suse.de>
+
+       * gdb.base/sect-cmd.exp: Fix saw_section_address_line regexp.
+
 2021-06-07  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * gdb.base/continue-all-already-running.exp: Call fail if can't
index 7aa24ca615ffecf32a4ea655f05ecbf5aaed2ba5..cb1e4464a69bad0c4d8735aef83ac82ad3e01dc9 100644 (file)
@@ -58,7 +58,7 @@ if { $address1 == "" || $address2 == "" || $section_name == "" } {
 set saw_section_address_line false
 gdb_test_multiple "section $section_name $address1" \
     "set section $section_name to original address" {
-       -re ".*$address1 \- $address2 is $section_name.*" {
+       -re ".*$address1 \- $address2 is $section_name in \[^\r\n\]*" {
            set saw_section_address_line true
            exp_continue
        }