[gdb/testsuite] Fix gdb.base/new-ui-pending-input.exp timeout
authorTom de Vries <tdevries@suse.de>
Mon, 7 Jun 2021 12:33:50 +0000 (14:33 +0200)
committerTom de Vries <tdevries@suse.de>
Mon, 7 Jun 2021 12:33:50 +0000 (14:33 +0200)
With a testsuite setup modified to make expect wait a little bit longer for
gdb output (see PR27957), I run into:
...
PASS: gdb.base/new-ui-pending-input.exp: spawn gdb
print 1^M
print 2^M
print 3^M
(gdb) $1 = 1^M
(gdb) $2 = 2^M
(gdb) $3 = 3^M
(gdb) PASS: gdb.base/new-ui-pending-input.exp: initial prompt on extra console
^M
Breakpoint 1, main () at new-ui-pending-input.c:25^M
25        return 0; /* set breakpoint here */^M
FAIL: gdb.base/new-ui-pending-input.exp: print 1 on extra console (timeout)
...

Usually, I get a pass instead.  In the passing case, the "initial prompt"
PASS is after the first prompt:
...
PASS: gdb.base/new-ui-pending-input.exp: spawn gdb
print 1^M
print 2^M
print 3^M
(gdb) PASS: gdb.base/new-ui-pending-input.exp: initial prompt on extra console
...
while in the failing case, that PASS is after the fourth prompt.

The regexp doesn't match the first prompt because it terminates with a '$':
...
           -re "$gdb_prompt $" {
...

Fix this by removing the terminating '$' and prefixing the regex with
something unique to the first prompt: "print 3".

Tested on x86_64-linux.

gdb/testsuite/ChangeLog:

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

* gdb.base/new-ui-pending-input.exp
(test_command_line_new_ui_pending_input): Fix regexp for "initial
prompt on extra console".

gdb/testsuite/ChangeLog
gdb/testsuite/gdb.base/new-ui-pending-input.exp

index 1607a0d6a1edaea468a9abff168c5c314a341a3f..fb70c0f2cf247d5f544f73a99055386125888339 100644 (file)
@@ -1,3 +1,9 @@
+2021-06-07  Tom de Vries  <tdevries@suse.de>
+
+       * gdb.base/new-ui-pending-input.exp
+       (test_command_line_new_ui_pending_input): Fix regexp for "initial
+       prompt on extra console".
+
 2021-06-07  Tom de Vries  <tdevries@suse.de>
 
        * gdb.base/info-types.exp.tcl (run_test): Move "random line" regexp
index 09e10f9567f3ca7954fb1fce07f96390554b2bf8..4853f951e86dc73e88883dab539934da14174757 100644 (file)
@@ -77,7 +77,7 @@ proc test_command_line_new_ui_pending_input {} {
     with_spawn_id $extra_spawn_id {
        set test "initial prompt on extra console"
        gdb_test_multiple "" $test {
-           -re "$gdb_prompt $" {
+           -re "\r\nprint 3\r\n$gdb_prompt " {
                pass $test
            }
        }