summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHugo van Kemenade <hugovk@users.noreply.github.com>2023-09-12 15:28:20 (GMT)
committerGitHub <noreply@github.com>2023-09-12 15:28:20 (GMT)
commit3cb9a8edca6e3fa0f0045b03a9a6444cf8f7affe (patch)
treef372719c25b37f79267c4de6e2e91c4cb295b85a
parent0e76cc359ba5d5e29d7c75355d7c1bc7e817eecf (diff)
downloadcpython-3cb9a8edca6e3fa0f0045b03a9a6444cf8f7affe.zip
cpython-3cb9a8edca6e3fa0f0045b03a9a6444cf8f7affe.tar.gz
cpython-3cb9a8edca6e3fa0f0045b03a9a6444cf8f7affe.tar.bz2
gh-60283: Check for redefined test names in CI (#109161)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--.github/workflows/build.yml2
-rw-r--r--.github/workflows/lint.yml4
-rw-r--r--.pre-commit-config.yaml10
-rw-r--r--Lib/test/.ruff.toml35
5 files changed, 51 insertions, 1 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 81c580e..cd35cba 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -9,6 +9,7 @@
# pre-commit
.pre-commit-config.yaml @hugovk @AlexWaygood
+.ruff.toml @hugovk @AlexWaygood
# Build system
configure* @erlend-aasland @corona10
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 668ae49..cbe5c84 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -63,7 +63,7 @@ jobs:
# into the PR branch anyway.
#
# https://github.com/python/core-workflow/issues/373
- git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
+ git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qvE '(\.rst$|^Doc|^Misc|^\.pre-commit-config\.yaml$|\.ruff\.toml$)' && echo "run_tests=true" >> $GITHUB_OUTPUT || true
fi
# Check if we should run hypothesis tests
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 27b04ba..89f6581 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -5,6 +5,10 @@ on: [push, pull_request, workflow_dispatch]
permissions:
contents: read
+env:
+ FORCE_COLOR: 1
+ RUFF_FORMAT: github
+
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 68e75fa..4c1fd20 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,7 +1,17 @@
repos:
+ - repo: https://github.com/astral-sh/ruff-pre-commit
+ rev: v0.0.288
+ hooks:
+ - id: ruff
+ name: Run Ruff on Lib/test/
+ args: [--exit-non-zero-on-fix]
+ files: ^Lib/test/
+
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
+ - id: check-toml
+ exclude: ^Lib/test/test_tomllib/
- id: check-yaml
- id: end-of-file-fixer
types: [python]
diff --git a/Lib/test/.ruff.toml b/Lib/test/.ruff.toml
new file mode 100644
index 0000000..a9a4a01
--- /dev/null
+++ b/Lib/test/.ruff.toml
@@ -0,0 +1,35 @@
+fix = true
+select = [
+ "F811", # Redefinition of unused variable (useful for finding test methods with the same name)
+]
+extend-exclude = [
+ # Failed to lint
+ "badsyntax_pep3120.py",
+ "encoded_modules/module_iso_8859_1.py",
+ "encoded_modules/module_koi8_r.py",
+ # Failed to parse
+ "badsyntax_3131.py",
+ "support/socket_helper.py",
+ "test_fstring.py",
+ # TODO Fix: F811 Redefinition of unused name
+ "test__opcode.py",
+ "test_buffer.py",
+ "test_ctypes/test_arrays.py",
+ "test_ctypes/test_functions.py",
+ "test_dataclasses/__init__.py",
+ "test_descr.py",
+ "test_enum.py",
+ "test_functools.py",
+ "test_genericclass.py",
+ "test_grammar.py",
+ "test_import/__init__.py",
+ "test_keywordonlyarg.py",
+ "test_pkg.py",
+ "test_subclassinit.py",
+ "test_typing.py",
+ "test_unittest/testmock/testpatch.py",
+ "test_yield_from.py",
+ "time_hashlib.py",
+ # Pending https://github.com/python/cpython/pull/109139
+ "test_monitoring.py",
+]