From: Tom de Vries Date: Tue, 5 Oct 2021 13:52:53 +0000 (+0200) Subject: [gdb/testsuite] Fix FAIL in gdb.mi/mi-nsmoribund.exp X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=25b0a5714c9ef139bb50adf392154f528d6a4c8d;p=binutils-gdb.git [gdb/testsuite] Fix FAIL in gdb.mi/mi-nsmoribund.exp 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. --- diff --git a/gdb/testsuite/gdb.mi/mi-nsmoribund.exp b/gdb/testsuite/gdb.mi/mi-nsmoribund.exp index 58de9591da8..73a8d1ac71b 100644 --- a/gdb/testsuite/gdb.mi/mi-nsmoribund.exp +++ b/gdb/testsuite/gdb.mi/mi-nsmoribund.exp @@ -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\"" {