[Python-checkins] gh-106931: Fix the WASM Buildbots (gh-107362)

ericsnowcurrently webhook-mailer at python.org
Thu Jul 27 17:46:06 EDT 2023


https://github.com/python/cpython/commit/2f9bb77764c3b41867f79d6df6e2ed71715dad63
commit: 2f9bb77764c3b41867f79d6df6e2ed71715dad63
branch: main
author: Eric Snow <ericsnowcurrently at gmail.com>
committer: ericsnowcurrently <ericsnowcurrently at gmail.com>
date: 2023-07-27T21:46:02Z
summary:

gh-106931: Fix the WASM Buildbots (gh-107362)

Skip subinterpreter tests when not supported.

files:
M Lib/test/test_sys.py

diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 78ed4bbaad4eb..9dce15ed1529e 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -14,12 +14,21 @@
 from test.support.script_helper import assert_python_ok, assert_python_failure
 from test.support import threading_helper
 from test.support import import_helper
-from test.support import interpreters
+try:
+    from test.support import interpreters
+except ImportError:
+    interpreters = None
 import textwrap
 import unittest
 import warnings
 
 
+def requires_subinterpreters(meth):
+    """Decorator to skip a test if subinterpreters are not supported."""
+    return unittest.skipIf(interpreters is None,
+                           'subinterpreters required')(meth)
+
+
 # count the number of test runs, used to create unique
 # strings to intern in test_intern()
 INTERN_NUMRUNS = 0
@@ -700,6 +709,7 @@ def __hash__(self):
 
         self.assertRaises(TypeError, sys.intern, S("abc"))
 
+    @requires_subinterpreters
     def test_subinterp_intern_dynamically_allocated(self):
         global INTERN_NUMRUNS
         INTERN_NUMRUNS += 1
@@ -715,6 +725,7 @@ def test_subinterp_intern_dynamically_allocated(self):
             assert id(t) != {id(t)}, (id(t), {id(t)})
             '''))
 
+    @requires_subinterpreters
     def test_subinterp_intern_statically_allocated(self):
         # See Tools/build/generate_global_objects.py for the list
         # of strings that are always statically allocated.



More information about the Python-checkins mailing list