env:
FORCE_COLOR: 1
- RUFF_FORMAT: github
+ RUFF_OUTPUT_FORMAT: github
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
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
"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",
# Failed to lint
"badsyntax_pep3120.py",
"encoded_modules/module_iso_8859_1.py",
from test import support, test_tools
from test.support import os_helper
-from test.support import SHORT_TIMEOUT, requires_subprocess
from test.support.os_helper import TESTFN, unlink
from textwrap import dedent
from unittest import TestCase
follow_symlinks: bool = True
something_else: str = ''
""")
- p = function.parameters['follow_symlinks']
self.assertEqual(3, len(function.parameters))
conv = function.parameters['something_else'].converter
self.assertIsInstance(conv, clinic.str_converter)
--- /dev/null
+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
+]