Skip to content

Commit 84f78e1

Browse files
authored
Merge branch 'main' into fix-exit-exceptiongroup-13650
2 parents a3b11de + c97a401 commit 84f78e1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1753
-353
lines changed

.github/workflows/deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
persist-credentials: false
3232

3333
- name: Build and Check Package
34-
uses: hynek/build-and-inspect-python-package@c52c3a4710070b50470d903818a7b25115dcd076
34+
uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516
3535
with:
3636
attest-build-provenance-github: 'true'
3737

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
fetch-depth: 0
4343
persist-credentials: false
4444
- name: Build and Check Package
45-
uses: hynek/build-and-inspect-python-package@c52c3a4710070b50470d903818a7b25115dcd076
45+
uses: hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516
4646

4747
build:
4848
needs: [package]

.pre-commit-config.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/astral-sh/ruff-pre-commit
3-
rev: "v0.13.2"
3+
rev: "v0.14.0"
44
hooks:
55
- id: ruff-check
66
args: ["--fix"]
@@ -48,7 +48,7 @@ repos:
4848
# on <3.11
4949
- exceptiongroup>=1.0.0rc8
5050
- repo: https://github.com/RobertCraigie/pyright-python
51-
rev: v1.1.405
51+
rev: v1.1.406
5252
hooks:
5353
- id: pyright
5454
files: ^(src/|scripts/)
@@ -66,13 +66,13 @@ repos:
6666
# Manual because passing pyright is a work in progress.
6767
stages: [manual]
6868
- repo: https://github.com/tox-dev/pyproject-fmt
69-
rev: "v2.6.0"
69+
rev: "v2.10.0"
7070
hooks:
7171
- id: pyproject-fmt
7272
# https://pyproject-fmt.readthedocs.io/en/latest/#calculating-max-supported-python-version
7373
additional_dependencies: ["tox>=4.9"]
7474
- repo: https://github.com/asottile/pyupgrade
75-
rev: v3.20.0
75+
rev: v3.21.0
7676
hooks:
7777
- id: pyupgrade
7878
args:

AUTHORS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,7 @@ Mike Hoyle (hoylemd)
320320
Mike Lundy
321321
Milan Lesnek
322322
Miro Hrončok
323+
Mulat Mekonen
323324
mrbean-bremen
324325
Nathan Goldbaum
325326
Nathan Rousseau
@@ -342,6 +343,7 @@ Oleg Sushchenko
342343
Oleksandr Zavertniev
343344
Olga Matoula
344345
Oliver Bestwalter
346+
Olivier Grisel
345347
Omar Kohl
346348
Omer Hadari
347349
Omri Golan
@@ -383,6 +385,7 @@ Reza Mousavi
383385
Raquel Alegre
384386
Ravi Chandra
385387
Reagan Lee
388+
Reilly Brogan
386389
Rob Arrow
387390
Robert Holt
388391
Roberto Aldera
@@ -401,6 +404,7 @@ Sadra Barikbin
401404
Saiprasad Kale
402405
Samuel Colvin
403406
Samuel Dion-Girardeau
407+
Samuel Gaist
404408
Samuel Jirovec
405409
Samuel Searles-Bryant
406410
Samuel Therrien (Avasam)

changelog/12083.breaking.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Fixed a bug where an invocation such as `pytest a/ a/b` would cause only tests from `a/b` to run, and not other tests under `a/`.
2+
3+
The fix entails a few breaking changes to how such overlapping arguments and duplicates are handled:
4+
5+
1. `pytest a/b a/` or `pytest a/ a/b` are equivalent to `pytest a`; if an argument overlaps another arguments, only the prefix remains.
6+
7+
2. `pytest x.py x.py` is equivalent to `pytest x.py`; previously such an invocation was taken as an explicit request to run the tests from the file twice.
8+
9+
If you rely on these behaviors, consider using :ref:`--keep-duplicates <duplicate-paths>`, which retains its existing behavior (including the bug).

changelog/12244.contrib.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fixed self-test failures when `TERM=dumb`.

changelog/13330.improvement.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Having pytest configuration spread over more than one file (for example having both a ``pytest.ini`` file and ``pyproject.toml`` with a ``[tool.pytest.ini_options]`` table) will now print a warning to make it clearer to the user that only one of them is actually used.
2+
3+
-- by :user:`sgaist`

changelog/13574.improvement.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
The single argument ``--version`` no longer loads the entire plugin infrastructure, making it faster and more reliable when displaying only the pytest version.
2+
3+
Passing ``--version`` twice (e.g., ``pytest --version --version``) retains the original behavior, showing both the pytest version and plugin information.
4+
5+
.. note::
6+
7+
Since ``--version`` is now processed early, it only takes effect when passed directly via the command line. It will not work if set through other mechanisms, such as :envvar:`PYTEST_ADDOPTS` or :confval:`addopts`.

changelog/13678.feature.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Added a new `faulthandler_exit_on_timeout` ini option set to "false" by default to let `faulthandler` interrupt the `pytest` process after a timeout in case of deadlock -- by :user:`ogrisel`.
2+
3+
Previously, a `faulthandler` timeout would only dump the traceback of all threads to stderr, but would not interrupt the `pytest` process.

changelog/13771.contrib.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Skip `test_do_not_collect_symlink_siblings` on Windows environments without symlink support to avoid false negatives.

0 commit comments

Comments
 (0)