]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
[gdb/testsuite] Add gdb.base/color-prompt.exp
authorTom de Vries <tdevries@suse.de>
Fri, 8 Aug 2025 08:51:18 +0000 (10:51 +0200)
committerTom de Vries <tdevries@suse.de>
Fri, 8 Aug 2025 08:51:18 +0000 (10:51 +0200)
commit450165f0845b682d1fc2046ff9ca2a48583cd69a
tree1d11ffb03d1366b2b8bf2c4b1ef1c2f1147f24c8
parent13f1820106cf8888d8df5fcc0f01e55ed1a10db4
[gdb/testsuite] Add gdb.base/color-prompt.exp

After updating the documentation in commit cf03713dd1c ("[gdb/cli] Document
\001 and \002 usage for set prompt"), I started to wonder if I could reproduce
the CLI issue described in PR cli/28887 using the TUI.

That turned out not to be the case, but I noticed handling of the markers in
tui_puts and tui_puts_internal, and no test-case exercising this, so I
decided to add this.

After doing so in gdb.tui/color-prompt.exp, I realized I could use the same
code to test the CLI case.

Add test-case gdb.base/color-prompt.exp that shares code with
gdb.tui/color-prompt.exp in gdb.tui/color-prompt.exp.tcl.

For the CLI case, I was hoping to reproduce the behaviour described in the PR,
but it didn't trigger.

FTR, I manually reproduced the behaviour and used script to record it.  I
observed the following sequence after the C-a:
- ^M (CR)             : go to start of line
- ^[[K (EL)           : erase line
- ^M (CR)             : go to start of line
- ^[[31m(gdb) ^[[0m   : output prompt
- some long command   : output text
- ^M (CR)             : go to start of line
- ^[[C, 15 times (CUF): cursor forward 15 times
giving me:
...
(gdb) some long command
               ^
...

Perhaps we'll trigger this on some other os, or once we start using a
different TERM value.

Tested on x86_64-linux.
gdb/testsuite/gdb.base/color-prompt.exp [new file with mode: 0644]
gdb/testsuite/gdb.tui/color-prompt.exp
gdb/testsuite/gdb.tui/color-prompt.exp.tcl [new file with mode: 0644]
gdb/testsuite/lib/tuiterm.exp