gdb/testsuite: resolve duplicate test names in gdb.threads/tls.exp
authorAndrew Burgess <aburgess@redhat.com>
Thu, 9 Jun 2022 12:40:07 +0000 (13:40 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Thu, 9 Jun 2022 12:40:07 +0000 (13:40 +0100)
While running the gdb.threads/tls.exp test with a GDB configured
without Python, I noticed some duplicate test names.

This is caused by a call to skip_python_tests that is within a proc
that is called multiple times by the test script.  Each call to
skip_python_tests results in a call to 'unsupported', and this causes
the duplicate test names.

After this commit we now call skip_python_tests just once and place
the result into a variable.  Now, instead of calling skip_python_tests
multiple times, we just check the variable.

There should be no change in what is tested after this commit.

gdb/testsuite/gdb.threads/tls.exp

index 486e29dd901330de8fee77f7afe8027522a272f9..4f88c0ec987fc55fa32ddc964dc36af507b11c66 100644 (file)
@@ -72,7 +72,7 @@ proc check_thread_local {number} {
            "= $expected_value" \
            "${number} thread local storage"
 
-    if {![skip_python_tests]} {
+    if {!$::has_python_support} {
        gdb_test_no_output \
            "python sym = gdb.lookup_symbol('a_thread_local')\[0\]" \
            "${number} look up a_thread_local symbol"
@@ -155,6 +155,9 @@ proc check_thread_stack {number spin_threads spin_threads_level} {
 
 clean_restart ${binfile}
 
+# Set this to avoid calling skip_python_tests repeatedly.
+set has_python_support [skip_python_tests]
+
 gdb_test_multiple "print a_thread_local" "" {
     -re -wrap "Cannot find thread-local variables on this target" {
        kfail "gdb/25807" $gdb_test_name