diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index abc2173c6e7..72599d28703 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -306,7 +306,8 @@ jobs: skips: [] timeout: 60 - os: windows-2025 - extra_test_args: [] # TODO: Enable '-u all' + extra_test_args: + - '-u all' env_polluting_tests: - test_set skips: [] diff --git a/Lib/test/test_codecmaps_kr.py b/Lib/test/test_codecmaps_kr.py index b8376d36615..a6409239dc5 100644 --- a/Lib/test/test_codecmaps_kr.py +++ b/Lib/test/test_codecmaps_kr.py @@ -11,7 +11,7 @@ class TestCP949Map(multibytecodec_support.TestBase_Mapping, encoding = 'cp949' mapfileurl = 'http://www.pythontest.net/unicode/CP949.TXT' - @unittest.expectedFailure # TODO: RUSTPYTHON; LookupError: unknown encoding: cp949 + @unittest.expectedFailureIf(__import__("sys").platform in ("android", "darwin", "linux"), "TODO: RUSTPYTHON; LookupError: unknown encoding: cp949") def test_mapping_file(self): return super().test_mapping_file() diff --git a/Lib/test/test_codecmaps_tw.py b/Lib/test/test_codecmaps_tw.py index 4a1359ce7be..2fcf59c9f6d 100644 --- a/Lib/test/test_codecmaps_tw.py +++ b/Lib/test/test_codecmaps_tw.py @@ -27,7 +27,7 @@ class TestCP950Map(multibytecodec_support.TestBase_Mapping, (b"\xFFxy", "replace", "\ufffdxy"), ) - @unittest.expectedFailure # TODO: RUSTPYTHON; LookupError: unknown encoding: cp950 + @unittest.expectedFailureIf(__import__("sys").platform in ("android", "darwin", "linux"), "TODO: RUSTPYTHON; LookupError: unknown encoding: cp950") def test_errorhandle(self): return super().test_errorhandle() diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py index 394a87c3601..5ed844c34f0 100644 --- a/Lib/test/test_tokenize.py +++ b/Lib/test/test_tokenize.py @@ -2173,6 +2173,7 @@ def test_string_concatenation(self): # Two string literals on the same line self.check_roundtrip("'' ''") + @unittest.skipIf(support.is_resource_enabled("cpu") and __import__("sys").platform == "win32", "TODO: RUSTPYTHON; Timeout after 10 minutes") def test_random_files(self): # Test roundtrip on random python modules. # pass the '-ucpu' option to process the full directory. diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py index 34757c97a4f..2ea5f502247 100644 --- a/Lib/test/test_venv.py +++ b/Lib/test/test_venv.py @@ -1094,6 +1094,7 @@ def nicer_error(self): f"**Subprocess Error**\n{err}" ) + @unittest.expectedFailureIfWindows("TODO: RUSTPYTHON; FileNotFoundError: [WinError 2] No such file or directory") @requires_venv_with_pip() @requires_resource('cpu') def test_with_pip(self): diff --git a/Lib/test/test_winconsoleio.py b/Lib/test/test_winconsoleio.py index 1bae884ed9a..516d5563218 100644 --- a/Lib/test/test_winconsoleio.py +++ b/Lib/test/test_winconsoleio.py @@ -142,6 +142,7 @@ def test_write_empty_data(self): with ConIO('CONOUT$', 'w') as f: self.assertEqual(f.write(b''), 0) + @unittest.expectedFailureIfWindows("TODO: RUSTPYTHON") @requires_resource('console') def test_write(self): testcases = [] diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py index 9724d830ade..d013d8396cb 100644 --- a/Lib/test/test_winsound.py +++ b/Lib/test/test_winsound.py @@ -100,6 +100,7 @@ def test_keyword_args(self): class PlaySoundTest(unittest.TestCase): + @unittest.expectedFailureIfWindows("TODO: RUSTPYTHON; TypeError: a bytes-like object is required, not 'str'") def test_errors(self): self.assertRaises(TypeError, winsound.PlaySound) self.assertRaises(TypeError, winsound.PlaySound, "bad", "bad") diff --git a/Lib/test/test_wmi.py b/Lib/test/test_wmi.py index 90eb40439d4..e2d924c9769 100644 --- a/Lib/test/test_wmi.py +++ b/Lib/test/test_wmi.py @@ -59,6 +59,7 @@ def test_wmi_query_not_select(self): with self.assertRaises(ValueError): wmi_exec_query("not select, just in case someone tries something") + @unittest.skipIf(__import__("sys").platform == "win32", "TODO: RUSTPYTHON; Timeout after 10 minutes") @support.requires_resource('cpu') def test_wmi_query_overflow(self): # Ensure very big queries fail