From 50c3fd6d8e131572a9e4769f92eecc86b736c0ae Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Tue, 10 Oct 2023 11:35:36 +0200 Subject: [PATCH] gh-110558: Enable ruff's pyupgrade rules when running on Argument Clinic (GH-110603) (cherry picked from commit fc811c8d205db9c19f42890e2c4193a0c2f87965) Co-authored-by: Alex Waygood --- .pre-commit-config.yaml | 2 +- Lib/test/test_clinic.py | 6 +++--- Tools/clinic/.ruff.toml | 15 +++++++++++++++ Tools/clinic/clinic.py | 2 +- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ffca103bb33e86..8ad1f33d3a6050 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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 diff --git a/Lib/test/test_clinic.py b/Lib/test/test_clinic.py index 23487958f45648..05eea78a0ce4e5 100644 --- a/Lib/test/test_clinic.py +++ b/Lib/test/test_clinic.py @@ -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)) diff --git a/Tools/clinic/.ruff.toml b/Tools/clinic/.ruff.toml index 3bc9d908ed3296..cbb3a9a8f3a8c2 100644 --- a/Tools/clinic/.ruff.toml +++ b/Tools/clinic/.ruff.toml @@ -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 diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index fd394c92cad9c6..921b77bad51330 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -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: pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy