Skip to content

gh-132396: address redefinition of unused name errors in Lib/test #132397

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 17 commits into from
Apr 18, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -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/
Expand Down
13 changes: 3 additions & 10 deletions Lib/test/.ruff.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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]
Expand Down
10 changes: 5 additions & 5 deletions Lib/test/test_dataclasses/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -771,12 +771,12 @@ class Point:

# 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):
Expand Down Expand Up @@ -4864,21 +4864,21 @@ class A:

# But this usage is okay, since it's not using KW_ONLY.
@dataclass
class A:
class NoDuplicateKwOnlyAnnotation:
a: int
_: KW_ONLY
b: int
c: int = field(kw_only=True)

# 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

Expand Down
5 changes: 2 additions & 3 deletions Lib/test/test_descr.py
Original file line number Diff line number Diff line change
Expand Up @@ -1192,10 +1192,9 @@ class C(object):
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):
Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_enum.py
Original file line number Diff line number Diff line change
Expand Up @@ -1352,15 +1352,15 @@ class Color(Enum):
red = 1
green = 2
blue = 3
def red(self):
def red(self): # noqa: F811
return 'red'
#
with self.assertRaises(TypeError):
class Color(Enum):
@enum.property
def red(self):
return 'redder'
red = 1
red = 1 # noqa: F811
green = 2
blue = 3

Expand Down
4 changes: 2 additions & 2 deletions Lib/test/test_import/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -444,7 +444,7 @@ def test_double_const(self):
# (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):
Expand Down Expand Up @@ -573,7 +573,7 @@ def test_issue31286(self):

# 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.
Expand Down
1 change: 0 additions & 1 deletion Lib/test/test_pkg.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,6 @@ def test_5(self):
]
self.mkhier(hier)

import t5
s = """
from t5 import *
self.assertEqual(dir(), ['foo', 'self', 'string', 't5'])
Expand Down
2 changes: 1 addition & 1 deletion Lib/test/test_with.py
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ def shouldThrow():
# 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)
Expand Down
7 changes: 6 additions & 1 deletion Lib/test/test_yield_from.py
Original file line number Diff line number Diff line change
Expand Up @@ -896,6 +896,7 @@ def two():
yield 2
g1 = one()
self.assertEqual(list(g1), [0, 1, 2, 3])

# Check with send
g1 = one()
res = [next(g1)]
Expand All @@ -905,6 +906,8 @@ def two():
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
Expand Down Expand Up @@ -941,8 +944,10 @@ def two():
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):
Expand Down
Loading