[3.13] gh-132396: Resolve 'redefinition of unused name' errors in `Lib/test/` (GH-132397) (#132699)

gh-132396: Resolve 'redefinition of unused name' errors in ``Lib/test/`` (GH-132397)
(cherry picked from commit 1d5dc5f1c3)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
This commit is contained in:
Miss Islington (bot) 2025-04-18 21:35:35 +02:00 committed by GitHub
parent 151828d520
commit 10f37b36b4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 22 additions and 26 deletions

View file

@ -1,6 +1,6 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.1
rev: v0.11.4
hooks:
- id: ruff
name: Run Ruff (lint) on Doc/

View file

@ -4,19 +4,12 @@ extend-exclude = [
"test_clinic.py",
# Excluded (these aren't actually executed, they're just "data files")
"tokenizedata/*.py",
# Failed to lint
# Non UTF-8 files
"encoded_modules/module_iso_8859_1.py",
"encoded_modules/module_koi8_r.py",
# TODO Fix: F811 Redefinition of unused name
"test_buffer.py",
"test_dataclasses/__init__.py",
"test_descr.py",
"test_enum.py",
"test_functools.py",
# New grammar constructions may not yet be recognized by Ruff,
# and tests re-use the same names as only the grammar is being checked.
"test_grammar.py",
"test_import/__init__.py",
"test_pkg.py",
"test_yield_from.py",
]
[lint]

View file

@ -769,12 +769,12 @@ class TestCase(unittest.TestCase):
# Because this is a ClassVar, it can be mutable.
@dataclass
class C:
class UsesMutableClassVar:
z: ClassVar[typ] = typ()
# Because this is a ClassVar, it can be mutable.
@dataclass
class C:
class UsesMutableClassVarWithSubType:
x: ClassVar[typ] = Subclass()
def test_deliberately_mutable_defaults(self):
@ -4802,7 +4802,7 @@ class TestKeywordArgs(unittest.TestCase):
# But this usage is okay, since it's not using KW_ONLY.
@dataclass
class A:
class NoDuplicateKwOnlyAnnotation:
a: int
_: KW_ONLY
b: int
@ -4810,13 +4810,13 @@ class TestKeywordArgs(unittest.TestCase):
# And if inheriting, it's okay.
@dataclass
class A:
class BaseUsesKwOnly:
a: int
_: KW_ONLY
b: int
c: int
@dataclass
class B(A):
class SubclassUsesKwOnly(BaseUsesKwOnly):
_: KW_ONLY
d: int

View file

@ -1190,10 +1190,9 @@ class ClassPropertiesAndMethods(unittest.TestCase, ExtraAssertions):
pass
else:
self.fail("[''] slots not caught")
class C(object):
class WithValidIdentifiers(object):
__slots__ = ["a", "a_b", "_a", "A0123456789Z"]
# XXX(nnorwitz): was there supposed to be something tested
# from the class above?
# Test a single string is not expanded as a sequence.
class C(object):

View file

@ -1353,7 +1353,7 @@ class TestSpecial(unittest.TestCase):
red = 1
green = 2
blue = 3
def red(self):
def red(self): # noqa: F811
return 'red'
#
with self.assertRaises(TypeError):
@ -1361,7 +1361,7 @@ class TestSpecial(unittest.TestCase):
@enum.property
def red(self):
return 'redder'
red = 1
red = 1 # noqa: F811
green = 2
blue = 3

View file

@ -463,7 +463,7 @@ class ImportTests(unittest.TestCase, ExtraAssertions):
# (SF bug 422177).
from test.test_import.data import double_const
unload('test.test_import.data.double_const')
from test.test_import.data import double_const
from test.test_import.data import double_const # noqa: F811
def test_import(self):
def test_with_extension(ext):
@ -592,7 +592,7 @@ class ImportTests(unittest.TestCase, ExtraAssertions):
# import in a 'for' loop resulted in segmentation fault
for i in range(2):
import test.support.script_helper as x
import test.support.script_helper as x # noqa: F811
def test_failing_reload(self):
# A failing reload should leave the module object in sys.modules.

View file

@ -190,7 +190,6 @@ class TestPkg(unittest.TestCase):
]
self.mkhier(hier)
import t5
s = """
from t5 import *
self.assertEqual(dir(), ['foo', 'self', 'string', 't5'])

View file

@ -174,7 +174,7 @@ class FailureTestCase(unittest.TestCase):
# Ruff complains that we're redefining `self.foo` here,
# but the whole point of the test is to check that `self.foo`
# is *not* redefined (because `__enter__` raises)
with ct as self.foo: # ruff: noqa: F811
with ct as self.foo: # noqa: F811
pass
self.assertRaises(RuntimeError, shouldThrow)
self.assertEqual(self.foo, None)

View file

@ -896,6 +896,7 @@ class TestPEP380Operation(unittest.TestCase):
yield 2
g1 = one()
self.assertEqual(list(g1), [0, 1, 2, 3])
# Check with send
g1 = one()
res = [next(g1)]
@ -905,6 +906,8 @@ class TestPEP380Operation(unittest.TestCase):
except StopIteration:
pass
self.assertEqual(res, [0, 1, 2, 3])
def test_delegating_generators_claim_to_be_running_with_throw(self):
# Check with throw
class MyErr(Exception):
pass
@ -941,8 +944,10 @@ class TestPEP380Operation(unittest.TestCase):
except:
self.assertEqual(res, [0, 1, 2, 3])
raise
def test_delegating_generators_claim_to_be_running_with_close(self):
# Check with close
class MyIt(object):
class MyIt:
def __iter__(self):
return self
def __next__(self):