]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-106931: Fix the WASM Buildbots (gh-107362)
authorEric Snow <ericsnowcurrently@gmail.com>
Thu, 27 Jul 2023 21:46:02 +0000 (15:46 -0600)
committerGitHub <noreply@github.com>
Thu, 27 Jul 2023 21:46:02 +0000 (21:46 +0000)
Skip subinterpreter tests when not supported.

Lib/test/test_sys.py

index 78ed4bbaad4eb67a95cfc522b9d0ef92a7615ff6..9dce15ed1529e768b81945befa50bce1cd372d1c 100644 (file)
@@ -14,12 +14,21 @@ from test.support import os_helper
 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 @@ class SysModuleTest(unittest.TestCase):
 
         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 @@ class SysModuleTest(unittest.TestCase):
             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.