gh-120417: Add #noqa: F401 to tests (#120627)

Ignore linter "imported but unused" warnings in tests when the linter
doesn't understand how the import is used.
This commit is contained in:
Victor Stinner 2024-06-18 17:51:47 +02:00 committed by GitHub
parent 7e189aed64
commit e9f4d80fa6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
24 changed files with 43 additions and 41 deletions

View File

@ -1221,8 +1221,8 @@ def refcount_test(test):
def requires_limited_api(test):
try:
import _testcapi
import _testlimitedcapi
import _testcapi # noqa: F401
import _testlimitedcapi # noqa: F401
except ImportError:
return unittest.skip('needs _testcapi and _testlimitedcapi modules')(test)
return test
@ -2299,7 +2299,7 @@ def clear_ignored_deprecations(*tokens: object) -> None:
def requires_venv_with_pip():
# ensurepip requires zlib to open ZIP archives (.whl binary wheel packages)
try:
import zlib
import zlib # noqa: F401
except ImportError:
return unittest.skipIf(True, "venv: ensurepip requires zlib")

View File

@ -103,7 +103,7 @@ class AllTest(unittest.TestCase):
# In case _socket fails to build, make this test fail more gracefully
# than an AttributeError somewhere deep in concurrent.futures, email
# or unittest.
import _socket
import _socket # noqa: F401
ignored = []
failed_imports = []

View File

@ -3103,14 +3103,14 @@ class GenericTaskTests(test_utils.TestCase):
# fail on systems where C modules were successfully compiled
# (hence the test for _functools etc), but _asyncio somehow didn't.
try:
import _functools
import _json
import _pickle
import _functools # noqa: F401
import _json # noqa: F401
import _pickle # noqa: F401
except ImportError:
self.skipTest('C modules are not available')
else:
try:
import _asyncio
import _asyncio # noqa: F401
except ImportError:
self.fail('_asyncio module is missing')

View File

@ -10,7 +10,7 @@ import sys
def import_singlephase():
assert '_testsinglephase' not in sys.modules
try:
import _testsinglephase
import _testsinglephase # noqa: F401
except ImportError:
sys.modules.pop('_testsinglephase', None)
return False

View File

@ -737,7 +737,7 @@ class CmdLineTest(unittest.TestCase):
# Memory allocator debug hooks
try:
import _testinternalcapi
import _testinternalcapi # noqa: F401
except ImportError:
pass
else:
@ -754,7 +754,7 @@ class CmdLineTest(unittest.TestCase):
# Faulthandler
try:
import faulthandler
import faulthandler # noqa: F401
except ImportError:
pass
else:

View File

@ -2958,7 +2958,7 @@ else:
bytes_transform_encodings.append("zlib_codec")
transform_aliases["zlib_codec"] = ["zip", "zlib"]
try:
import bz2
import bz2 # noqa: F401
except ImportError:
pass
else:

View File

@ -441,8 +441,8 @@ class TestSpecifics(unittest.TestCase):
def f():
__mangled = 1
__not_mangled__ = 2
import __mangled_mod
import __package__.module
import __mangled_mod # noqa: F401
import __package__.module # noqa: F401
self.assertIn("_A__mangled", A.f.__code__.co_varnames)
self.assertIn("__not_mangled__", A.f.__code__.co_varnames)

View File

@ -18,7 +18,7 @@ try:
# compileall relies on ProcessPoolExecutor if ProcessPoolExecutor exists
# and it can function.
from multiprocessing.util import _cleanup_tests as multiprocessing_cleanup_tests
from concurrent.futures import ProcessPoolExecutor
from concurrent.futures import ProcessPoolExecutor # noqa: F401
from concurrent.futures.process import _check_system_limits
_check_system_limits()
_have_multiprocessing = True

View File

@ -8,7 +8,7 @@
# of much interest anymore), and a few were fiddled to make the output
# deterministic.
from test.support import sortdict
from test.support import sortdict # noqa: F401
import doctest
import unittest

View File

@ -21,8 +21,8 @@ if not support.has_subprocess_support:
raise unittest.SkipTest("test module requires subprocess")
# Test import all of the things we're about to try testing up front.
import _io
import _pyio
import _io # noqa: F401
import _pyio # noqa: F401
@unittest.skipUnless(os.name == 'posix', 'tests requires a posix system.')
class TestFileIOSignalInterrupt:

View File

@ -1,6 +1,6 @@
"""This is a test"""
from __future__ import nested_scopes; import site
from __future__ import nested_scopes; import site # noqa: F401
def f(x):
def g(y):

View File

