From a7a6daac205fddb6051fd982fbb2e6bcf5008da7 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Tue, 18 Jan 2022 22:28:18 +0300 Subject: [PATCH 1/2] [3.10] bpo-46425: Fix direct invocation of multiple test modules (GH-30666). (cherry picked from commit 1292aa6db5bed889a3c87df443754fcae0177801) Co-authored-by: Nikita Sobolev --- Lib/test/test_compileall.py | 6 ++---- Lib/test/test_distutils.py | 2 +- Lib/test/test_dtrace.py | 2 +- Lib/test/test_tools/test_freeze.py | 30 ++++++++++++++++++++++++++++++ Lib/test/test_zipfile64.py | 3 ++- Lib/unittest/test/test_program.py | 2 +- 6 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 Lib/test/test_tools/test_freeze.py diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py index 9e15ecf3aae299..33f0c939325f53 100644 --- a/Lib/test/test_compileall.py +++ b/Lib/test/test_compileall.py @@ -3,7 +3,6 @@ import filecmp import importlib.util import io -import itertools import os import pathlib import py_compile @@ -29,9 +28,8 @@ from test import support from test.support import os_helper from test.support import script_helper - -from .test_py_compile import without_source_date_epoch -from .test_py_compile import SourceDateEpochTestMeta +from test.test_py_compile import without_source_date_epoch +from test.test_py_compile import SourceDateEpochTestMeta def get_pyc(script, opt): diff --git a/Lib/test/test_distutils.py b/Lib/test/test_distutils.py index 4b40af0213234e..d82d2b6423433e 100644 --- a/Lib/test/test_distutils.py +++ b/Lib/test/test_distutils.py @@ -5,7 +5,7 @@ be run. """ -import warnings +import unittest from test import support from test.support import warnings_helper diff --git a/Lib/test/test_dtrace.py b/Lib/test/test_dtrace.py index 3957077f5d6123..8a436ad123b80f 100644 --- a/Lib/test/test_dtrace.py +++ b/Lib/test/test_dtrace.py @@ -170,4 +170,4 @@ class SystemTapOptimizedTests(TraceTests, unittest.TestCase): if __name__ == '__main__': - test_main() + unittest.main() diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py new file mode 100644 index 00000000000000..cca3c47f5ac05b --- /dev/null +++ b/Lib/test/test_tools/test_freeze.py @@ -0,0 +1,30 @@ +"""Sanity-check tests for the "freeze" tool.""" + +import sys +import textwrap +import unittest + +from test import support +from test.support import os_helper +from test.test_tools import imports_under_tool, skip_if_missing + +skip_if_missing('freeze') +with imports_under_tool('freeze', 'test'): + import freeze as helper + + +@unittest.skipIf(sys.platform.startswith('win'), 'not supported on Windows') +@support.skip_if_buildbot('not all buildbots have enough space') +class TestFreeze(unittest.TestCase): + + def test_freeze_simple_script(self): + script = textwrap.dedent(""" + import sys + print('running...') + sys.exit(0) + """) + with os_helper.temp_dir() as outdir: + outdir, scriptfile, python = helper.prepare(script, outdir) + executable = helper.freeze(python, scriptfile, outdir) + text = helper.run(executable) + self.assertEqual(text, 'running...') diff --git a/Lib/test/test_zipfile64.py b/Lib/test/test_zipfile64.py index 810fdedef39ddd..0947013afbc6ed 100644 --- a/Lib/test/test_zipfile64.py +++ b/Lib/test/test_zipfile64.py @@ -18,8 +18,9 @@ from tempfile import TemporaryFile from test.support import os_helper -from test.support import TESTFN, requires_zlib +from test.support import requires_zlib +TESTFN = os_helper.TESTFN TESTFN2 = TESTFN + "2" # How much time in seconds can pass before we print a 'Still working' message. diff --git a/Lib/unittest/test/test_program.py b/Lib/unittest/test/test_program.py index 4746d71e0b6039..b7fbbc1e7baddd 100644 --- a/Lib/unittest/test/test_program.py +++ b/Lib/unittest/test/test_program.py @@ -6,7 +6,7 @@ from test import support import unittest import unittest.test -from .test_result import BufferedWriter +from unittest.test.test_result import BufferedWriter class Test_TestProgram(unittest.TestCase): From b9f8bd0cda924a59400504c5ea2cf5a5a8872df4 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Wed, 19 Jan 2022 20:09:01 +0300 Subject: [PATCH 2/2] Delete test_freeze.py --- Lib/test/test_tools/test_freeze.py | 30 ------------------------------ 1 file changed, 30 deletions(-) delete mode 100644 Lib/test/test_tools/test_freeze.py diff --git a/Lib/test/test_tools/test_freeze.py b/Lib/test/test_tools/test_freeze.py deleted file mode 100644 index cca3c47f5ac05b..00000000000000 --- a/Lib/test/test_tools/test_freeze.py +++ /dev/null @@ -1,30 +0,0 @@ -"""Sanity-check tests for the "freeze" tool.""" - -import sys -import textwrap -import unittest - -from test import support -from test.support import os_helper -from test.test_tools import imports_under_tool, skip_if_missing - -skip_if_missing('freeze') -with imports_under_tool('freeze', 'test'): - import freeze as helper - - -@unittest.skipIf(sys.platform.startswith('win'), 'not supported on Windows') -@support.skip_if_buildbot('not all buildbots have enough space') -class TestFreeze(unittest.TestCase): - - def test_freeze_simple_script(self): - script = textwrap.dedent(""" - import sys - print('running...') - sys.exit(0) - """) - with os_helper.temp_dir() as outdir: - outdir, scriptfile, python = helper.prepare(script, outdir) - executable = helper.freeze(python, scriptfile, outdir) - text = helper.run(executable) - self.assertEqual(text, 'running...')