]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-60283: Check for redefined test names in CI (GH-109161) (#109365)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Thu, 14 Sep 2023 22:38:54 +0000 (15:38 -0700)
committerGitHub <noreply@github.com>
Thu, 14 Sep 2023 22:38:54 +0000 (00:38 +0200)
* gh-60283: Check for redefined test names in CI (GH-109161)
(cherry picked from commit 3cb9a8edca6e3fa0f0045b03a9a6444cf8f7affe)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
* Update exclude list for 3.12

* Explicitly exclude files which failed to lint/parse

* Sort to avoid future merge conflicts

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
.github/CODEOWNERS
.github/workflows/build.yml
.github/workflows/lint.yml
.pre-commit-config.yaml
Lib/test/.ruff.toml [new file with mode: 0644]

index 95fd51b743cd332c743b73fb4c6b5ca7e2815f33..913de4e27092846f7e2f53bcd44df777122246e8 100644 (file)
@@ -9,6 +9,7 @@
 
 # pre-commit
 .pre-commit-config.yaml       @hugovk @AlexWaygood
+.ruff.toml                    @hugovk @AlexWaygood
 
 # Build system
 configure*                    @erlend-aasland @corona10
index 3061c8f59fc006f146ca9f4b6d8ec462045c7ac5..feddecf0a126f1346e6fc6be774ec5c7341e8c8d 100644 (file)
@@ -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
index 27b04ba1d412e3ef9c9393d3c41a2f4bd1093a18..89f65816b6969d056694d3b91e3b11f0d0fdfba6 100644 (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
index 451cbe8bc84820a2e4e4be38db8e1bffcfed09cf..19f6a03745d2d0b46894dae1bc1e7b593d27af34 100644 (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: end-of-file-fixer
         types: [python]
diff --git a/Lib/test/.ruff.toml b/Lib/test/.ruff.toml
new file mode 100644 (file)
index 0000000..3bdd472
--- /dev/null
@@ -0,0 +1,42 @@
+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",
+    "test_lib2to3/data/bom.py",
+    "test_lib2to3/data/crlf.py",
+    "test_lib2to3/data/different_encoding.py",
+    "test_lib2to3/data/false_encoding.py",
+    "test_lib2to3/data/py2_test_grammar.py",
+    # TODO Fix: F811 Redefinition of unused name
+    "test_buffer.py",
+    "test_capi/test_misc.py",
+    "test_capi/test_unicode.py",
+    "test_ctypes/test_arrays.py",
+    "test_ctypes/test_functions.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_lib2to3/data/py3_test_grammar.py",
+    "test_pkg.py",
+    "test_subclassinit.py",
+    "test_tokenize.py",
+    "test_typing.py",
+    "test_yield_from.py",
+    "time_hashlib.py",
+    # Pending https://github.com/python/cpython/pull/109139
+    "test_monitoring.py",
+]