https://github.com/python/cpython/commit/aafb1435d803c68ea3bbd2748f1e141c9deaadb0
commit: aafb1435d803c68ea3bbd2748f1e141c9deaadb0
branch: main
author: Ani <5357586+anist...@users.noreply.github.com>
committer: brettcannon <br...@python.org>
date: 2025-07-22T12:50:13-07:00
summary:

Use `test.support.is_wasm32` flag for `is_emscripten` or `is_wasi` for generic 
checks (GH-136815)

Co-authored-by: Brett Cannon <br...@python.org>

files:
M Lib/test/pythoninfo.py
M Lib/test/support/__init__.py
M Lib/test/test_build_details.py
M Lib/test/test_import/__init__.py
M Lib/test/test_pathlib/test_pathlib.py
M Lib/test/test_pty.py
M Lib/test/test_pydoc/test_pydoc.py
M Lib/test/test_support.py
M Lib/test/test_venv.py

diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index 80a262c18a5ad2..e8718decf6d6e9 100644
--- a/Lib/test/pythoninfo.py
+++ b/Lib/test/pythoninfo.py
@@ -762,6 +762,7 @@ def collect_support(info_add):
         'is_emscripten',
         'is_jython',
         'is_wasi',
+        'is_wasm32',
     )
     copy_attributes(info_add, support, 'support.%s', attributes)
 
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index 196a2e5c600e24..100438bf71d3a6 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -569,6 +569,9 @@ def skip_android_selinux(name):
 is_emscripten = sys.platform == "emscripten"
 is_wasi = sys.platform == "wasi"
 
+# Use is_wasm32 as a generic check for WebAssembly platforms.
+is_wasm32 = is_emscripten or is_wasi
+
 def skip_emscripten_stack_overflow():
     return unittest.skipIf(is_emscripten, "Exhausts stack on Emscripten")
 
@@ -3148,7 +3151,7 @@ def linked_to_musl():
 
     # emscripten (at least as far as we're concerned) and wasi use musl,
     # but platform doesn't know how to get the version, so set it to zero.
-    if is_emscripten or is_wasi:
+    if is_wasm32:
         _linked_to_musl = (0, 0, 0)
         return _linked_to_musl
 
diff --git a/Lib/test/test_build_details.py b/Lib/test/test_build_details.py
index 691fd0bb98c097..bc04963f5ad613 100644
--- a/Lib/test/test_build_details.py
+++ b/Lib/test/test_build_details.py
@@ -5,7 +5,7 @@
 import string
 import unittest
 
-from test.support import is_android, is_apple_mobile, is_emscripten, is_wasi
+from test.support import is_android, is_apple_mobile, is_wasm32
 
 
 class FormatTestsBase:
