From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1726) id 7FD423858C50; Tue, 29 Mar 2022 13:40:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7FD423858C50 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Andrew Burgess To: gdb-cvs@sourceware.org Subject: [binutils-gdb] gdb/testsuite: fix test failure when building against readline v7 X-Act-Checkin: binutils-gdb X-Git-Author: Andrew Burgess X-Git-Refname: refs/heads/master X-Git-Oldrev: 4daa9f295d07917610f0972e0cd45df8c51e69a2 X-Git-Newrev: 47b8bb38fcb8ea1df70a932f7fe9fedca8993ec7 Message-Id: <20220329134037.7FD423858C50@sourceware.org> Date: Tue, 29 Mar 2022 13:40:37 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 Mar 2022 13:40:37 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D47b8bb38fcb8= ea1df70a932f7fe9fedca8993ec7 commit 47b8bb38fcb8ea1df70a932f7fe9fedca8993ec7 Author: Andrew Burgess Date: Sat Mar 26 13:41:33 2022 +0000 gdb/testsuite: fix test failure when building against readline v7 =20 The test added in the commit: =20 commit a6b413d24ccc5d76179bab866834e11fd6fec294 Date: Fri Mar 11 14:44:03 2022 +0000 =20 gdb: work around prompt corruption caused by bracketed-paste-mode =20 Was not written with readline 7 in mind, only readline 8+. Between readline 7 and 8 the escape sequence used to disable bracketed paste mode changed, an additional '\r' character was added to the end. In fact, it was the addition of this '\r' character that triggered the issue for which the above commit is part of the solution. =20 Anyway, the test tries to spot the case where the output from GDB is not perfect, but does have the above work around applied. However, the pattern in the test assumes that the problematic '\r' will be present, and this is only true for readline 8+. With readline 7 the test was failing. =20 In this commit I generalise the pattern a little so that the test will still KFAIL with readline 7. =20 It's a little unfortunate that the test is KFAILing with readline 7, as without the problematic '\r' there's actually no reason that GDB couldn't "do the right thing" in this case, in which case, the test would PASS, but that would require changes within GDB itself. =20 My preference then is that initially we patch the test to get it KFAILing, then in a separate commit I can modify GDB so that it can PASS with readline 7. Diff: --- gdb/testsuite/gdb.base/eof-exit.exp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.base/eof-exit.exp b/gdb/testsuite/gdb.base/e= of-exit.exp index d604d029974..2d9530ccebe 100644 --- a/gdb/testsuite/gdb.base/eof-exit.exp +++ b/gdb/testsuite/gdb.base/eof-exit.exp @@ -38,7 +38,7 @@ proc run_test {} { -re "$::gdb_prompt \[^\n\]*\r\[^\n\]*quit" { fail "$gdb_test_name (misplaced \\r)" } - -re "$::gdb_prompt \[^\n\]*\r\[^\n\]*\r\nquit\r\n" { + -re "$::gdb_prompt (?:\[^\n\]*\r)?\[^\n\]*\r\nquit\r\n" { # For versions of readline that don't include the # RL_STATE_EOF patch, then the 'quit' is printed on the # subsequent line.