[gdb/testsuite] Fix FAIL in gdb.mi/mi-nsmoribund.exp
authorTom de Vries <tdevries@suse.de>
Tue, 5 Oct 2021 13:52:53 +0000 (15:52 +0200)
committerTom de Vries <tdevries@suse.de>
Tue, 5 Oct 2021 13:52:53 +0000 (15:52 +0200)
Since commit e36788d1354 "[gdb/testsuite] Fix handling of nr_args < 3 in
mi_gdb_test" we run into:
...
PASS: gdb.mi/mi-nsmoribund.exp: print done = 1
Expecting: ^(.*[^M
]+)?([^
]*^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"^M
\*running,thread-id="[0-9]+"[^M
]+[(]gdb[)] ^M
[ ]*)
103-exec-continue --all^M
=library-loaded,id="/lib64/libgcc_s.so.1",target-name="/lib64/libgcc_s.so.1",\
  host-name="/lib64/libgcc_s.so.1",symbols-loaded="0",thread-group="i1",\
  ranges=[{from="0x00007ffff22a5010",to="0x00007ffff22b6365"}]^M
103^running^M
*running,thread-id="5"^M
(gdb) ^M
FAIL: gdb.mi/mi-nsmoribund.exp: 103-exec-continue --all (unexpected output)
...

The regexp expect running messages for all threads, but we only get one for
thread 5.

The test-case uses non-stop mode, and when the exec-continue --all command is
issued, thread 5 is stopped and all other threads are running.  Consequently,
only thread 5 is resumed, and reported as running.

Fix this by updating the regexp.

Tested on x86_64-linux.

gdb/testsuite/gdb.mi/mi-nsmoribund.exp

index 58de9591da84ec53ff9e70961a8ccf7901baff15..73a8d1ac71b5aaadbfcbdf8cfa10e1b813d63ace 100644 (file)
@@ -121,7 +121,11 @@ set re [list \
            [string_list_to_regexp " = 1" \\ n {"} \r\n ^ done]]
 set re [join $re ""]
 mi_gdb_test "print done = 1" $re
-mi_gdb_test "103-exec-continue --all" "\[^\n\]*\r\n$running_re"
+
+# Command exec-continue --all attempts to resume all threads, but only
+# thread 5 was stopped, so only that one is reported as running.
+set running_re "\\*running,thread-id=\"5\""
+mi_gdb_test "103-exec-continue --all" "\[^\n\]*\r\n$running_re" \
 
 gdb_expect {
     -re "\\*stopped,reason=\"exited-normally\"" {