Type: Bug
Behaviour
when a crash occurs inside a pytest_runtestloop hook while the xdist plugin is active, it will attempt to re-run all tests.
Steps to reproduce:
-
create the following files:
# tests/test_foo.py
from pytest import mark
@mark.parametrize('i', list(range(2)))
def test_asdf(i: int):
pass
# tests/conftest.py
from pytest import Session, hookimpl
@hookimpl(tryfirst=True)
def pytest_runtestloop(session: Session):
raise Exception(f'failed running tests with args: {session.config.args}')
-
use the test explorer to run the parametrized test:

-
check the test results tab. notice there are two separate crashes:
INTERNALERROR> Exception: failed running tests with args: ['c:\\Users\\user\\asdf2\\tests\\test_foo.py::test_asdf[0]', 'c:\\Users\\user\\asdf2\\tests\\test_foo.py::test_asdf[1]']
INTERNALERROR> Exception: failed running tests with args: ['c:\\Users\\user\\asdf2']
the first crash is expected, but the second one is not. it seems to be re-running pytest after the crash with the project root as the only argument, which tells pytest to run all tests in the project.
Extension version: 2025.1.2025022102
VS Code version: Code 1.97.2 (e54c774e0add60467559eb0d1e229c6452cf8447, 2025-02-12T23:20:35.343Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Type: Bug
Behaviour
when a crash occurs inside a
pytest_runtestloophook while the xdist plugin is active, it will attempt to re-run all tests.Steps to reproduce:
create the following files:
use the test explorer to run the parametrized test:

check the test results tab. notice there are two separate crashes:
the first crash is expected, but the second one is not. it seems to be re-running pytest after the crash with the project root as the only argument, which tells pytest to run all tests in the project.
Extension version: 2025.1.2025022102
VS Code version: Code 1.97.2 (e54c774e0add60467559eb0d1e229c6452cf8447, 2025-02-12T23:20:35.343Z)
OS version: Windows_NT x64 10.0.22621
Modes: