[3.11] gh-60283: Check for redefined test names in CI (#109161) (#109366)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
(cherry picked from commit 3cb9a8edca)
This commit is contained in:
Hugo van Kemenade 2023-09-14 23:45:23 -06:00 committed by GitHub
parent 7a20797056
commit a95d159bba
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 46 additions and 1 deletions

1
.github/CODEOWNERS vendored
View file

@ -9,6 +9,7 @@
# pre-commit
.pre-commit-config.yaml @hugovk @AlexWaygood
.ruff.toml @hugovk @AlexWaygood
# asyncio
**/*asyncio* @1st1 @asvetlov

View file

@ -62,7 +62,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
git diff --name-only origin/$GITHUB_BASE_REF.. | grep -qE '(ssl|hashlib|hmac|^.github)' && echo "run_ssl_tests=true" >> $GITHUB_OUTPUT || true
fi
- name: Compute hash for config cache key

View file

@ -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

View file

@ -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: trailing-whitespace
types_or: [c, python, rst]

30
Lib/test/.ruff.toml Normal file
View file

@ -0,0 +1,30 @@
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",
"test_source_encoding.py",
# Failed to parse
"badsyntax_3131.py",
"test_fstring.py",
# TODO Fix: F811 Redefinition of unused name
"test_buffer.py",
"test_dataclasses.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_tokenize.py",
"test_typing.py",
"test_yield_from.py",
"time_hashlib.py",
]