[v2,47/79] Rewrite skip_python_tests

Message ID 20230112030052.3306113-48-tom@tromey.com
State Committed
Headers
Series Rewrite "require" test procedure and use it more often |

Commit Message

Tom Tromey Jan. 12, 2023, 3 a.m. UTC
  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        | 24 +++---------------------
 gdb/testsuite/lib/mi-support.exp |  5 +----
 2 files changed, 4 insertions(+), 25 deletions(-)
  

Patch

diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 3d416f902b8..64eef9701c2 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -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.
diff --git a/gdb/testsuite/lib/mi-support.exp b/gdb/testsuite/lib/mi-support.exp
index 1ee087d8127..f756cbe2d73 100644
--- a/gdb/testsuite/lib/mi-support.exp
+++ b/gdb/testsuite/lib/mi-support.exp
@@ -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.