diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 89f65816b6969d..6c1c29a58cf4fc 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -7,7 +7,7 @@ permissions: env: FORCE_COLOR: 1 - RUFF_FORMAT: github + RUFF_OUTPUT_FORMAT: github concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a5d32a04fc2d7d..da96855c7f6b72 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,6 +6,10 @@ repos: name: Run Ruff on Lib/test/ args: [--exit-non-zero-on-fix] files: ^Lib/test/ + - id: ruff + name: Run Ruff on Tools/clinic/ + args: [--exit-non-zero-on-fix, --config=Tools/clinic/.ruff.toml] + files: ^Tools/clinic/|Lib/test/test_clinic.py - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 diff --git a/Lib/test/.ruff.toml b/Lib/test/.ruff.toml index f4e68eba14068d..424c81f6ecd759 100644 --- a/Lib/test/.ruff.toml +++ b/Lib/test/.ruff.toml @@ -3,6 +3,8 @@ select = [ "F811", # Redefinition of unused variable (useful for finding test methods with the same name) ] extend-exclude = [ + # Excluded (run with the other AC files in its own separate ruff job in pre-commit) + "test_clinic.py", # Excluded (these aren't actually executed, they're just "data files") "tokenizedata/*.py", # Failed to lint diff --git a/Tools/clinic/.ruff.toml b/Tools/clinic/.ruff.toml new file mode 100644 index 00000000000000..3bc9d908ed3296 --- /dev/null +++ b/Tools/clinic/.ruff.toml @@ -0,0 +1,14 @@ +target-version = "py310" +fix = true +select = [ + "F", # Enable all pyflakes rules + "RUF100", # Ban unused `# noqa` comments + "PGH004", # Ban blanket `# noqa` comments (only ignore specific error codes) +] +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 + "F841", # Detects unused variables + "F601", # Detects dictionaries that have duplicate keys + "F602", # Also detects dictionaries that have duplicate keys +] diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py index eca4747a3e4d57..0f26350e1d0623 100755 --- a/Tools/clinic/clinic.py +++ b/Tools/clinic/clinic.py @@ -924,7 +924,6 @@ def compiler_deprecated_warning( # Format the preprocessor warning and error messages. assert isinstance(self.cpp.filename, str) - source = os.path.basename(self.cpp.filename) message = f"Update the clinic input of {func.full_name!r}." code = self.COMPILER_DEPRECATION_WARNING_PROTOTYPE.format( major=minversion[0], @@ -1846,7 +1845,6 @@ def render_function( last_group = 0 first_optional = len(selfless) positional = selfless and selfless[-1].is_positional_only() - new_or_init = f.kind.new_or_init has_option_groups = False # offset i by -1 because first_optional needs to ignore self @@ -6343,7 +6341,6 @@ def check_remaining_star(self, lineno: int | None = None) -> None: else: return - no_param_after_symbol = True for p in reversed(self.function.parameters.values()): if self.keyword_only: if p.kind == inspect.Parameter.KEYWORD_ONLY: 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