From ce643913a9049953950918b214fb7cef40506be5 Mon Sep 17 00:00:00 2001 From: Berker Peksag Date: Wed, 6 May 2015 06:33:17 +0300 Subject: [PATCH] Issue #9517: Move script_helper to the support package. Patch by Christie Wilson. --- Lib/test/{ => support}/script_helper.py | 0 Lib/test/test_asyncio/test_base_events.py | 2 +- Lib/test/test_asyncio/test_tasks.py | 2 +- Lib/test/test_builtin.py | 2 +- Lib/test/test_calendar.py | 2 +- Lib/test/test_capi.py | 2 +- Lib/test/test_cgitb.py | 3 +- Lib/test/test_cmd_line.py | 6 +-- Lib/test/test_cmd_line_script.py | 47 +++++++++---------- Lib/test/test_compileall.py | 3 +- Lib/test/test_concurrent_futures.py | 2 +- Lib/test/test_crashers.py | 2 +- Lib/test/test_doctest.py | 8 ++-- Lib/test/test_eintr.py | 3 +- Lib/test/test_faulthandler.py | 4 +- Lib/test/test_gc.py | 5 +- Lib/test/test_hash.py | 2 +- Lib/test/test_import/__init__.py | 7 +-- Lib/test/test_inspect.py | 2 +- Lib/test/test_io.py | 2 +- Lib/test/test_json/test_tool.py | 2 +- Lib/test/test_logging.py | 2 +- Lib/test/test_module.py | 2 +- .../test_multiprocessing_main_handling.py | 31 ++++++------ Lib/test/test_os.py | 2 +- Lib/test/test_parser.py | 2 +- Lib/test/test_pydoc.py | 2 +- Lib/test/test_readline.py | 2 +- Lib/test/test_runpy.py | 6 +-- Lib/test/test_script_helper.py | 4 +- Lib/test/test_signal.py | 2 +- Lib/test/test_subprocess.py | 4 +- Lib/test/test_sys.py | 4 +- Lib/test/test_tarfile.py | 3 +- Lib/test/test_tempfile.py | 3 +- Lib/test/test_threading.py | 2 +- Lib/test/test_tools/test_md5sum.py | 2 +- Lib/test/test_tools/test_pindent.py | 2 +- Lib/test/test_tools/test_reindent.py | 2 +- Lib/test/test_traceback.py | 2 +- Lib/test/test_tracemalloc.py | 7 +-- Lib/test/test_warnings.py | 2 +- Lib/test/test_weakref.py | 3 +- Lib/test/test_zipimport_support.py | 12 ++--- Misc/NEWS | 6 +++ 45 files changed, 115 insertions(+), 102 deletions(-) rename Lib/test/{ => support}/script_helper.py (100%) diff --git a/Lib/test/script_helper.py b/Lib/test/support/script_helper.py similarity index 100% rename from Lib/test/script_helper.py rename to Lib/test/support/script_helper.py diff --git a/Lib/test/test_asyncio/test_base_events.py b/Lib/test/test_asyncio/test_base_events.py index 9e7c50cc1713..4d36f23c8db3 100644 --- a/Lib/test/test_asyncio/test_base_events.py +++ b/Lib/test/test_asyncio/test_base_events.py @@ -16,7 +16,7 @@ from asyncio import constants from asyncio import test_utils try: from test import support - from test.script_helper import assert_python_ok + from test.support.script_helper import assert_python_ok except ImportError: from asyncio import test_support as support from asyncio.test_support import assert_python_ok diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index ab61462188ba..e47a668e6155 100644 --- a/Lib/test/test_asyncio/test_tasks.py +++ b/Lib/test/test_asyncio/test_tasks.py @@ -15,7 +15,7 @@ from asyncio import coroutines from asyncio import test_utils try: from test import support - from test.script_helper import assert_python_ok + from test.support.script_helper import assert_python_ok except ImportError: from asyncio import test_support as support from asyncio.test_support import assert_python_ok diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py index 6166da563e68..cdbb2cb96ccc 100644 --- a/Lib/test/test_builtin.py +++ b/Lib/test/test_builtin.py @@ -16,7 +16,7 @@ import unittest import warnings from operator import neg from test.support import TESTFN, unlink, run_unittest, check_warnings -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok try: import pty, signal except ImportError: diff --git a/Lib/test/test_calendar.py b/Lib/test/test_calendar.py index 9193857197b4..80ed6325881a 100644 --- a/Lib/test/test_calendar.py +++ b/Lib/test/test_calendar.py @@ -2,7 +2,7 @@ import calendar import unittest from test import support -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure import time import locale import sys diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py index 367feaa0b89a..eae3addcb182 100644 --- a/Lib/test/test_capi.py +++ b/Lib/test/test_capi.py @@ -11,7 +11,7 @@ import time import unittest from test import support from test.support import MISSING_C_DOCSTRINGS -from test.script_helper import assert_python_failure +from test.support.script_helper import assert_python_failure try: import _posixsubprocess except ImportError: diff --git a/Lib/test/test_cgitb.py b/Lib/test/test_cgitb.py index cd0ab9010e19..a87a4224f94d 100644 --- a/Lib/test/test_cgitb.py +++ b/Lib/test/test_cgitb.py @@ -1,4 +1,5 @@ -from test.script_helper import assert_python_failure, temp_dir +from test.support import temp_dir +from test.support.script_helper import assert_python_failure import unittest import sys import cgitb diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py index 6ba929c346f6..0feb63fd4e09 100644 --- a/Lib/test/test_cmd_line.py +++ b/Lib/test/test_cmd_line.py @@ -8,8 +8,8 @@ import shutil import sys import subprocess import tempfile -from test import script_helper -from test.script_helper import (spawn_python, kill_python, assert_python_ok, +from test.support import script_helper +from test.support.script_helper import (spawn_python, kill_python, assert_python_ok, assert_python_failure) @@ -59,7 +59,7 @@ class CmdLineTest(unittest.TestCase): def test_xoptions(self): def get_xoptions(*args): - # use subprocess module directly because test.script_helper adds + # use subprocess module directly because test.support.script_helper adds # "-X faulthandler" to the command line args = (sys.executable, '-E') + args args += ('-c', 'import sys; print(sys._xoptions)') diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py index 73501648853a..fda3e62bd6a1 100644 --- a/Lib/test/test_cmd_line_script.py +++ b/Lib/test/test_cmd_line_script.py @@ -13,10 +13,9 @@ import subprocess import textwrap from test import support -from test.script_helper import ( +from test.support.script_helper import ( make_pkg, make_script, make_zip_pkg, make_zip_script, - assert_python_ok, assert_python_failure, temp_dir, - spawn_python, kill_python) + assert_python_ok, assert_python_failure, spawn_python, kill_python) verbose = support.verbose @@ -223,14 +222,14 @@ class CmdLineTest(unittest.TestCase): self.check_repl_stderr_flush(True) def test_basic_script(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script') self._check_script(script_name, script_name, script_name, script_dir, None, importlib.machinery.SourceFileLoader) def test_script_compiled(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script') py_compile.compile(script_name, doraise=True) os.remove(script_name) @@ -240,14 +239,14 @@ class CmdLineTest(unittest.TestCase): importlib.machinery.SourcelessFileLoader) def test_directory(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__') self._check_script(script_dir, script_name, script_dir, script_dir, '', importlib.machinery.SourceFileLoader) def test_directory_compiled(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__') py_compile.compile(script_name, doraise=True) os.remove(script_name) @@ -257,19 +256,19 @@ class CmdLineTest(unittest.TestCase): importlib.machinery.SourcelessFileLoader) def test_directory_error(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: msg = "can't find '__main__' module in %r" % script_dir self._check_import_error(script_dir, msg) def test_zipfile(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__') zip_name, run_name = make_zip_script(script_dir, 'test_zip', script_name) self._check_script(zip_name, run_name, zip_name, zip_name, '', zipimport.zipimporter) def test_zipfile_compiled(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__') compiled_name = py_compile.compile(script_name, doraise=True) zip_name, run_name = make_zip_script(script_dir, 'test_zip', compiled_name) @@ -277,14 +276,14 @@ class CmdLineTest(unittest.TestCase): zipimport.zipimporter) def test_zipfile_error(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'not_main') zip_name, run_name = make_zip_script(script_dir, 'test_zip', script_name) msg = "can't find '__main__' module in %r" % zip_name self._check_import_error(zip_name, msg) def test_module_in_package(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, 'script') @@ -294,14 +293,14 @@ class CmdLineTest(unittest.TestCase): importlib.machinery.SourceFileLoader) def test_module_in_package_in_zipfile(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: zip_name, run_name = _make_test_zip_pkg(script_dir, 'test_zip', 'test_pkg', 'script') launch_name = _make_launch_script(script_dir, 'launch', 'test_pkg.script', zip_name) self._check_script(launch_name, run_name, run_name, zip_name, 'test_pkg', zipimport.zipimporter) def test_module_in_subpackage_in_zipfile(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: zip_name, run_name = _make_test_zip_pkg(script_dir, 'test_zip', 'test_pkg', 'script', depth=2) launch_name = _make_launch_script(script_dir, 'launch', 'test_pkg.test_pkg.script', zip_name) self._check_script(launch_name, run_name, run_name, @@ -309,7 +308,7 @@ class CmdLineTest(unittest.TestCase): zipimport.zipimporter) def test_package(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, '__main__') @@ -319,7 +318,7 @@ class CmdLineTest(unittest.TestCase): importlib.machinery.SourceFileLoader) def test_package_compiled(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, '__main__') @@ -332,7 +331,7 @@ class CmdLineTest(unittest.TestCase): importlib.machinery.SourcelessFileLoader) def test_package_error(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) msg = ("'test_pkg' is a package and cannot " @@ -341,7 +340,7 @@ class CmdLineTest(unittest.TestCase): self._check_import_error(launch_name, msg) def test_package_recursion(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) main_dir = os.path.join(pkg_dir, '__main__') @@ -355,7 +354,7 @@ class CmdLineTest(unittest.TestCase): def test_issue8202(self): # Make sure package __init__ modules see "-m" in sys.argv0 while # searching for the module to execute - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: with support.change_cwd(path=script_dir): pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir, "import sys; print('init_argv0==%r' % sys.argv[0])") @@ -372,7 +371,7 @@ class CmdLineTest(unittest.TestCase): def test_issue8202_dash_c_file_ignored(self): # Make sure a "-c" file in the current directory # does not alter the value of sys.path[0] - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: with support.change_cwd(path=script_dir): with open("-c", "w") as f: f.write("data") @@ -387,7 +386,7 @@ class CmdLineTest(unittest.TestCase): def test_issue8202_dash_m_file_ignored(self): # Make sure a "-m" file in the current directory # does not alter the value of sys.path[0] - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'other') with support.change_cwd(path=script_dir): with open("-m", "w") as f: @@ -402,7 +401,7 @@ class CmdLineTest(unittest.TestCase): # If a module is invoked with the -m command line flag # and results in an error that the return code to the # shell is '1' - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: with support.change_cwd(path=script_dir): pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) @@ -422,7 +421,7 @@ class CmdLineTest(unittest.TestCase): except: raise NameError from None """) - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script', script) exitcode, stdout, stderr = assert_python_failure(script_name) text = stderr.decode('ascii').split('\n') @@ -466,7 +465,7 @@ class CmdLineTest(unittest.TestCase): if error: sys.exit(error) """) - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script', script) exitcode, stdout, stderr = assert_python_failure(script_name) text = stderr.decode('ascii') diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py index 2053304e6bb3..9479776abf7e 100644 --- a/Lib/test/test_compileall.py +++ b/Lib/test/test_compileall.py @@ -17,7 +17,8 @@ try: except ImportError: _have_multiprocessing = False -from test import support, script_helper +from test import support +from test.support import script_helper class CompileallTests(unittest.TestCase): diff --git a/Lib/test/test_concurrent_futures.py b/Lib/test/test_concurrent_futures.py index 86802c2d56d9..b99740b47db7 100644 --- a/Lib/test/test_concurrent_futures.py +++ b/Lib/test/test_concurrent_futures.py @@ -9,7 +9,7 @@ test.support.import_module('multiprocessing.synchronize') # without thread support. test.support.import_module('threading') -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok import os import sys diff --git a/Lib/test/test_crashers.py b/Lib/test/test_crashers.py index c630c80a08b5..58dfd001da36 100644 --- a/Lib/test/test_crashers.py +++ b/Lib/test/test_crashers.py @@ -8,7 +8,7 @@ import unittest import glob import os.path import test.support -from test.script_helper import assert_python_failure +from test.support.script_helper import assert_python_failure CRASHER_DIR = os.path.join(os.path.dirname(__file__), "crashers") CRASHER_FILES = os.path.join(CRASHER_DIR, "*.py") diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py index b92c4b53f029..73b4452cd8bc 100644 --- a/Lib/test/test_doctest.py +++ b/Lib/test/test_doctest.py @@ -2729,8 +2729,8 @@ With those preliminaries out of the way, we'll start with a file with two simple tests and no errors. We'll run both the unadorned doctest command, and the verbose version, and then check the output: - >>> from test import script_helper - >>> with script_helper.temp_dir() as tmpdir: + >>> from test.support import script_helper, temp_dir + >>> with temp_dir() as tmpdir: ... fn = os.path.join(tmpdir, 'myfile.doc') ... with open(fn, 'w') as f: ... _ = f.write('This is a very simple test file.\n') @@ -2780,8 +2780,8 @@ ability to process more than one file on the command line and, since the second file ends in '.py', its handling of python module files (as opposed to straight text files). - >>> from test import script_helper - >>> with script_helper.temp_dir() as tmpdir: + >>> from test.support import script_helper, temp_dir + >>> with temp_dir() as tmpdir: ... fn = os.path.join(tmpdir, 'myfile.doc') ... with open(fn, 'w') as f: ... _ = f.write('This is another simple test file.\n') diff --git a/Lib/test/test_eintr.py b/Lib/test/test_eintr.py index 8b5f5070e66d..111ead365c06 100644 --- a/Lib/test/test_eintr.py +++ b/Lib/test/test_eintr.py @@ -2,7 +2,8 @@ import os import signal import unittest -from test import script_helper, support +from test import support +from test.support import script_helper @unittest.skipUnless(os.name == "posix", "only supported on Unix") diff --git a/Lib/test/test_faulthandler.py b/Lib/test/test_faulthandler.py index 530b0931d3c3..0d86cb5da819 100644 --- a/Lib/test/test_faulthandler.py +++ b/Lib/test/test_faulthandler.py @@ -6,8 +6,8 @@ import re import signal import subprocess import sys -from test import support, script_helper -from test.script_helper import assert_python_ok +from test import support +from test.support import script_helper import tempfile import unittest from textwrap import dedent diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py index 254f64b2b828..1f0867d379af 100644 --- a/Lib/test/test_gc.py +++ b/Lib/test/test_gc.py @@ -1,7 +1,8 @@ import unittest from test.support import (verbose, refcount_test, run_unittest, - strip_python_stderr, cpython_only, start_threads) -from test.script_helper import assert_python_ok, make_script, temp_dir + strip_python_stderr, cpython_only, start_threads, + temp_dir) +from test.support.script_helper import assert_python_ok, make_script import sys import time diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py index f647c6f7d2bc..aa4efbfd85fc 100644 --- a/Lib/test/test_hash.py +++ b/Lib/test/test_hash.py @@ -7,7 +7,7 @@ import datetime import os import sys import unittest -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok from collections import Hashable IS_64BIT = sys.maxsize > 2**32 diff --git a/Lib/test/test_import/__init__.py b/Lib/test/test_import/__init__.py index 9b4cac94e3d0..586478ff2753 100644 --- a/Lib/test/test_import/__init__.py +++ b/Lib/test/test_import/__init__.py @@ -21,8 +21,9 @@ import test.support from test.support import ( EnvironmentVarGuard, TESTFN, check_warnings, forget, is_jython, make_legacy_pyc, rmtree, run_unittest, swap_attr, swap_item, temp_umask, - unlink, unload, create_empty_file, cpython_only, TESTFN_UNENCODABLE) -from test import script_helper + unlink, unload, create_empty_file, cpython_only, TESTFN_UNENCODABLE, + temp_dir) +from test.support import script_helper skip_if_dont_write_bytecode = unittest.skipIf( @@ -45,7 +46,7 @@ def _ready_to_import(name=None, source=""): # temporarily clears the module from sys.modules (if any) # reverts or removes the module when cleaning up name = name or "spam" - with script_helper.temp_dir() as tempdir: + with temp_dir() as tempdir: path = script_helper.make_script(tempdir, name, source) old_module = sys.modules.pop(name, None) try: diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py index 9e1f546be79d..43ef75556bc9 100644 --- a/Lib/test/test_inspect.py +++ b/Lib/test/test_inspect.py @@ -26,7 +26,7 @@ except ImportError: from test.support import run_unittest, TESTFN, DirsOnSysPath, cpython_only from test.support import MISSING_C_DOCSTRINGS, cpython_only -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure from test import inspect_fodder as mod from test import inspect_fodder2 as mod2 diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py index 5b7cfc930143..46b896fa67fe 100644 --- a/Lib/test/test_io.py +++ b/Lib/test/test_io.py @@ -35,7 +35,7 @@ import weakref from collections import deque, UserList from itertools import cycle, count from test import support -from test.script_helper import assert_python_ok, run_python_until_end +from test.support.script_helper import assert_python_ok, run_python_until_end import codecs import io # C implementation of io diff --git a/Lib/test/test_json/test_tool.py b/Lib/test/test_json/test_tool.py index bd63e2b31119..15f373664e12 100644 --- a/Lib/test/test_json/test_tool.py +++ b/Lib/test/test_json/test_tool.py @@ -4,7 +4,7 @@ import textwrap import unittest import subprocess from test import support -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok class TestTool(unittest.TestCase): diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index c323a59deabf..07aeb8386af8 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -38,7 +38,7 @@ import socket import struct import sys import tempfile -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok from test import support import textwrap import time diff --git a/Lib/test/test_module.py b/Lib/test/test_module.py index 270ec7e2ec42..48ab0b492815 100644 --- a/Lib/test/test_module.py +++ b/Lib/test/test_module.py @@ -2,7 +2,7 @@ import unittest import weakref from test.support import gc_collect -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok import sys ModuleType = type(sys) diff --git a/Lib/test/test_multiprocessing_main_handling.py b/Lib/test/test_multiprocessing_main_handling.py index de5f782ee4af..52273ea22d18 100644 --- a/Lib/test/test_multiprocessing_main_handling.py +++ b/Lib/test/test_multiprocessing_main_handling.py @@ -13,10 +13,9 @@ import os import os.path import py_compile -from test.script_helper import ( +from test.support.script_helper import ( make_pkg, make_script, make_zip_pkg, make_zip_script, - assert_python_ok, assert_python_failure, temp_dir, - spawn_python, kill_python) + assert_python_ok, assert_python_failure, spawn_python, kill_python) # Look up which start methods are available to test import multiprocessing @@ -157,12 +156,12 @@ class MultiProcessingCmdLineMixin(): self._check_output(script_name, rc, out, err) def test_basic_script(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script') self._check_script(script_name) def test_basic_script_no_suffix(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script', omit_suffix=True) self._check_script(script_name) @@ -173,7 +172,7 @@ class MultiProcessingCmdLineMixin(): # a workaround for that case # See https://github.com/ipython/ipython/issues/4698 source = test_source_main_skipped_in_children - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'ipython', source=source) self._check_script(script_name) @@ -183,7 +182,7 @@ class MultiProcessingCmdLineMixin(): self._check_script(script_no_suffix) def test_script_compiled(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, 'script') py_compile.compile(script_name, doraise=True) os.remove(script_name) @@ -192,14 +191,14 @@ class MultiProcessingCmdLineMixin(): def test_directory(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__', source=source) self._check_script(script_dir) def test_directory_compiled(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__', source=source) py_compile.compile(script_name, doraise=True) @@ -209,7 +208,7 @@ class MultiProcessingCmdLineMixin(): def test_zipfile(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__', source=source) zip_name, run_name = make_zip_script(script_dir, 'test_zip', script_name) @@ -217,7 +216,7 @@ class MultiProcessingCmdLineMixin(): def test_zipfile_compiled(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: script_name = _make_test_script(script_dir, '__main__', source=source) compiled_name = py_compile.compile(script_name, doraise=True) @@ -225,7 +224,7 @@ class MultiProcessingCmdLineMixin(): self._check_script(zip_name) def test_module_in_package(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, 'check_sibling') @@ -234,20 +233,20 @@ class MultiProcessingCmdLineMixin(): self._check_script(launch_name) def test_module_in_package_in_zipfile(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: zip_name, run_name = _make_test_zip_pkg(script_dir, 'test_zip', 'test_pkg', 'script') launch_name = _make_launch_script(script_dir, 'launch', 'test_pkg.script', zip_name) self._check_script(launch_name) def test_module_in_subpackage_in_zipfile(self): - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: zip_name, run_name = _make_test_zip_pkg(script_dir, 'test_zip', 'test_pkg', 'script', depth=2) launch_name = _make_launch_script(script_dir, 'launch', 'test_pkg.test_pkg.script', zip_name) self._check_script(launch_name) def test_package(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, '__main__', @@ -257,7 +256,7 @@ class MultiProcessingCmdLineMixin(): def test_package_compiled(self): source = self.main_in_children_source - with temp_dir() as script_dir: + with support.temp_dir() as script_dir: pkg_dir = os.path.join(script_dir, 'test_pkg') make_pkg(pkg_dir) script_name = _make_test_script(pkg_dir, '__main__', diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py index 70734ab7926d..d2dfcaffbef8 100644 --- a/Lib/test/test_os.py +++ b/Lib/test/test_os.py @@ -64,7 +64,7 @@ try: except ImportError: INT_MAX = PY_SSIZE_T_MAX = sys.maxsize -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok root_in_posix = False if hasattr(os, 'geteuid'): diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py index 18f16e3f52db..56b5d950f7a5 100644 --- a/Lib/test/test_parser.py +++ b/Lib/test/test_parser.py @@ -4,7 +4,7 @@ import sys import operator import struct from test import support -from test.script_helper import assert_python_failure +from test.support.script_helper import assert_python_failure # # First, we test that we can generate trees from valid source fragments, diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py index 6a967c30ab0f..ec5c31ba7216 100644 --- a/Lib/test/test_pydoc.py +++ b/Lib/test/test_pydoc.py @@ -21,7 +21,7 @@ import xml.etree import textwrap from io import StringIO from collections import namedtuple -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok from test.support import ( TESTFN, rmtree, reap_children, reap_threads, captured_output, captured_stdout, diff --git a/Lib/test/test_readline.py b/Lib/test/test_readline.py index e2063b165b52..35330ab07610 100644 --- a/Lib/test/test_readline.py +++ b/Lib/test/test_readline.py @@ -5,7 +5,7 @@ import os import tempfile import unittest from test.support import import_module, unlink -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok # Skip tests if there is no readline module readline = import_module('readline') diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py index 81caff8d5851..5a799bdcf77f 100644 --- a/Lib/test/test_runpy.py +++ b/Lib/test/test_runpy.py @@ -9,9 +9,9 @@ import importlib, importlib.machinery, importlib.util import py_compile from test.support import ( forget, make_legacy_pyc, unload, verbose, no_tracing, - create_empty_file) -from test.script_helper import ( - make_pkg, make_script, make_zip_pkg, make_zip_script, temp_dir) + create_empty_file, temp_dir) +from test.support.script_helper import ( + make_pkg, make_script, make_zip_pkg, make_zip_script) import runpy diff --git a/Lib/test/test_script_helper.py b/Lib/test/test_script_helper.py index 86945301c832..a7680f886a8d 100644 --- a/Lib/test/test_script_helper.py +++ b/Lib/test/test_script_helper.py @@ -1,8 +1,8 @@ -"""Unittests for test.script_helper. Who tests the test helper?""" +"""Unittests for test.support.script_helper. Who tests the test helper?""" import subprocess import sys -from test import script_helper +from test.support import script_helper import unittest from unittest import mock diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py index a3963310114c..1b80ff0963b8 100644 --- a/Lib/test/test_signal.py +++ b/Lib/test/test_signal.py @@ -11,7 +11,7 @@ import struct import subprocess import traceback import sys, os, time, errno -from test.script_helper import assert_python_ok, spawn_python +from test.support.script_helper import assert_python_ok, spawn_python try: import threading except ImportError: diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 7398bdcfd0f0..9c0229ae563d 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -1,5 +1,5 @@ import unittest -from test import script_helper +from test.support import script_helper from test import support import subprocess import sys @@ -394,7 +394,7 @@ class ProcessTestCase(BaseTestCase): python_dir, python_base = self._split_python_path() abs_python = os.path.join(python_dir, python_base) rel_python = os.path.join(os.curdir, python_base) - with script_helper.temp_dir() as wrong_dir: + with support.temp_dir() as wrong_dir: # Before calling with an absolute path, confirm that using a # relative path fails. self.assertRaises(FileNotFoundError, subprocess.Popen, diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py index dc241a6d93be..6d2763b14900 100644 --- a/Lib/test/test_sys.py +++ b/Lib/test/test_sys.py @@ -1,5 +1,5 @@ import unittest, test.support -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure import sys, io, os import struct import subprocess @@ -708,7 +708,7 @@ class SysModuleTest(unittest.TestCase): @test.support.cpython_only def test_debugmallocstats(self): # Test sys._debugmallocstats() - from test.script_helper import assert_python_ok + from test.support.script_helper import assert_python_ok args = ['-c', 'import sys; sys._debugmallocstats()'] ret, out, err = assert_python_ok(*args) self.assertIn(b"free PyDictObjects", err) diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 483c58707c51..6c20634f9692 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -8,7 +8,8 @@ import unittest import unittest.mock import tarfile -from test import support, script_helper +from test import support +from test.support import script_helper # Check for our compression modules. try: diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py index 03c0daaaa9cb..9b7df442b977 100644 --- a/Lib/test/test_tempfile.py +++ b/Lib/test/test_tempfile.py @@ -12,7 +12,8 @@ import weakref from unittest import mock import unittest -from test import support, script_helper +from test import support +from test.support import script_helper if hasattr(os, 'stat'): diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py index 4b75ea677823..ddafba24b13e 100644 --- a/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py @@ -4,7 +4,7 @@ Tests for the threading module. import test.support from test.support import verbose, strip_python_stderr, import_module, cpython_only -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure import random import re diff --git a/Lib/test/test_tools/test_md5sum.py b/Lib/test/test_tools/test_md5sum.py index 59ea149238e4..1305295ef1b4 100644 --- a/Lib/test/test_tools/test_md5sum.py +++ b/Lib/test/test_tools/test_md5sum.py @@ -4,7 +4,7 @@ import os import sys import unittest from test import support -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure from test.test_tools import scriptsdir, import_tool, skip_if_missing diff --git a/Lib/test/test_tools/test_pindent.py b/Lib/test/test_tools/test_pindent.py index 14a0aa270f11..e293bc872ce5 100644 --- a/Lib/test/test_tools/test_pindent.py +++ b/Lib/test/test_tools/test_pindent.py @@ -6,7 +6,7 @@ import unittest import subprocess import textwrap from test import support -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok from test.test_tools import scriptsdir, skip_if_missing diff --git a/Lib/test/test_tools/test_reindent.py b/Lib/test/test_tools/test_reindent.py index 45cebf728869..d7c20e1e5c72 100644 --- a/Lib/test/test_tools/test_reindent.py +++ b/Lib/test/test_tools/test_reindent.py @@ -6,7 +6,7 @@ Tools directory of a Python checkout or tarball, such as reindent.py. import os import unittest -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok from test.test_tools import scriptsdir, skip_if_missing diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py index 9364695f38fb..e8c4d74f7ba5 100644 --- a/Lib/test/test_traceback.py +++ b/Lib/test/test_traceback.py @@ -8,7 +8,7 @@ import unittest import re from test import support from test.support import TESTFN, Error, captured_output, unlink, cpython_only -from test.script_helper import assert_python_ok +from test.support.script_helper import assert_python_ok import textwrap import traceback diff --git a/Lib/test/test_tracemalloc.py b/Lib/test/test_tracemalloc.py index 9382c483d5a4..5ddc879b8958 100644 --- a/Lib/test/test_tracemalloc.py +++ b/Lib/test/test_tracemalloc.py @@ -4,8 +4,9 @@ import sys import tracemalloc import unittest from unittest.mock import patch -from test.script_helper import assert_python_ok, assert_python_failure -from test import script_helper, support +from test.support.script_helper import (assert_python_ok, assert_python_failure, + interpreter_requires_environment) +from test import support try: import threading except ImportError: @@ -751,7 +752,7 @@ class TestCommandLine(unittest.TestCase): stdout = stdout.rstrip() self.assertEqual(stdout, b'False') - @unittest.skipIf(script_helper.interpreter_requires_environment(), + @unittest.skipIf(interpreter_requires_environment(), 'Cannot run -E tests when PYTHON env vars are required.') def test_env_var_ignored_with_E(self): """PYTHON* environment variables must be ignored when -E is present.""" diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py index bda10466d756..c7d2e5cfbba8 100644 --- a/Lib/test/test_warnings.py +++ b/Lib/test/test_warnings.py @@ -5,7 +5,7 @@ from io import StringIO import sys import unittest from test import support -from test.script_helper import assert_python_ok, assert_python_failure +from test.support.script_helper import assert_python_ok, assert_python_failure from test import warning_tests diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index e735376a67fc..afd0b62f3b3c 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -7,7 +7,8 @@ import operator import contextlib import copy -from test import support, script_helper +from test import support +from test.support import script_helper # Used in ReferencesTestCase.test_ref_created_during_del() . ref_from_del = None diff --git a/Lib/test/test_zipimport_support.py b/Lib/test/test_zipimport_support.py index ed4c242f4964..5913622f56e8 100644 --- a/Lib/test/test_zipimport_support.py +++ b/Lib/test/test_zipimport_support.py @@ -14,8 +14,8 @@ import inspect import linecache import pdb import unittest -from test.script_helper import (spawn_python, kill_python, assert_python_ok, - temp_dir, make_script, make_zip_script) +from test.support.script_helper import (spawn_python, kill_python, assert_python_ok, + make_script, make_zip_script) verbose = test.support.verbose @@ -78,7 +78,7 @@ class ZipSupportTests(unittest.TestCase): def test_inspect_getsource_issue4223(self): test_src = "def foo(): pass\n" - with temp_dir() as d: + with test.support.temp_dir() as d: init_name = make_script(d, '__init__', test_src) name_in_zip = os.path.join('zip_pkg', os.path.basename(init_name)) @@ -118,7 +118,7 @@ class ZipSupportTests(unittest.TestCase): mod_name = mod_name.replace("sample_", "sample_zipped_") sample_sources[mod_name] = src - with temp_dir() as d: + with test.support.temp_dir() as d: script_name = make_script(d, 'test_zipped_doctest', test_src) zip_name, run_name = make_zip_script(d, 'test_zip', @@ -195,7 +195,7 @@ class ZipSupportTests(unittest.TestCase): doctest.testmod() """) pattern = 'File "%s", line 2, in %s' - with temp_dir() as d: + with test.support.temp_dir() as d: script_name = make_script(d, 'script', test_src) rc, out, err = assert_python_ok(script_name) expected = pattern % (script_name, "__main__.Test") @@ -222,7 +222,7 @@ class ZipSupportTests(unittest.TestCase): import pdb pdb.Pdb(nosigint=True).runcall(f) """) - with temp_dir() as d: + with test.support.temp_dir() as d: script_name = make_script(d, 'script', test_src) p = spawn_python(script_name) p.stdin.write(b'l\n') diff --git a/Misc/NEWS b/Misc/NEWS index c301292fbeef..44fd28d5db41 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -60,6 +60,12 @@ Library - Issue #23887: urllib.error.HTTPError now has a proper repr() representation. Patch by Berker Peksag. +Tests +----- + +- Issue #9517: Move script_helper into the support package. + Patch by Christie Wilson. + Documentation ------------- -- 2.47.3