]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
[gdb/testsuite] Fix gdb.tui/basic.exp with check-read1
authorTom de Vries <tdevries@suse.de>
Thu, 8 Aug 2019 20:26:28 +0000 (22:26 +0200)
committerTom de Vries <tdevries@suse.de>
Thu, 8 Aug 2019 20:26:28 +0000 (22:26 +0200)
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<SNIP>+++ _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  <tdevries@suse.de>

PR testsuite/24862
* lib/tuiterm.exp (_accept): Fix CSI regexp.

gdb/testsuite/ChangeLog
gdb/testsuite/lib/tuiterm.exp

index 27e3bb69553243c23a2820937b70957d69ba1094..eaf6390426650fa4928e19930aa137a109f3e393 100644 (file)
@@ -1,3 +1,8 @@
+2019-08-08  Tom de Vries  <tdevries@suse.de>
+
+       PR testsuite/24862
+       * lib/tuiterm.exp (_accept): Fix CSI regexp.
+
 2019-08-07  Philippe Waroquiers  <philippe.waroquiers@skynet.be>
 
        * gdb.base/style.exp: Update tests for help doc new invariants.
index d94fd431d8a0fbedd5d5082d53b62a000ff55e27..cd728156fc8c15062028d0f9f831c033bf468f26 100644 (file)
@@ -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)>>>"