[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.
4 files changed