Rewrite skip_python_tests
authorTom Tromey <tom@tromey.com>
Sat, 7 Jan 2023 03:36:38 +0000 (20:36 -0700)
committerTom Tromey <tom@tromey.com>
Fri, 13 Jan 2023 20:18:56 +0000 (13:18 -0700)
This rewrites skip_python_tests to examine the output of
"gdb --configuration".  This is a bit nicer because it
does not require an already-running gdb.

gdb/testsuite/lib/gdb.exp
gdb/testsuite/lib/mi-support.exp

index 3d416f902b818ae4b70d0238f247a0a209fc0a39..64eef9701c26b386d189c8f723a2a8a77fb235f2 100644 (file)
@@ -2449,28 +2449,10 @@ proc skip_rust_tests {} {
 }
 
 # Return a 1 for configurations that do not support Python scripting.
-# PROMPT_REGEXP is the expected prompt.
 
-proc skip_python_tests_prompt { prompt_regexp } {
-    gdb_test_multiple "python print ('test')" "verify python support" \
-       -prompt "$prompt_regexp" {
-           -re "not supported.*$prompt_regexp" {
-               unsupported "Python support is disabled."
-               return 1
-           }
-           -re "$prompt_regexp" {}
-       }
-
-    return 0
-}
-
-# Return a 1 for configurations that do not support Python scripting.
-# Note: This also sets various globals that specify which version of Python
-# is in use.  See skip_python_tests_prompt.
-
-proc skip_python_tests {} {
-    global gdb_prompt
-    return [skip_python_tests_prompt "$gdb_prompt $"]
+gdb_caching_proc skip_python_tests {
+    set output [remote_exec host $::GDB --configuration]
+    return [expr {[string first "--with-python" $output] == -1}]
 }
 
 # Return a 1 if we should skip shared library tests.
index 1ee087d81270e9ee8c9db4cbea958d170e51760d..f756cbe2d7344dce89bed201da91e7ff1f451943 100644 (file)
@@ -2735,12 +2735,9 @@ proc mi_make_breakpoint_table {bp_list} {
 }
 
 # Return a 1 for configurations that do not support Python scripting.
-# Note: This also sets various globals that specify which version of Python
-# is in use.  See skip_python_tests_prompt.
 
 proc mi_skip_python_tests {} {
-    global mi_gdb_prompt
-    return [skip_python_tests_prompt "$mi_gdb_prompt$"]
+    return [skip_python_tests]
 }
 
 # As skip_libstdcxx_probe_tests_prompt, with mi_gdb_prompt.