Adjust gdb.thread/pthreads.exp for Cygwin
authorPedro Alves <pedro@palves.net>
Tue, 19 Sep 2023 11:26:26 +0000 (12:26 +0100)
committerPedro Alves <pedro@palves.net>
Wed, 27 Sep 2023 14:28:40 +0000 (15:28 +0100)
The Cygwin runtime spawns a few extra threads, so using hardcoded
thread numbers in tests rarely works correctly.  Thankfully, this
testcase already records the ids of the important threads in globals.
It just so happens that they are not used in a few tests.  This commit
fixes that.

With this, the test passes cleanly on Cygwin [1].  Still passes cleanly on
x86-64 GNU/Linux.

[1] - with system GDB.  Upstream GDB is missing a couple patches
Cygwin carries downstream.

Approved-By: Tom Tromey <tom@tromey.com>
Change-Id: I01bf71fcb44ceddea8bd16b933b10b964749a6af

gdb/testsuite/gdb.threads/pthreads.exp

index 41a7cb3800f17482823c5154eaf28123308f7588..122172a052b8a5bf2008b95bd863ab5bba8d07ac 100644 (file)
@@ -274,21 +274,21 @@ proc check_qcs {} {
     set number "\[0-9]\+"
 
     # Check -c (continue) and -s (silently continue) flags.
-    gdb_test "thread apply 2-3 p notfound" \
+    gdb_test "thread apply $::thread1_id $::thread2_id p notfound" \
        [multi_line \
             "" \
-            "Thread 2 ${any}" \
+            "Thread $::thread1_id ${any}" \
             "No symbol \\\"notfound\\\" in current context." \
            ] \
        "run a failing command that aborts thread apply"
 
-    gdb_test "thread apply 2-3 -c p notfound" \
+    gdb_test "thread apply $::thread1_id $::thread2_id -c p notfound" \
        [multi_line \
             "" \
-            "Thread 2 ${any}" \
+            "Thread $::thread1_id ${any}" \
             "No symbol \\\"notfound\\\" in current context." \
             "" \
-            "Thread 3 ${any}" \
+            "Thread $::thread2_id ${any}" \
             "No symbol \\\"notfound\\\" in current context." \
            ] \
        "run a failing command, -c to continue"
@@ -302,11 +302,11 @@ proc check_qcs {} {
                gdb_test $cmd \
                    [multi_line \
                         "" \
-                        "Thread 3 ${any}" \
+                        "Thread $::thread2_id ${any}" \
                         "#${number}${ws}${any} in thread2 ${any}" \
                         "\\\$\[0-9]+ = ${number}${any}" \
                         "" \
-                        "Thread 2 ${any}" \
+                        "Thread $::thread1_id ${any}" \
                         "#${number}${ws}${any} in thread1 ${any}" \
                         "\\\$\[0-9]+ = ${number}${any}" \
                        ] \