[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)
commitbc37aacde189cbebffd06b5459b239a0407de396
tree0763fdc8af8dce2725ade458669cba7ae390d7a7
parent7ee8c127555c89781bcd9451cdea54884f6ac155
[gdb/testsuite] Fix gdb.base/new-ui-pending-input.exp timeout

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