@@ -91,7 +91,7 @@ def test_implementation(self):
 
 
 @unittest.skipIf(os.name != 'posix', 'Feature only implemented on POSIX right 
now')
-@unittest.skipIf(is_wasi or is_emscripten, 'Feature not available on 
WebAssembly builds')
+@unittest.skipIf(is_wasm32, 'Feature not available on WebAssembly builds')
 class CPythonBuildDetailsTests(unittest.TestCase, FormatTestsBase):
     """Test CPython's install details file implementation."""
 
diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py
index 6e34094c5aa422..abbd5f1ed5f12f 100644
--- a/Lib/test/test_import/__init__.py
+++ b/Lib/test/test_import/__init__.py
@@ -35,7 +35,7 @@
     cpython_only,
     is_apple_mobile,
     is_emscripten,
-    is_wasi,
+    is_wasm32,
     run_in_subinterp,
     run_in_subinterp_with_config,
     Py_TRACE_REFS,
@@ -1257,7 +1257,7 @@ class FilePermissionTests(unittest.TestCase):
     @unittest.skipUnless(os.name == 'posix',
                          "test meaningful only on posix systems")
     @unittest.skipIf(
-        is_emscripten or is_wasi,
+        is_wasm32,
         "Emscripten's/WASI's umask is a stub."
     )
     def test_creation_mode(self):
diff --git a/Lib/test/test_pathlib/test_pathlib.py 
b/Lib/test/test_pathlib/test_pathlib.py
index 16d30e3ca2d17d..a1105aae6351b6 100644
--- a/Lib/test/test_pathlib/test_pathlib.py
+++ b/Lib/test/test_pathlib/test_pathlib.py
@@ -17,7 +17,7 @@
 
 from test.support import import_helper
 from test.support import cpython_only
-from test.support import is_emscripten, is_wasi
+from test.support import is_emscripten, is_wasi, is_wasm32
 from test.support import infinite_recursion
 from test.support import os_helper
 from test.support.os_helper import TESTFN, FS_NONASCII, FakePath
@@ -3158,7 +3158,7 @@ def test_absolute_posix(self):
         self.assertEqual(str(P('//a/b').absolute()), '//a/b')
 
     @unittest.skipIf(
-        is_emscripten or is_wasi,
+        is_wasm32,
         "umask is not implemented on Emscripten/WASI."
     )
     @needs_posix
@@ -3189,7 +3189,7 @@ def test_resolve_root(self):
             os.chdir(current_directory)
 
     @unittest.skipIf(
-        is_emscripten or is_wasi,
+        is_wasm32,
         "umask is not implemented on Emscripten/WASI."
     )
     @needs_posix
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index 4836f38c388c05..ed4fe8a140879d 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -1,6 +1,6 @@
 import unittest
 from test.support import (
-    is_android, is_apple_mobile, is_emscripten, is_wasi, reap_children, verbose
+    is_android, is_apple_mobile, is_wasm32, reap_children, verbose
 )
 from test.support.import_helper import import_module
 from test.support.os_helper import TESTFN, unlink
@@ -8,7 +8,7 @@
 # Skip these tests if termios is not available
 import_module('termios')
 
-if is_android or is_apple_mobile or is_emscripten or is_wasi:
+if is_android or is_apple_mobile or is_wasm32:
     raise unittest.SkipTest("pty is not available on this platform")
 
 import errno
diff --git a/Lib/test/test_pydoc/test_pydoc.py 
b/Lib/test/test_pydoc/test_pydoc.py
index 005526d994bd62..3b50ead00bdd31 100644
--- a/Lib/test/test_pydoc/test_pydoc.py
+++ b/Lib/test/test_pydoc/test_pydoc.py
@@ -33,7 +33,7 @@
                                         assert_python_failure, spawn_python)
 from test.support import threading_helper
 from test.support import (reap_children, captured_stdout,
-                          captured_stderr, is_emscripten, is_wasi,
+                          captured_stderr, is_wasm32,
                           requires_docstrings, MISSING_C_DOCSTRINGS)
 from test.support.os_helper import (TESTFN, rmtree, unlink)
 from test.test_pydoc import pydoc_mod
@@ -2081,7 +2081,7 @@ def test_html_doc_routines_in_module(self):
 
 
 @unittest.skipIf(
-    is_emscripten or is_wasi,
+    is_wasm32,
     "Socket server not available on Emscripten/WASI."
 )
 class PydocServerTest(unittest.TestCase):
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index 92b3ef26cd979a..9ec382afb65fe4 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -787,7 +787,7 @@ def test_get_signal_name(self):
     def test_linked_to_musl(self):
         linked = support.linked_to_musl()
         self.assertIsNotNone(linked)
-        if support.is_wasi or support.is_emscripten:
+        if support.is_wasm32:
             self.assertTrue(linked)
         # The value is cached, so make sure it returns the same value again.
         self.assertIs(linked, support.linked_to_musl())
diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py
index d62f3fba2d1a94..3c18c9c2900ad7 100644
--- a/Lib/test/test_venv.py
+++ b/Lib/test/test_venv.py
@@ -21,7 +21,7 @@
 from test.support import (captured_stdout, captured_stderr,
                           skip_if_broken_multiprocessing_synchronize, verbose,
                           requires_subprocess, is_android, is_apple_mobile,
-                          is_emscripten, is_wasi,
+                          is_wasm32,
                           requires_venv_with_pip, TEST_HOME_DIR,
                           requires_resource, copy_python_src_ignore)
 from test.support.os_helper import (can_symlink, EnvironmentVarGuard, rmtree,
@@ -42,7 +42,7 @@
     or sys._base_executable != sys.executable,
     'cannot run venv.create from within a venv on this platform')
 
-if is_android or is_apple_mobile or is_emscripten or is_wasi:
+if is_android or is_apple_mobile or is_wasm32:
     raise unittest.SkipTest("venv is not available on this platform")
 
 @requires_subprocess()

_______________________________________________
Python-checkins mailing list -- python-checkins@python.org
To unsubscribe send an email to python-checkins-le...@python.org
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: arch...@mail-archive.com

Reply via email to