[3.12] gh-110558: Enable ruff's pyupgrade rules when running on Argument Clinic (GH-110603) (#110609)

gh-110558: Enable ruff's pyupgrade rules when running on Argument Clinic (GH-110603)
(cherry picked from commit fc811c8d20)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Miss Islington (bot) 2023-10-10 12:35:21 +02:00 committed by GitHub
parent 190660abe9
commit 55d607683f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 20 additions and 5 deletions

View file

@ -7,7 +7,7 @@ repos:
args: [--exit-non-zero-on-fix]
files: ^Lib/test/
- id: ruff
name: Run Ruff on Tools/clinic/
name: Run Ruff on Argument Clinic
args: [--exit-non-zero-on-fix, --config=Tools/clinic/.ruff.toml]
files: ^Tools/clinic/|Lib/test/test_clinic.py

View file

@ -1394,7 +1394,7 @@ def expect_failure(self, *args):
def test_external(self):
CLINIC_TEST = 'clinic.test.c'
source = support.findfile(CLINIC_TEST)
with open(source, 'r', encoding='utf-8') as f:
with open(source, encoding='utf-8') as f:
orig_contents = f.read()
# Run clinic CLI and verify that it does not complain.
@ -1402,7 +1402,7 @@ def test_external(self):
out = self.expect_success("-f", "-o", TESTFN, source)
self.assertEqual(out, "")
with open(TESTFN, 'r', encoding='utf-8') as f:
with open(TESTFN, encoding='utf-8') as f:
new_contents = f.read()
self.assertEqual(new_contents, orig_contents)
@ -1463,7 +1463,7 @@ def test_cli_force(self):
"/*[clinic end generated code: "
"output=2124c291eb067d76 input=9543a8d2da235301]*/\n"
)
with open(fn, 'r', encoding='utf-8') as f:
with open(fn, encoding='utf-8') as f:
generated = f.read()
self.assertTrue(generated.endswith(checksum))

View file

@ -2,9 +2,24 @@ target-version = "py310"
fix = true
select = [
"F", # Enable all pyflakes rules
"UP", # Enable all pyupgrade rules by default
"RUF100", # Ban unused `# noqa` comments
"PGH004", # Ban blanket `# noqa` comments (only ignore specific error codes)
]
ignore = [
# Unnecessary parentheses to functools.lru_cache: just leads to unnecessary churn.
# https://github.com/python/cpython/pull/104684#discussion_r1199653347.
"UP011",
# Use format specifiers instead of %-style formatting.
# Doesn't always make code more readable.
"UP031",
# Use f-strings instead of format specifiers.
# Doesn't always make code more readable.
"UP032",
# Use PEP-604 unions rather than tuples for isinstance() checks.
# Makes code slower and more verbose. https://github.com/astral-sh/ruff/issues/7871.
"UP038",
]
unfixable = [
# The autofixes sometimes do the wrong things for these;
# it's better to have to manually look at the code and see how it needs fixing

View file

@ -1968,7 +1968,7 @@ def dump(self):
def write_file(filename: str, new_contents: str) -> None:
try:
with open(filename, 'r', encoding="utf-8") as fp:
with open(filename, encoding="utf-8") as fp:
old_contents = fp.read()
if old_contents == new_contents: