]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-40275: Use new test.support helper submodules in tests (GH-21315)
authorHai Shi <shihai1992@gmail.com>
Mon, 6 Jul 2020 09:15:08 +0000 (17:15 +0800)
committerGitHub <noreply@github.com>
Mon, 6 Jul 2020 09:15:08 +0000 (11:15 +0200)
20 files changed:
Lib/ctypes/test/__init__.py
Lib/ctypes/test/test_find.py
Lib/test/test_bytes.py
Lib/test/test_cgitb.py
Lib/test/test_ctypes.py
Lib/test/test_dbm.py
Lib/test/test_fcntl.py
Lib/test/test_file.py
Lib/test/test_fstring.py
Lib/test/test_httpservers.py
Lib/test/test_linecache.py
Lib/test/test_msilib.py
Lib/test/test_picklebuffer.py
Lib/test/test_profile.py
Lib/test/test_pty.py
Lib/test/test_reprlib.py
Lib/test/test_shelve.py
Lib/test/test_tk.py
Lib/test/test_wsgiref.py
Lib/test/test_zlib.py

index 26a70b76963499ee53795569ff64eb98a7f52350..6e496fa5a5201bf3d84d421400ff6aec6baa3bee 100644 (file)
@@ -1,9 +1,11 @@
 import os
 import unittest
 from test import support
+from test.support import import_helper
+
 
 # skip tests if _ctypes was not built
-ctypes = support.import_module('ctypes')
+ctypes = import_helper.import_module('ctypes')
 ctypes_symbols = dir(ctypes)
 
 def need_symbol(name):
index b99fdcba7b28fc2b248c17d4aef8e449a3e21f3d..bfb6b42cbb22771335ed0821c95a3b4ce45f0a22 100644 (file)
@@ -2,6 +2,7 @@ import unittest
 import os.path
 import sys
 import test.support
+from test.support import os_helper
 from ctypes import *
 from ctypes.util import find_library
 
@@ -65,8 +66,8 @@ class Test_OpenGL_libs(unittest.TestCase):
         self.gle.gleGetJoinStyle
 
     def test_shell_injection(self):
-        result = find_library('; echo Hello shell > ' + test.support.TESTFN)
-        self.assertFalse(os.path.lexists(test.support.TESTFN))
+        result = find_library('; echo Hello shell > ' + os_helper.TESTFN)
+        self.assertFalse(os.path.lexists(os_helper.TESTFN))
         self.assertIsNone(result)
 
 
@@ -100,7 +101,7 @@ class LibPathFindTest(unittest.TestCase):
             # LD_LIBRARY_PATH)
             self.assertIsNone(find_library(libname))
             # now add the location to LD_LIBRARY_PATH
-            with test.support.EnvironmentVarGuard() as env:
+            with os_helper.EnvironmentVarGuard() as env:
                 KEY = 'LD_LIBRARY_PATH'
                 if KEY not in env:
                     v = d
index 770e2c5592cc6167483bad32aeabad68146e0cda..61b4b9162ccc54a46ef3cf423067bdc17ee54db5 100644 (file)
@@ -16,6 +16,7 @@ import textwrap
 import unittest
 
 import test.support
+from test.support import import_helper
 import test.string_tests
 import test.list_tests
 from test.support import bigaddrspacetest, MAX_Py_ssize_t
@@ -967,7 +968,7 @@ class BaseBytesTest:
         self.assertEqual(c, b'hllo')
 
     def test_sq_item(self):
-        _testcapi = test.support.import_module('_testcapi')
+        _testcapi = import_helper.import_module('_testcapi')
         obj = self.type2test((42,))
         with self.assertRaises(IndexError):
             _testcapi.sequence_getitem(obj, -2)
@@ -1024,8 +1025,8 @@ class BytesTest(BaseBytesTest, unittest.TestCase):
 
     # Test PyBytes_FromFormat()
     def test_from_format(self):
-        ctypes = test.support.import_module('ctypes')
-        _testcapi = test.support.import_module('_testcapi')
+        ctypes = import_helper.import_module('ctypes')
+        _testcapi = import_helper.import_module('_testcapi')
         from ctypes import pythonapi, py_object
         from ctypes import (
             c_int, c_uint,
index bab152d8554563d05bef5da6fb326d62680ecb1f..590ffdea1122aca4086f41b2958c71f0160ae168 100644 (file)
@@ -1,4 +1,4 @@
-from test.support import temp_dir
+from test.support.os_helper import temp_dir
 from test.support.script_helper import assert_python_failure
 import unittest
 import sys
index 68268992e9f98fff38bd00be810e550cd5489931..b0a12c9734749005d78518e2592ff8600e90b062 100644 (file)
@@ -1,5 +1,6 @@
 import unittest
-from test.support import import_module
+from test.support.import_helper import import_module
+
 
 ctypes_test = import_module('ctypes.test')
 
index 571da973aab0ee10f5d04497d81164dc220559af..e02d1e16ae3da7c7bf33eac5b92f52fadde531b6 100644 (file)
@@ -2,17 +2,18 @@
 
 import unittest
 import glob
-import test.support
+from test.support import import_helper
+from test.support import os_helper
 
 # Skip tests if dbm module doesn't exist.
-dbm = test.support.import_module('dbm')
+dbm = import_helper.import_module('dbm')
 
 try:
     from dbm import ndbm
 except ImportError:
     ndbm = None
 
-_fname = test.support.TESTFN
+_fname = os_helper.TESTFN
 
 #
 # Iterates over every database module supported by dbm currently available,
@@ -34,7 +35,7 @@ def delete_files():
     # we don't know the precise name the underlying database uses
     # so we use glob to locate all names
     for f in glob.glob(glob.escape(_fname) + "*"):
-        test.support.unlink(f)
+        os_helper.unlink(f)
 
 
 class AnyDBMTestCase:
@@ -74,7 +75,7 @@ class AnyDBMTestCase:
 
     def test_anydbm_creation_n_file_exists_with_invalid_contents(self):
         # create an empty file
-        test.support.create_empty_file(_fname)
+        os_helper.create_empty_file(_fname)
         with dbm.open(_fname, 'n') as f:
             self.assertEqual(len(f), 0)
 
@@ -169,7 +170,7 @@ class WhichDBTestCase(unittest.TestCase):
         # Issue 17198: check that ndbm which is referenced in whichdb is defined
         db_file = '{}_ndbm.db'.format(_fname)
         with open(db_file, 'w'):
-            self.addCleanup(test.support.unlink, db_file)
+            self.addCleanup(os_helper.unlink, db_file)
         self.assertIsNone(self.dbm.whichdb(db_file[:-3]))
 
     def tearDown(self):
@@ -177,10 +178,10 @@ class WhichDBTestCase(unittest.TestCase):
 
     def setUp(self):
         delete_files()
-        self.filename = test.support.TESTFN
+        self.filename = os_helper.TESTFN
         self.d = dbm.open(self.filename, 'c')
         self.d.close()
-        self.dbm = test.support.import_fresh_module('dbm')
+        self.dbm = import_helper.import_fresh_module('dbm')
 
     def test_keys(self):
         self.d = dbm.open(self.filename, 'c')
index 9ab68c67241f464e0cf115389407ea48e616b378..7e1092083269e4a595bf4db34d87856d3e011ea9 100644 (file)
@@ -6,8 +6,10 @@ import struct
 import sys
 import unittest
 from multiprocessing import Process
-from test.support import (verbose, TESTFN, unlink, run_unittest, import_module,
-                          cpython_only)
+from test.support import (verbose, run_unittest, cpython_only)
+from test.support.import_helper import import_module
+from test.support.os_helper import TESTFN, unlink
+
 
 # Skip test if no fcntl module.
 fcntl = import_module('fcntl')
index cd642e7aaf8bb8634a14f751c924585369b355bc..149767591d9eb55538740746f4d800fcdc4000c7 100644 (file)
@@ -7,8 +7,9 @@ from weakref import proxy
 import io
 import _pyio as pyio
 
-from test.support import TESTFN
-from test import support
+from test.support.os_helper import TESTFN
+from test.support import os_helper
+from test.support import warnings_helper
 from collections import UserList
 
 class AutoFileTests:
@@ -20,7 +21,7 @@ class AutoFileTests:
     def tearDown(self):
         if self.f:
             self.f.close()
-        support.unlink(TESTFN)
+        os_helper.unlink(TESTFN)
 
     def testWeakRefs(self):
         # verify weak references
@@ -139,7 +140,7 @@ class PyAutoFileTests(AutoFileTests, unittest.TestCase):
 class OtherFileTests:
 
     def tearDown(self):
-        support.unlink(TESTFN)
+        os_helper.unlink(TESTFN)
 
     def testModeStrings(self):
         # check invalid mode strings
@@ -187,7 +188,7 @@ class OtherFileTests:
         # make sure that explicitly setting the buffer size doesn't cause
         # misbehaviour especially with repeated close() calls
         for s in (-1, 0, 512):
-            with support.check_no_warnings(self,
+            with warnings_helper.check_no_warnings(self,
                                            message='line buffering',
                                            category=RuntimeWarning):
                 self._checkBufferSize(s)
index 0dc7dd8e254c318a557d9eb4be47b7a3bc684477..35a62a0632e2e6219953c5219035a6aad2144b2c 100644 (file)
@@ -12,7 +12,7 @@ import os
 import types
 import decimal
 import unittest
-from test.support import temp_cwd
+from test.support.os_helper import temp_cwd
 from test.support.script_helper import assert_python_failure
 
 a_global = 'global variable'
index 71a0511e53a72fe7a3d2c7647d6c7bd25b289531..0c871afca37bdc02dd0a212450bf399bac351cc6 100644 (file)
@@ -30,6 +30,7 @@ from io import BytesIO
 
 import unittest
 from test import support
+from test.support import os_helper
 from test.support import threading_helper
 
 
@@ -391,13 +392,13 @@ class SimpleHTTPServerTestCase(BaseTestCase):
                      'undecodable name cannot always be decoded on macOS')
     @unittest.skipIf(sys.platform == 'win32',
                      'undecodable name cannot be decoded on win32')
-    @unittest.skipUnless(support.TESTFN_UNDECODABLE,
-                         'need support.TESTFN_UNDECODABLE')
+    @unittest.skipUnless(os_helper.TESTFN_UNDECODABLE,
+                         'need os_helper.TESTFN_UNDECODABLE')
     def test_undecodable_filename(self):
         enc = sys.getfilesystemencoding()
-        filename = os.fsdecode(support.TESTFN_UNDECODABLE) + '.txt'
+        filename = os.fsdecode(os_helper.TESTFN_UNDECODABLE) + '.txt'
         with open(os.path.join(self.tempdir, filename), 'wb') as f:
-            f.write(support.TESTFN_UNDECODABLE)
+            f.write(os_helper.TESTFN_UNDECODABLE)
         response = self.request(self.base_url + '/')
         if sys.platform == 'darwin':
             # On Mac OS the HFS+ filesystem replaces bytes that aren't valid
@@ -414,7 +415,7 @@ class SimpleHTTPServerTestCase(BaseTestCase):
                       .encode(enc, 'surrogateescape'), body)
         response = self.request(self.base_url + '/' + quotedname)
         self.check_status_and_reason(response, HTTPStatus.OK,
-                                     data=support.TESTFN_UNDECODABLE)
+                                     data=os_helper.TESTFN_UNDECODABLE)
 
     def test_get(self):
         #constructs the path relative to the root directory of the HTTPServer
index 375d9c42137ba238376d8cd95255019dff97f5d0..cfc6ba89e774c0644d13bebf1088e17be62073b2 100644 (file)
@@ -6,6 +6,7 @@ import os.path
 import tempfile
 import tokenize
 from test import support
+from test.support import os_helper
 
 
 FILENAME = linecache.__file__
@@ -44,7 +45,7 @@ class TempFile:
         with tempfile.NamedTemporaryFile(delete=False) as fp:
             self.file_name = fp.name
             fp.write(self.file_byte_string)
-        self.addCleanup(support.unlink, self.file_name)
+        self.addCleanup(os_helper.unlink, self.file_name)
 
 
 class GetLineTestsGoodData(TempFile):
@@ -124,10 +125,10 @@ class LineCacheTests(unittest.TestCase):
         self.assertEqual(empty, [])
 
     def test_no_ending_newline(self):
-        self.addCleanup(support.unlink, support.TESTFN)
-        with open(support.TESTFN, "w") as fp:
+        self.addCleanup(os_helper.unlink, os_helper.TESTFN)
+        with open(os_helper.TESTFN, "w") as fp:
             fp.write(SOURCE_3)
-        lines = linecache.getlines(support.TESTFN)
+        lines = linecache.getlines(os_helper.TESTFN)
         self.assertEqual(lines, ["\n", "def f():\n", "    return 3\n"])
 
     def test_clearcache(self):
@@ -150,8 +151,8 @@ class LineCacheTests(unittest.TestCase):
     def test_checkcache(self):
         getline = linecache.getline
         # Create a source file and cache its contents
-        source_name = support.TESTFN + '.py'
-        self.addCleanup(support.unlink, source_name)
+        source_name = os_helper.TESTFN + '.py'
+        self.addCleanup(os_helper.unlink, source_name)
         with open(source_name, 'w') as source:
             source.write(SOURCE_1)
         getline(source_name, 1)
index 743bea7c14d0eb6b276caa7d5fd3eb2da5632461..e29cd4a84c54693656d04dcb278376c557291b9d 100644 (file)
@@ -1,7 +1,8 @@
 """ Test suite for the code in msilib """
 import os
 import unittest
-from test.support import TESTFN, import_module, unlink
+from test.support.import_helper import import_module
+from test.support.os_helper import TESTFN, unlink
 msilib = import_module('msilib')
 import msilib.schema
 
index 97981c882e825b15268802ac1bbed28493335c8d..435b3e038aa394f653119f38f84adad5460479ef 100644 (file)
@@ -8,7 +8,7 @@ from pickle import PickleBuffer
 import weakref
 import unittest
 
-from test import support
+from test.support import import_helper
 
 
 class B(bytes):
@@ -75,7 +75,7 @@ class PickleBufferTest(unittest.TestCase):
 
     def test_ndarray_2d(self):
         # C-contiguous
-        ndarray = support.import_module("_testbuffer").ndarray
+        ndarray = import_helper.import_module("_testbuffer").ndarray
         arr = ndarray(list(range(12)), shape=(4, 3), format='<i')
         self.assertTrue(arr.c_contiguous)
         self.assertFalse(arr.f_contiguous)
@@ -109,7 +109,7 @@ class PickleBufferTest(unittest.TestCase):
 
     def test_raw_ndarray(self):
         # 1-D, contiguous
-        ndarray = support.import_module("_testbuffer").ndarray
+        ndarray = import_helper.import_module("_testbuffer").ndarray
         arr = ndarray(list(range(3)), shape=(3,), format='<h')
         equiv = b"\x00\x00\x01\x00\x02\x00"
         self.check_raw(arr, equiv)
@@ -135,7 +135,7 @@ class PickleBufferTest(unittest.TestCase):
 
     def test_raw_non_contiguous(self):
         # 1-D
-        ndarray = support.import_module("_testbuffer").ndarray
+        ndarray = import_helper.import_module("_testbuffer").ndarray
         arr = ndarray(list(range(6)), shape=(6,), format='<i')[::2]
         self.check_raw_non_contiguous(arr)
         # 2-D
index 01a8a6eaf5a23cc9e95e821b1cc044d0dbbfa290..738be85bedf3c9443945582f22d994bb3cc6d983 100644 (file)
@@ -6,7 +6,8 @@ import unittest
 import os
 from difflib import unified_diff
 from io import StringIO
