[binutils-gdb] [gdb/testsuite] Fix gdb.base/new-ui-pending-input.exp timeout

Tom de Vries vries@sourceware.org
Mon Jun 7 12:33:59 GMT 2021


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=bc37aacde189cbebffd06b5459b239a0407de396

commit bc37aacde189cbebffd06b5459b239a0407de396
Author: Tom de Vries <tdevries@suse.de>
Date:   Mon Jun 7 14:33:50 2021 +0200

    [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".

Diff:
---
 gdb/testsuite/ChangeLog                         | 6 ++++++
 gdb/testsuite/gdb.base/new-ui-pending-input.exp | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 1607a0d6a1e..fb70c0f2cf2 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -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
diff --git a/gdb/testsuite/gdb.base/new-ui-pending-input.exp b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
index 09e10f9567f..4853f951e86 100644
--- a/gdb/testsuite/gdb.base/new-ui-pending-input.exp
+++ b/gdb/testsuite/gdb.base/new-ui-pending-input.exp
@@ -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
 	    }
 	}


More information about the Gdb-cvs mailing list