Running pytest with args: ['-p', 'vscode_pytest', '--rootdir=/home/me/projects/test', '--capture=no', '/home/me/projects/test/tests/test_foo.py::test_foo']
============================= test session starts ==============================
platform linux -- Python 3.14.0, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/me/projects/test
configfile: pyproject.toml
collected 1 item
tests/test_foo.py running: /home/me/projects/test/.venv/bin/python -mpytest --basetemp=/tmp/pytest-of-me/pytest-36/test_foo0/runpytest-0
in: /tmp/pytest-of-me/pytest-36/test_foo0
0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
No module named pytest
F
=================================== FAILURES ===================================
___________________________________ test_foo ___________________________________
pytester = <Pytester PosixPath('/tmp/pytest-of-me/pytest-36/test_foo0')>
def test_foo(pytester: Pytester):
pytester.makepyfile("def test_addition(): ...")
result = pytester.runpytest_subprocess()
> result.assert_outcomes(passed=1)
/home/me/projects/test/tests/test_foo.py:6:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/me/projects/test/.venv/lib/python3.14/site-packages/_pytest/pytester.py:566: in parseoutcomes
return self.parse_summary_nouns(self.outlines)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
cls = <class '_pytest.pytester.RunResult'>, lines = []
@classmethod
def parse_summary_nouns(cls, lines) -> dict[str, int]:
"""Extract the nouns from a pytest terminal summary line.
It always returns the plural noun for consistency::
======= 1 failed, 1 passed, 1 warning, 1 error in 0.13s ====
Will return ``{"failed": 1, "passed": 1, "warnings": 1, "errors": 1}``.
"""
for line in reversed(lines):
if rex_session_duration.search(line):
outcomes = rex_outcome.findall(line)
ret = {noun: int(count) for (count, noun) in outcomes}
break
else:
> raise ValueError("Pytest terminal summary report not found")
E ValueError: Pytest terminal summary report not found
/home/me/projects/test/.venv/lib/python3.14/site-packages/_pytest/pytester.py:584: ValueError
=========================== short test summary info ============================
FAILED tests/test_foo.py::test_foo - ValueError: Pytest terminal summary repo...
============================== 1 failed in 0.91s ===============================
Type: Bug
Behaviour
when using pytest's
pytesterfixture to test my pytest plugin, my tests fail when debugging the test, but pass when running the tests normally. this only seems to occur on python 3.14. it works fine on python 3.13tested with both pytest 8.4.0 and 9.0.0, same behavior.
Steps to reproduce:
test_foo(it passes)debug console output
python 3.14
python 3.13.8
note the "No module named pytest" that gets printed when running with python 3.14, that looks sus.
debug console output
Diagnostic data
Output for
Pythonin theOutputpanel (View→Output, change the drop-down the upper-right of theOutputpanel toPython)Extension version: 2025.16.0
VSCodium version: VSCodium 1.105.17075 (14bd1561ce547502e6ff1968090dc18c49160aab, 2025-10-21T20:24:03.344Z)
OS version: Linux x64 6.8.0-87-generic
Modes:
python.languageServersetting: None