-from test.support import TESTFN, run_unittest, unlink
+from test.support import run_unittest
+from test.support.os_helper import TESTFN, unlink
 from contextlib import contextmanager
 
 import profile
index 9c32467cbbd64b0d2ea145c49a5c2367736055c9..7ca0557800b6d8d8c0065dfc1c4a81ed97fabce7 100644 (file)
@@ -1,4 +1,5 @@
-from test.support import verbose, import_module, reap_children
+from test.support import verbose, reap_children
+from test.support.import_helper import import_module
 
 # Skip these tests if termios is not available
 import_module('termios')
index 4bf91945ea4f4ae3ea8c31ec07a35ca97fcd16c1..a328810c21ec613dadb81d4dd1faa3aa16fd9471 100644 (file)
@@ -10,7 +10,8 @@ import importlib
 import importlib.util
 import unittest
 
-from test.support import create_empty_file, verbose
+from test.support import verbose
+from test.support.os_helper import create_empty_file
 from reprlib import repr as r # Don't shadow builtin repr
 from reprlib import Repr
 from reprlib import recursive_repr
index 9ffe2cbeae4d864bf96e96ffe5f959cd96da9ea9..ac25eee2e52fd92ee368c8b57cd887250d46b2d0 100644 (file)
@@ -2,6 +2,7 @@ import unittest
 import shelve
 import glob
 from test import support
+from test.support import os_helper
 from collections.abc import MutableMapping
 from test.test_dbm import dbm_iterator
 
@@ -45,7 +46,7 @@ class TestCase(unittest.TestCase):
 
     def tearDown(self):
         for f in glob.glob(self.fn+"*"):
-            support.unlink(f)
+            os_helper.unlink(f)
 
     def test_close(self):
         d1 = {}
@@ -186,7 +187,7 @@ class TestShelveBase(mapping_tests.BasicTestMappingProtocol):
         self._db = []
         if not self._in_mem:
             for f in glob.glob(self.fn+"*"):
-                support.unlink(f)
+                os_helper.unlink(f)
 
 class TestAsciiFileShelve(TestShelveBase):
     _args={'protocol':0}
index 48cefd92e121627d36c5e478de4c6e5d8d7193af..59842a5e25e3660c24505ea5c1c230238bc74b29 100644 (file)
@@ -1,6 +1,7 @@
 from test import support
+from test.support import import_helper
 # Skip test if _tkinter wasn't built.
-support.import_module('_tkinter')
+import_helper.import_module('_tkinter')
 
 # Skip test if tk cannot be initialized.
 support.requires('gui')
index 4bf5d39e619f647c3c66d84fb72b0e3ba4608fb6..93ca6b99a92c9c014f631cbc903afa3da1f103c9 100644 (file)
@@ -1,6 +1,7 @@
 from unittest import mock
 from test import support
 from test.support import socket_helper
+from test.support import warnings_helper
 from test.test_httpservers import NoLogRequestHandler
 from unittest import TestCase
 from wsgiref.util import setup_testing_defaults
@@ -339,7 +340,7 @@ class UtilityTests(TestCase):
         util.setup_testing_defaults(kw)
         self.assertEqual(util.request_uri(kw,query),uri)
 
-    @support.ignore_warnings(category=DeprecationWarning)
+    @warnings_helper.ignore_warnings(category=DeprecationWarning)
     def checkFW(self,text,size,match):
 
         def make_it(text=text,size=size):
index 02509cdf5532c9ed5d234c0703d33a5b8dbbaa9a..7f30cac64f71b93caceffd536706929372da728e 100644 (file)
@@ -1,5 +1,6 @@
 import unittest
 from test import support
+from test.support import import_helper
 import binascii
 import copy
 import pickle
@@ -7,7 +8,8 @@ import random
 import sys
 from test.support import bigmemtest, _1G, _4G
 
-zlib = support.import_module('zlib')
+
+zlib = import_helper.import_module('zlib')
 
 requires_Compress_copy = unittest.skipUnless(
         hasattr(zlib.compressobj(), "copy"),