[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)
commit128d6509819d9d4fe6f52d1a5dcc458b9cbd0f4c
treeecbb4551c4b3090c5c8037583620c0c6eeee279a
parentdbe15e4e1dda8e20cc347ced751631d49a5f57de
[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<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