From 128d6509819d9d4fe6f52d1a5dcc458b9cbd0f4c Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 8 Aug 2019 22:26:28 +0200 Subject: [PATCH] [gdb/testsuite] Fix gdb.tui/basic.exp with check-read1 With gdb.tui/basic.exp and check-read1, we run into (using -v for verbose log): ... ^[[0+++ _csi_0 <<<>>> ERROR: (DejaGnu) proc "_csi_0" does not exist. ... In contrast, without check-read1, we have: ... ^[[0;10m+++ _csi_m <<<0;10>>> ... The problem is that this regexp in _accept: ... -re "^\x1b\\\[(\[0-9;\]*)(\[0-9a-zA-Z@\])" { ... while matching the longer sequence '^[' '[' '0' ';' '1' '0' 'm', also matches the shorter sequence '^[' '[' '0'. The regexp attempts to match a CSI (Control Sequence Introducer) sequence, and the final byte of such a sequence cannot be a digit. Fix the regexp accordingly: ... - -re "^\x1b\\\[(\[0-9;\]*)(\[0-9a-zA-Z@\])" { + -re "^\x1b\\\[(\[0-9;\]*)(\[a-zA-Z@\])" { ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2019-08-08 Tom de Vries PR testsuite/24862 * lib/tuiterm.exp (_accept): Fix CSI regexp. --- gdb/testsuite/ChangeLog | 5 +++++ gdb/testsuite/lib/tuiterm.exp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 27e3bb69553..eaf63904266 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-08-08 Tom de Vries + + PR testsuite/24862 + * lib/tuiterm.exp (_accept): Fix CSI regexp. + 2019-08-07 Philippe Waroquiers * gdb.base/style.exp: Update tests for help doc new invariants. diff --git a/gdb/testsuite/lib/tuiterm.exp b/gdb/testsuite/lib/tuiterm.exp index d94fd431d8a..cd728156fc8 100644 --- a/gdb/testsuite/lib/tuiterm.exp +++ b/gdb/testsuite/lib/tuiterm.exp @@ -392,7 +392,7 @@ namespace eval Term { verbose "+++ unsupported escape" error "unsupported escape" } - -re "^\x1b\\\[(\[0-9;\]*)(\[0-9a-zA-Z@\])" { + -re "^\x1b\\\[(\[0-9;\]*)(\[a-zA-Z@\])" { set cmd $expect_out(2,string) set params [split $expect_out(1,string) ";"] verbose "+++ _csi_$cmd <<<$expect_out(1,string)>>>" -- 2.30.2