]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-110558: Enable ruff's pyupgrade rules when running on Argument Clinic (#110603)
authorAlex Waygood <Alex.Waygood@Gmail.com>
Tue, 10 Oct 2023 09:35:36 +0000 (11:35 +0200)
committerGitHub <noreply@github.com>
Tue, 10 Oct 2023 09:35:36 +0000 (09:35 +0000)
.pre-commit-config.yaml
Lib/test/test_clinic.py
Tools/clinic/.ruff.toml
Tools/clinic/clinic.py

index 59fe1c316cac12c9577b624cb4e23a7960c24196..8bc0d4472db4d1209bcfdcf56548c6fa47fa6c2e 100644 (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
 
index 4a5f472e6f71097558bf35e1bc402655a4620bd3..627a329bb738a2292c3ca1dfd001de7096a04fff 100644 (file)
@@ -2398,7 +2398,7 @@ class ClinicExternalTest(TestCase):
     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.
@@ -2406,7 +2406,7 @@ class ClinicExternalTest(TestCase):
         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)
@@ -2466,7 +2466,7 @@ class ClinicExternalTest(TestCase):
                 "/*[clinic end generated code: "
                 "output=c16447c01510dfb3 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),
                             (generated, checksum))
index 3bc9d908ed329600d8d35e7ce492697cacb183c5..cbb3a9a8f3a8c2cfea4ffc655f9d680fe41945b0 100644 (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
index 0f26350e1d06238abab5c3c4087ddb5a5e100097..1bcc85537bf2da25d91bac14ea3098c4ec03857d 100755 (executable)
@@ -2423,7 +2423,7 @@ extensions['py'] = PythonLanguage
 
 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: