In bug PR gdb/29036, another failure was reported for the test
gdb.mi/mi-multi-commands.exp. This test sends two commands to GDB as
a single write, and then checks that both commands are executed.
The problem that was encountered here is that the output of the first
command, which looks like this:
^done,value="\"FIRST COMMAND\""
Is actually produced in parts, first the '^done' is printed, then the
',value="\"FIRST COMMAND\"" is printed.
What was happening is that some characters from the second command
were being echoed after the '^done' had been printed, but before the
value part had been printed. To avoid this issue I've relaxed the
pattern that checks for the first command a little. With this fix in
place the occasional failure in this test is no longer showing up.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29036
set seen_second_message false
gdb_test_multiple "" "look for first command output, command length $i" -prompt "$mi_gdb_prompt" {
- -re "\\^done,value=\"\\\\\"FIRST COMMAND\\\\\"\"" {
+ -re "\\^done.*,value=\"\\\\\"FIRST COMMAND\\\\\"\"" {
set seen_first_message true
exp_continue
}