Skip to content

Commit

Permalink
[gdb/testsuite] Fix gdb.base/new-ui-pending-input.exp timeout
Browse files Browse the repository at this point in the history
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".
  • Loading branch information
vries committed Jun 7, 2021
1 parent 7ee8c12 commit bc37aac
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 1 deletion.
6 changes: 6 additions & 0 deletions gdb/testsuite/ChangeLog
Original file line number Diff line number Diff line change
@@ -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
Expand Down
2 changes: 1 addition & 1 deletion gdb/testsuite/gdb.base/new-ui-pending-input.exp
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
}
Expand Down

0 comments on commit bc37aac

Please sign in to comment.