summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-10-06 00:37:28 (GMT)
committerGitHub <noreply@github.com>2023-10-06 00:37:28 (GMT)
commite0c44377935de3491b2cbe1e5f87f8b336fdc922 (patch)
tree63a5ef10c9528b0591833f443e7fe51f7c2675dd
parent3c0f65ebce10d5327e07245f7cf2beb96b18c970 (diff)
downloadcpython-e0c44377935de3491b2cbe1e5f87f8b336fdc922.zip
cpython-e0c44377935de3491b2cbe1e5f87f8b336fdc922.tar.gz
cpython-e0c44377935de3491b2cbe1e5f87f8b336fdc922.tar.bz2
Add support.MS_WINDOWS constant (#110446)
-rw-r--r--Lib/test/_test_embed_set_config.py2
-rw-r--r--Lib/test/libregrtest/logger.py3
-rw-r--r--Lib/test/libregrtest/main.py4
-rw-r--r--Lib/test/libregrtest/run_workers.py4
-rw-r--r--Lib/test/libregrtest/utils.py2
-rw-r--r--Lib/test/pythoninfo.py1
-rw-r--r--Lib/test/support/__init__.py4
-rw-r--r--Lib/test/test_asyncio/test_subprocess.py5
-rw-r--r--Lib/test/test_cppext/__init__.py3
-rw-r--r--Lib/test/test_cppext/setup.py6
-rw-r--r--Lib/test/test_embed.py7
-rw-r--r--Lib/test/test_faulthandler.py4
-rw-r--r--Lib/test/test_gdb/__init__.py3
-rw-r--r--Lib/test/test_regrtest.py4
-rw-r--r--Lib/test/test_utf8_mode.py3
15 files changed, 22 insertions, 33 deletions
diff --git a/Lib/test/_test_embed_set_config.py b/Lib/test/_test_embed_set_config.py
index 0c016b5..a2ddd13 100644
--- a/Lib/test/_test_embed_set_config.py
+++ b/Lib/test/_test_embed_set_config.py
@@ -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):
diff --git a/Lib/test/libregrtest/logger.py b/Lib/test/libregrtest/logger.py
index 2f0c4bf..a125706 100644
--- a/Lib/test/libregrtest/logger.py
+++ b/Lib/test/libregrtest/logger.py
@@ -1,9 +1,10 @@
import os
import time
+from test.support import MS_WINDOWS
from .results import TestResults
from .runtests import RunTests
-from .utils import print_warning, MS_WINDOWS
+from .utils import print_warning
if MS_WINDOWS:
from .win_utils import WindowsLoadTracker
diff --git a/Lib/test/libregrtest/main.py b/Lib/test/libregrtest/main.py
index 60179ec..cb60d5a 100644
--- a/Lib/test/libregrtest/main.py
+++ b/Lib/test/libregrtest/main.py
@@ -7,7 +7,7 @@ import sysconfig
import time
from test import support
-from test.support import os_helper
+from test.support import os_helper, MS_WINDOWS
from .cmdline import _parse_args, Namespace
from .findtests import findtests, split_test_packages, list_cases
@@ -24,7 +24,7 @@ from .utils import (
printlist, get_temp_dir, get_work_dir, exit_timeout,
display_header, cleanup_temp_dir, print_warning,
is_cross_compiled, get_host_runner,
- MS_WINDOWS, EXIT_TIMEOUT)
+ EXIT_TIMEOUT)
class Regrtest:
diff --git a/Lib/test/libregrtest/run_workers.py b/Lib/test/libregrtest/run_workers.py
index 106f973..16f8331 100644
--- a/Lib/test/libregrtest/run_workers.py
+++ b/Lib/test/libregrtest/run_workers.py
@@ -13,7 +13,7 @@ import traceback
from typing import Literal, TextIO
from test import support
-from test.support import os_helper
+from test.support import os_helper, MS_WINDOWS
from .logger import Logger
from .result import TestResult, State
@@ -21,7 +21,7 @@ from .results import TestResults
from .runtests import RunTests, JsonFile, JsonFileType
from .single import PROGRESS_MIN_TIME
from .utils import (
- StrPath, TestName, MS_WINDOWS,
+ StrPath, TestName,
format_duration, print_warning, count, plural, get_signal_name)
from .worker import create_worker_process, USE_PROCESS_GROUP
diff --git a/Lib/test/libregrtest/utils.py b/Lib/test/libregrtest/utils.py
index ea2086c..aac8395 100644
--- a/Lib/test/libregrtest/utils.py
+++ b/Lib/test/libregrtest/utils.py
@@ -19,8 +19,6 @@ from test.support import os_helper
from test.support import threading_helper
-MS_WINDOWS = (sys.platform == 'win32')
-
# All temporary files and temporary directories created by libregrtest should
# use TMP_PREFIX so cleanup_temp_dir() can remove them all.
TMP_PREFIX = 'test_python_'
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py
index 58d906f..4f3ebb1 100644
--- a/Lib/test/pythoninfo.py
+++ b/Lib/test/pythoninfo.py
@@ -730,6 +730,7 @@ def collect_support(info_add):
return
attributes = (
+ 'MS_WINDOWS',
'has_fork_support',
'has_socket_support',
'has_strftime_extensions',
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index f3270d6..982d0df 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -46,7 +46,7 @@ __all__ = [
"check_disallow_instantiation", "check_sanitizer", "skip_if_sanitizer",
"requires_limited_api", "requires_specialization",
# 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",
# os
"get_pagesize",
@@ -509,6 +509,8 @@ def has_no_debug_ranges():
def requires_debug_ranges(reason='requires co_positions / debug_ranges'):
return unittest.skipIf(has_no_debug_ranges(), reason)
+MS_WINDOWS = (sys.platform == 'win32')
+
# Is not actually used in tests, but is kept for compatibility.
is_jython = sys.platform.startswith('java')
diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py
index dc5a48d..179c8cb 100644
--- a/Lib/test/test_asyncio/test_subprocess.py
+++ b/Lib/test/test_asyncio/test_subprocess.py
@@ -14,8 +14,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
@@ -283,7 +282,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'''
diff --git a/Lib/test/test_cppext/__init__.py b/Lib/test/test_cppext/__init__.py
index 25b6fc6..4d9ee3c 100644
--- a/Lib/test/test_cppext/__init__.py
+++ b/Lib/test/test_cppext/__init__.py
@@ -9,7 +9,6 @@ import sysconfig
from test import support
-MS_WINDOWS = (sys.platform == 'win32')
SOURCE = os.path.join(os.path.dirname(__file__), 'extension.cpp')
SETUP = os.path.join(os.path.dirname(__file__), 'setup.py')
@@ -30,7 +29,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(
diff --git a/Lib/test/test_cppext/setup.py b/Lib/test/test_cppext/setup.py
index 976633b..c7ba1ef 100644
--- a/Lib/test/test_cppext/setup.py
+++ b/Lib/test/test_cppext/setup.py
@@ -4,15 +4,13 @@ import os
import shlex
import sys
import sysconfig
+from test import support
from setuptools import setup, Extension
-MS_WINDOWS = (sys.platform == 'win32')
-
-
SOURCE = '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
diff --git a/Lib/test/test_embed.py b/Lib/test/test_embed.py
index 46c9b03..06f2d8b 100644
--- a/Lib/test/test_embed.py
+++ b/Lib/test/test_embed.py
@@ -1,8 +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 requires_specialization
+from test.support import import_helper, os_helper, MS_WINDOWS
import unittest
from collections import namedtuple
@@ -21,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')
PYMEM_ALLOCATOR_NOT_SET = 0
PYMEM_ALLOCATOR_DEBUG = 2
@@ -348,7 +345,7 @@ class EmbeddingTests(EmbeddingTestsMixin, unittest.TestCase):
out, err = self.run_embedded_interpreter("test_repeated_simple_init")
self.assertEqual(out, 'Finalized\n' * INIT_LOOPS)
- @requires_specialization
+ @support.requires_specialization
def test_specialized_static_code_gets_unspecialized_at_Py_FINALIZE(self):
# https://github.com/python/cpython/issues/92031
diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py
index 0b8299a3..d047350 100644
--- a/Lib/test/test_faulthandler.py
+++ b/Lib/test/test_faulthandler.py
@@ -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
import tempfile
import unittest
from textwrap import dedent
@@ -22,7 +21,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):
diff --git a/Lib/test/test_gdb/__init__.py b/Lib/test/test_gdb/__init__.py
index d74075e..9955773 100644
--- a/Lib/test/test_gdb/__init__.py
+++ b/Lib/test/test_gdb/__init__.py
@@ -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.
diff --git a/Lib/test/test_regrtest.py b/Lib/test/test_regrtest.py
index de2c431..cfe8b57 100644
--- a/Lib/test/test_regrtest.py
+++ b/Lib/test/test_regrtest.py
@@ -42,8 +42,6 @@ EXITCODE_NO_TESTS_RAN = 4
EXITCODE_RERUN_FAIL = 5
EXITCODE_INTERRUPTED = 130
-MS_WINDOWS = (sys.platform == 'win32')
-
TEST_INTERRUPTED = textwrap.dedent("""
from signal import SIGINT, raise_signal
try:
@@ -2072,7 +2070,7 @@ class ArgsTestCase(BaseTestCase):
self.check_executed_tests(output, testname,
failed=[testname],
stats=0, parallel=True)
- if not MS_WINDOWS:
+ if not support.MS_WINDOWS:
exitcode = -int(signal.SIGSEGV)
self.assertIn(f"Exit code {exitcode} (SIGSEGV)", output)
self.check_line(output, "just before crash!", full=True, regex=False)
diff --git a/Lib/test/test_utf8_mode.py b/Lib/test/test_utf8_mode.py
index ec29ba6..f668810 100644
--- a/Lib/test/test_utf8_mode.py
+++ b/Lib/test/test_utf8_mode.py
@@ -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")