]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] Add support.MS_WINDOWS constant (#110446) (#110452) (#110464)
authorVictor Stinner <vstinner@python.org>
Fri, 6 Oct 2023 10:19:49 +0000 (12:19 +0200)
committerGitHub <noreply@github.com>
Fri, 6 Oct 2023 10:19:49 +0000 (10:19 +0000)
[3.12] Add support.MS_WINDOWS constant (#110446) (#110452)

Add support.MS_WINDOWS constant (#110446)

(cherry picked from commit e0c44377935de3491b2cbe1e5f87f8b336fdc922)
(cherry picked from commit e188534607761af1f8faba483ce0b1e8578c73e5)

Lib/test/_test_embed_set_config.py
Lib/test/pythoninfo.py
Lib/test/support/__init__.py
Lib/test/test_asyncio/test_subprocess.py
Lib/test/test_cppext/__init__.py
Lib/test/test_cppext/setup.py
Lib/test/test_embed.py
Lib/test/test_faulthandler.py
Lib/test/test_gdb/__init__.py
Lib/test/test_utf8_mode.py

index 7ff641b37bf188fee853aa1fd2d978609609765d..05e83a65fd4a357fe6fba48157323f5d72d806b9 100644 (file)
@@ -9,9 +9,9 @@ import _testinternalcapi
 import os
 import sys
 import unittest
+from test.support import MS_WINDOWS
 
 
-MS_WINDOWS = (os.name == 'nt')
 MAX_HASH_SEED = 4294967295
 
 class SetConfigTests(unittest.TestCase):
index db8dfe247cca257e5595d13ccd56008ed94a4709..3dbcac2f86e81edd9fd13b4779c10a59e510ada9 100644 (file)
@@ -713,6 +713,19 @@ def collect_test_support(info_add):
     attributes = ('IPV6_ENABLED',)
     copy_attributes(info_add, support, 'test_support.%s', attributes)
 
+    attributes = (
+        'MS_WINDOWS',
+        'has_fork_support',
+        'has_socket_support',
+        'has_strftime_extensions',
+        'has_subprocess_support',
+        'is_android',
+        'is_emscripten',
+        'is_jython',
+        'is_wasi',
+    )
+    copy_attributes(info_add, support, 'support.%s', attributes)
+
     call_func(info_add, 'test_support._is_gui_available', support, '_is_gui_available')
     call_func(info_add, 'test_support.python_is_optimized', support, 'python_is_optimized')
 
index 9da0c8e5c355ba055a053701b0cf1e2813b21d36..1d3b0053bf86c9d70454e5fb512d67b975ae7b67 100644 (file)
@@ -48,7 +48,7 @@ __all__ = [
     "check__all__", "skip_if_buggy_ucrt_strfptime",
     "check_disallow_instantiation", "check_sanitizer", "skip_if_sanitizer",
     # sys
-    "is_jython", "is_android", "is_emscripten", "is_wasi",
+    "MS_WINDOWS", "is_jython", "is_android", "is_emscripten", "is_wasi",
     "check_impl_detail", "unix_shell", "setswitchinterval",
     # network
     "open_urlresource",
@@ -501,6 +501,8 @@ def requires_debug_ranges(reason='requires co_positions / debug_ranges'):
 requires_legacy_unicode_capi = unittest.skipUnless(unicode_legacy_string,
                         'requires legacy Unicode C API')
 
+MS_WINDOWS = (sys.platform == 'win32')
+
 is_jython = sys.platform.startswith('java')
 
 is_android = hasattr(sys, 'getandroidapilevel')
index 8b4f14eb48de650fad98442ed0497aac5fbd314c..f0d1d95d2c1ec01a55055c1593df948f7955a1f3 100644 (file)
@@ -15,8 +15,7 @@ from test import support
 from test.support import os_helper
 
 
-MS_WINDOWS = (sys.platform == 'win32')
-if MS_WINDOWS:
+if support.MS_WINDOWS:
     import msvcrt
 else:
     from asyncio import unix_events
@@ -266,7 +265,7 @@ class SubprocessMixin:
         rfd, wfd = os.pipe()
         self.addCleanup(os.close, rfd)
         self.addCleanup(os.close, wfd)
-        if MS_WINDOWS:
+        if support.MS_WINDOWS:
             handle = msvcrt.get_osfhandle(rfd)
             os.set_handle_inheritable(handle, True)
             code = textwrap.dedent(f'''
index 37247e4ac01e711483798d82b491505a1124ad13..b3999d011e997b80a035a2a41c268b817d9adbb2 100644 (file)
@@ -9,7 +9,6 @@ from test import support
 from test.support import os_helper
 
 
-MS_WINDOWS = (sys.platform == 'win32')
 SETUP = os.path.join(os.path.dirname(__file__), 'setup.py')
 
 
@@ -25,7 +24,7 @@ class TestCPPExt(unittest.TestCase):
 
     # With MSVC, the linker fails with: cannot open file 'python311.lib'
     # https://github.com/python/cpython/pull/32175#issuecomment-1111175897
-    @unittest.skipIf(MS_WINDOWS, 'test fails on Windows')
+    @unittest.skipIf(support.MS_WINDOWS, 'test fails on Windows')
     # Building and running an extension in clang sanitizing mode is not
     # straightforward
     @unittest.skipIf(
@@ -53,7 +52,7 @@ class TestCPPExt(unittest.TestCase):
         python_exe = 'python'
         if sys.executable.endswith('.exe'):
             python_exe += '.exe'
-        if MS_WINDOWS:
+        if support.MS_WINDOWS:
             python = os.path.join(venv_dir, 'Scripts', python_exe)
         else:
             python = os.path.join(venv_dir, 'bin', python_exe)
index f74124775acd06a35d5e4d11dfd362a276a24994..10f4ed21207fc5dbca0d80b1d3141175e0cd3359 100644 (file)
@@ -4,15 +4,13 @@ import os.path
 import shlex
 import sys
 import sysconfig
+from test import support
 
 from setuptools import setup, Extension
 
 
-MS_WINDOWS = (sys.platform == 'win32')
-
-
 SOURCE = os.path.join(os.path.dirname(__file__), 'extension.cpp')
-if not MS_WINDOWS:
+if not support.MS_WINDOWS:
     # C++ compiler flags for GCC and clang
     CPPFLAGS = [
         # gh-91321: The purpose of _testcppext extension is to check that building
index 2affa17e800c07bb6145f421cadc7afc519c59b2..1026dcd0acaab7b891bddd3f8ce4eaf08c163fef 100644 (file)
@@ -1,7 +1,6 @@
 # Run the tests in Programs/_testembed.c (tests for the CPython embedding APIs)
 from test import support
-from test.support import import_helper
-from test.support import os_helper
+from test.support import import_helper, os_helper, MS_WINDOWS
 import unittest
 
 from collections import namedtuple
@@ -20,7 +19,6 @@ import textwrap
 if not support.has_subprocess_support:
     raise unittest.SkipTest("test module requires subprocess")
 
-MS_WINDOWS = (os.name == 'nt')
 MACOS = (sys.platform == 'darwin')
 Py_DEBUG = hasattr(sys, 'gettotalrefcount')
 PYMEM_ALLOCATOR_NOT_SET = 0
index 0e03ee2128891cc9ed1596d9bc748026c4e55b3d..50b40d336e4dca91d6ce63eb23d3c1f01d8ba91b 100644 (file)
@@ -7,8 +7,7 @@ import signal
 import subprocess
 import sys
 from test import support
-from test.support import os_helper
-from test.support import script_helper, is_android
+from test.support import os_helper, script_helper, is_android, MS_WINDOWS
 from test.support import skip_if_sanitizer
 import tempfile
 import unittest
@@ -23,7 +22,6 @@ if not support.has_subprocess_support:
     raise unittest.SkipTest("test module requires subprocess")
 
 TIMEOUT = 0.5
-MS_WINDOWS = (os.name == 'nt')
 
 
 def expected_traceback(lineno1, lineno2, header, min_count=1):
index d74075e456792d17f29951971b27888e6c7d2aac..99557739af6748cae6d393446b1dea475beabd11 100644 (file)
@@ -9,8 +9,7 @@ import unittest
 from test import support
 
 
-MS_WINDOWS = (os.name == 'nt')
-if MS_WINDOWS:
+if support.MS_WINDOWS:
     # On Windows, Python is usually built by MSVC. Passing /p:DebugSymbols=true
     # option to MSBuild produces PDB debug symbols, but gdb doesn't support PDB
     # debug symbol files.
index ec29ba6d51b127e8703d3547ce08a91c0e647561..f66881044e16dfa1c3db9e4824273a432ac1822c 100644 (file)
@@ -9,10 +9,9 @@ import textwrap
 import unittest
 from test import support
 from test.support.script_helper import assert_python_ok, assert_python_failure
-from test.support import os_helper
+from test.support import os_helper, MS_WINDOWS
 
 
-MS_WINDOWS = (sys.platform == 'win32')
 POSIX_LOCALES = ('C', 'POSIX')
 VXWORKS = (sys.platform == "vxworks")