@ -67,19 +67,19 @@ class FutureTest(unittest.TestCase):
with import_helper.CleanImport(
'test.test_future_stmt.test_future_single_import',
):
from test.test_future_stmt import test_future_single_import
from test.test_future_stmt import test_future_single_import # noqa: F401
def test_future_multiple_imports(self):
with import_helper.CleanImport(
'test.test_future_stmt.test_future_multiple_imports',
):
from test.test_future_stmt import test_future_multiple_imports
from test.test_future_stmt import test_future_multiple_imports # noqa: F401
def test_future_multiple_features(self):
with import_helper.CleanImport(
"test.test_future_stmt.test_future_multiple_features",
):
from test.test_future_stmt import test_future_multiple_features
from test.test_future_stmt import test_future_multiple_features # noqa: F401
def test_unknown_future_flag(self):
code = """
@ -153,7 +153,7 @@ class FutureTest(unittest.TestCase):
def test_module_with_future_import_not_on_top(self):
with self.assertRaises(SyntaxError) as cm:
from test.test_future_stmt import badsyntax_future
from test.test_future_stmt import badsyntax_future # noqa: F401
self.check_syntax_error(cm.exception, "badsyntax_future", lineno=3)
def test_ensure_flags_dont_clash(self):

View File

@ -1287,7 +1287,7 @@ class TestClassesAndFunctions(unittest.TestCase):
(dict.__class_getitem__, meth_type_o),
]
try:
import _stat
import _stat # noqa: F401
except ImportError:
# if the _stat extension is not available, stat.S_IMODE() is
# implemented in Python, not in C
@ -3303,7 +3303,7 @@ class TestSignatureObject(unittest.TestCase):
(dict.__class_getitem__, meth_o),
]
try:
import _stat
import _stat # noqa: F401
except ImportError:
# if the _stat extension is not available, stat.S_IMODE() is
# implemented in Python, not in C

View File

@ -94,7 +94,7 @@ class TestPkg(unittest.TestCase):
def test_1(self):
hier = [("t1", None), ("t1 __init__.py", "")]
self.mkhier(hier)
import t1
import t1 # noqa: F401
def test_2(self):
hier = [
@ -124,7 +124,7 @@ class TestPkg(unittest.TestCase):
from t2 import sub
from t2.sub import subsub
from t2.sub.subsub import spam
from t2.sub.subsub import spam # noqa: F401
self.assertEqual(sub.__name__, "t2.sub")
self.assertEqual(subsub.__name__, "t2.sub.subsub")
self.assertEqual(sub.subsub.__name__, "t2.sub.subsub")

View File

@ -1239,7 +1239,8 @@ class PydocImportTest(PydocBaseTest):
sys.path.insert(0, TESTFN)
try:
with self.assertRaisesRegex(ValueError, "ouch"):
import test_error_package # Sanity check
# Sanity check
import test_error_package # noqa: F401
text = self.call_url_handler("search?key=test_error_package",
"Pydoc: Search Results")

View File

@ -13,7 +13,7 @@ from weakref import proxy
# some platforms lack working multiprocessing
try:
import _multiprocessing
import _multiprocessing # noqa: F401
except ImportError:
multiprocessing = None
else:
@ -1228,7 +1228,7 @@ class ReTests(unittest.TestCase):
newpat = pickle.loads(pickled)
self.assertEqual(newpat, oldpat)
# current pickle expects the _compile() reconstructor in re module
from re import _compile
from re import _compile # noqa: F401
def test_copying(self):
import copy

View File

@ -513,7 +513,7 @@ class ImportSideEffectTests(unittest.TestCase):
# If sitecustomize is available, it should have been imported.
if "sitecustomize" not in sys.modules:
try:
import sitecustomize
import sitecustomize # noqa: F401
except ImportError:
pass
else:

View File

@ -18,10 +18,11 @@ class TestUntestedModules(unittest.TestCase):
self.fail('{} has tests even though test_sundry claims '
'otherwise'.format(name))
import html.entities
import html.entities # noqa: F401
try:
import tty # Not available on Windows
# Not available on Windows
import tty # noqa: F401
except ImportError:
if support.verbose:
print("skipping tty")

View File

@ -70,7 +70,7 @@ class TestSupport(unittest.TestCase):
self.assertEqual(support.get_original_stdout(), sys.stdout)
def test_unload(self):
import sched
import sched # noqa: F401
self.assertIn("sched", sys.modules)
import_helper.unload("sched")
self.assertNotIn("sched", sys.modules)

View File

@ -19,7 +19,7 @@ class PEP3131Test(unittest.TestCase):
def test_invalid(self):
try:
from test.tokenizedata import badsyntax_3131
from test.tokenizedata import badsyntax_3131 # noqa: F401
except SyntaxError as err:
self.assertEqual(str(err),
"invalid character '' (U+20AC) (badsyntax_3131.py, line 2)")

View File

@ -14,7 +14,7 @@ class PEP3120Test(unittest.TestCase):
def test_badsyntax(self):
try:
import test.tokenizedata.badsyntax_pep3120
import test.tokenizedata.badsyntax_pep3120 # noqa: F401
except SyntaxError as msg:
msg = str(msg).lower()
self.assertTrue('utf-8' in msg)

View File

@ -499,7 +499,7 @@ class WarnTests(BaseTest):
with original_warnings.catch_warnings(record=True,
module=self.module) as w:
self.module.simplefilter('always')
import test.test_warnings.data.import_warning
import test.test_warnings.data.import_warning # noqa: F401
self.assertEqual(len(w), 1)
self.assertEqual(w[0].filename, __file__)

View File

@ -138,9 +138,9 @@ class ModuleTest(unittest.TestCase):
def test_sanity(self):
# Import sanity.
from xml.etree import ElementTree
from xml.etree import ElementInclude
from xml.etree import ElementPath
from xml.etree import ElementTree # noqa: F401
from xml.etree import ElementInclude # noqa: F401
from xml.etree import ElementPath # noqa: F401
def test_all(self):
names = ("xml.etree.ElementTree", "_elementtree")

View File

@ -308,7 +308,7 @@ class XMLRPCTestCase(unittest.TestCase):
def test_ssl_presence(self):
try:
import ssl
import ssl # noqa: F401
except ImportError:
has_ssl = False
else: