]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-118351: Adapt support.TEST_MODULES_ENABLED for builds without the config variable...
authorKirill Podoprigora <kirill.bast9@mail.ru>
Mon, 29 Apr 2024 15:50:11 +0000 (18:50 +0300)
committerGitHub <noreply@github.com>
Mon, 29 Apr 2024 15:50:11 +0000 (16:50 +0100)
Lib/test/support/__init__.py
Lib/test/test_capi/test_run.py

index ea4945466cac8236db4f390f9def05aed62deebb..70d2610aa495c7922c59e9ba930f82aa50fd6fb4 100644 (file)
@@ -1181,8 +1181,9 @@ def requires_limited_api(test):
     return test
 
 
-TEST_MODULES_ENABLED = sysconfig.get_config_var('TEST_MODULES') == 'yes'
-
+# Windows build doesn't support --disable-test-modules feature, so there's no
+# 'TEST_MODULES' var in config
+TEST_MODULES_ENABLED = (sysconfig.get_config_var('TEST_MODULES') or 'yes') == 'yes'
 
 def requires_specialization(test):
     return unittest.skipUnless(
index bc0ca9dbb7f31e68313669ecacb2af02295236cc..3a390273ec21addb8a8bd7d94afa7d1ed2163f7a 100644 (file)
@@ -2,7 +2,7 @@ import os
 import unittest
 from collections import UserDict
 from test.support import import_helper
-from test.support.os_helper import unlink, TESTFN, TESTFN_UNDECODABLE
+from test.support.os_helper import unlink, TESTFN, TESTFN_ASCII, TESTFN_UNDECODABLE
 
 NULL = None
 _testcapi = import_helper.import_module('_testcapi')
@@ -35,6 +35,7 @@ class CAPITest(unittest.TestCase):
 
     def test_run_stringflags(self):
         # Test PyRun_StringFlags().
+        # XXX: fopen() uses different path encoding than Python on Windows.
         def run(s, *args):
             return _testcapi.run_stringflags(s, Py_file_input, *args)
         source = b'a\n'
@@ -63,7 +64,7 @@ class CAPITest(unittest.TestCase):
 
     def test_run_fileexflags(self):
         # Test PyRun_FileExFlags().
-        filename = os.fsencode(TESTFN)
+        filename = os.fsencode(TESTFN if os.name != 'nt' else TESTFN_ASCII)
         with open(filename, 'wb') as fp:
             fp.write(b'a\n')
         self.addCleanup(unlink, filename)
@@ -89,6 +90,7 @@ class CAPITest(unittest.TestCase):
         # CRASHES run(UserDict(), dict(a=1))
 
     @unittest.skipUnless(TESTFN_UNDECODABLE, 'only works if there are undecodable paths')
+    @unittest.skipIf(os.name == 'nt', 'does not work on Windows')
     def test_run_fileexflags_with_undecodable_filename(self):
         run = _testcapi.run_fileexflags
         try: