Skip to content

Test failures with Python 3.14.0a6 #13308

@hroncok

Description

@hroncok
$ python3.14 --version Python 3.14.0a6 $ tox -e py314 -- -k 'test_issue_11872 or test_pastebin_http_error or test_raises_bdbquit_with_eoferror or test_unraisable' -v ... .pkg: _optional_hooks> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True setuptools.build_meta .pkg: get_requires_for_build_sdist> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True setuptools.build_meta .pkg: get_requires_for_build_editable> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True setuptools.build_meta .pkg: build_sdist> python /usr/lib/python3.13/site-packages/pyproject_api/_backend.py True setuptools.build_meta py314: install_package> /usr/bin/uv pip install --reinstall --no-deps pytest@.../pytest/.tox/.tmp/package/2/pytest-6.3.0.dev3354+g2b4098102.tar.gz py314: commands[0]> pytest -k 'test_issue_11872 or test_pastebin_http_error or test_raises_bdbquit_with_eoferror or test_unraisable' -v ============================= test session starts ============================== platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0 -- .../pytest/.tox/py314/bin/python3 cachedir: .tox/py314/.pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('.../pytest/.hypothesis/examples')) rootdir: .../pytest configfile: pyproject.toml testpaths: testing plugins: hypothesis-6.129.4 collecting ... collected 3905 items / 3890 deselected / 15 selected testing/python/raises.py::TestRaises::test_issue_11872 FAILED [ 6%] testing/test_pastebin.py::TestPaste::test_pastebin_http_error FAILED [ 13%] testing/test_debugging.py::test_raises_bdbquit_with_eoferror FAILED [ 20%] testing/test_threadexception.py::test_unraisable_collection_failure PASSED [ 26%] testing/test_unraisableexception.py::test_unraisable FAILED [ 33%] testing/test_unraisableexception.py::test_unraisable_in_setup FAILED [ 40%] testing/test_unraisableexception.py::test_unraisable_in_teardown FAILED [ 46%] testing/test_unraisableexception.py::test_unraisable_warning_error PASSED [ 53%] testing/test_unraisableexception.py::test_unraisable_warning_multiple_errors PASSED [ 60%] testing/test_unraisableexception.py::test_unraisable_collection_failure PASSED [ 66%] testing/test_unraisableexception.py::test_refcycle_unraisable PASSED [ 73%] testing/test_unraisableexception.py::test_refcycle_unraisable_warning_filter PASSED [ 80%] testing/test_unraisableexception.py::test_create_task_raises_unraisable_warning_filter PASSED [ 86%] testing/test_unraisableexception.py::test_possibly_none_excinfo PASSED [ 93%] testing/test_unraisableexception.py::test_refcycle_unraisable_warning_filter_default PASSED [100%] =================================== FAILURES =================================== _________________________ TestRaises.test_issue_11872 __________________________ self = <tempfile._TemporaryFileCloser object at 0x7f9b85b55b50> def __del__(self): close_called = self.close_called self.cleanup() if not close_called: > _warnings.warn(self.warn_message, ResourceWarning) E ResourceWarning: Implicitly cleaning up <HTTPError 404: 'Not Found'> /usr/lib64/python3.14/tempfile.py:483: ResourceWarning The above exception was the direct cause of the following exception: cls = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7f9b87605590> when = 'call' reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() ^^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/runner.py:345: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .tox/py314/lib64/python3.14/site-packages/_pytest/runner.py:246: in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/logging.py:847: in pytest_runtest_call yield from self._runtest_for(item, "call") .tox/py314/lib64/python3.14/site-packages/_pytest/logging.py:830: in _runtest_for yield .tox/py314/lib64/python3.14/site-packages/_pytest/capture.py:900: in pytest_runtest_call return (yield) ^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/skipping.py:263: in pytest_runtest_call return (yield) ^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:153: in pytest_runtest_call collect_unraisable(item.config) .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:77: in collect_unraisable raise errors[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ config = <_pytest.config.Config object at 0x7f9b889b2a50> def collect_unraisable(config: Config) -> None: pop_unraisable = config.stash[unraisable_exceptions].pop errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = [] meta = None hook_error = None try: while True: try: meta = pop_unraisable() except IndexError: break if isinstance(meta, BaseException): hook_error = RuntimeError("Failed to process unraisable exception") hook_error.__cause__ = meta errors.append(hook_error) continue msg = meta.msg try: > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function _TemporaryFileCloser.__del__ at 0x7f9b88bac460>: None .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning ______________________ TestPaste.test_pastebin_http_error ______________________ self = <tempfile._TemporaryFileCloser object at 0x7f9b859a3550> def __del__(self): close_called = self.close_called self.cleanup() if not close_called: > _warnings.warn(self.warn_message, ResourceWarning) E ResourceWarning: Implicitly cleaning up <HTTPError 400: 'Bad request'> /usr/lib64/python3.14/tempfile.py:483: ResourceWarning The above exception was the direct cause of the following exception: cls = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7f9b8589d430> when = 'call' reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: TResult | None = func() ^^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/runner.py:345: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ .tox/py314/lib64/python3.14/site-packages/_pytest/runner.py:246: in <lambda> lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/logging.py:847: in pytest_runtest_call yield from self._runtest_for(item, "call") .tox/py314/lib64/python3.14/site-packages/_pytest/logging.py:830: in _runtest_for yield .tox/py314/lib64/python3.14/site-packages/_pytest/capture.py:900: in pytest_runtest_call return (yield) ^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/skipping.py:263: in pytest_runtest_call return (yield) ^^^^^ .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:153: in pytest_runtest_call collect_unraisable(item.config) .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:77: in collect_unraisable raise errors[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ config = <_pytest.config.Config object at 0x7f9b889b2a50> def collect_unraisable(config: Config) -> None: pop_unraisable = config.stash[unraisable_exceptions].pop errors: list[pytest.PytestUnraisableExceptionWarning | RuntimeError] = [] meta = None hook_error = None try: while True: try: meta = pop_unraisable() except IndexError: break if isinstance(meta, BaseException): hook_error = RuntimeError("Failed to process unraisable exception") hook_error.__cause__ = meta errors.append(hook_error) continue msg = meta.msg try: > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function _TemporaryFileCloser.__del__ at 0x7f9b88bac460>: None .tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning ______________________ test_raises_bdbquit_with_eoferror _______________________ pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-26/test_raises_bdbquit_with_eoferror0')> def test_raises_bdbquit_with_eoferror(pytester: Pytester) -> None: """It is not guaranteed that DontReadFromInput's read is called.""" p1 = pytester.makepyfile( """ def input_without_read(*args, **kwargs): raise EOFError() def test(monkeypatch): import builtins monkeypatch.setattr(builtins, "input", input_without_read) __import__('pdb').set_trace() """ ) result = pytester.runpytest(str(p1)) > result.stdout.fnmatch_lines(["E *BdbQuit", "*= 1 failed in*"]) E Failed: nomatch: 'E *BdbQuit' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-.../pytest-26/test_raises_bdbquit_with_eoferror0' E and: 'collected 1 item' E and: '' E and: 'test_raises_bdbquit_with_eoferror.py ' E and: '>>>>>>>>>>>>>>>>>>> PDB set_trace (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>' E and: '> /tmp/pytest-of-.../pytest-26/test_raises_bdbquit_with_eoferror0/test_raises_bdbquit_with_eoferror.py(7)test()' E and: "-> __import__('pdb').set_trace()" E and: '' E and: '' E and: '' E and: '!!!!!!!!!!!!!!!!!!! _pytest.outcomes.Exit: Quitting debugger !!!!!!!!!!!!!!!!!!!' E and: '============================ no tests ran in 0.50s =============================' E remains unmatched: 'E *BdbQuit' .../pytest/testing/test_debugging.py:1390: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0 rootdir: /tmp/pytest-of-.../pytest-26/test_raises_bdbquit_with_eoferror0 collected 1 item test_raises_bdbquit_with_eoferror.py >>>>>>>>>>>>>>>>>>> PDB set_trace (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>> > /tmp/pytest-of-.../pytest-26/test_raises_bdbquit_with_eoferror0/test_raises_bdbquit_with_eoferror.py(7)test() -> __import__('pdb').set_trace() !!!!!!!!!!!!!!!!!!! _pytest.outcomes.Exit: Quitting debugger !!!!!!!!!!!!!!!!!!! ============================ no tests ran in 0.50s ============================= _______________________________ test_unraisable ________________________________ pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-26/test_unraisable0')> @pytest.mark.skipif(PYPY, reason="garbage-collection differences make this flaky") @pytest.mark.filterwarnings("default::pytest.PytestUnraisableExceptionWarning") def test_unraisable(pytester: Pytester) -> None: pytester.makepyfile( test_it=""" class BrokenDel: def __del__(self): raise ValueError("del is broken") def test_it(): obj = BrokenDel() del obj def test_2(): pass """ ) result = pytester.runpytest() assert result.ret == 0 result.assert_outcomes(passed=2, warnings=1) > result.stdout.fnmatch_lines( [ "*= warnings summary =*", "test_it.py::test_it", " * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>", " ", " Traceback (most recent call last):", " ValueError: del is broken", " ", " Enable tracemalloc to get traceback where the object was allocated.", " See https* for more info.", " warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))", ] ) E Failed: nomatch: '*= warnings summary =*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable0' E and: 'collected 2 items' E and: '' E and: 'test_it.py .. [100%]' E and: '' E fnmatch: '*= warnings summary =*' E with: '=============================== warnings summary ===============================' E exact match: 'test_it.py::test_it' E nomatch: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' E and: ' .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b853c0a90>: None' E and: ' ' E and: ' Traceback (most recent call last):' E and: ' File "/tmp/pytest-of-.../pytest-26/test_unraisable0/test_it.py", line 3, in __del__' E and: ' raise ValueError("del is broken")' E and: ' ValueError: del is broken' E and: ' ' E and: ' ' E and: ' warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))' E and: '' E and: '-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html' E and: '========================= 2 passed, 1 warning in 0.01s =========================' E remains unmatched: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' .../pytest/testing/test_unraisableexception.py:35: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0 rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable0 collected 2 items test_it.py .. [100%] =============================== warnings summary =============================== test_it.py::test_it .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b853c0a90>: None Traceback (most recent call last): File "/tmp/pytest-of-.../pytest-26/test_unraisable0/test_it.py", line 3, in __del__ raise ValueError("del is broken") ValueError: del is broken warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========================= 2 passed, 1 warning in 0.01s ========================= ___________________________ test_unraisable_in_setup ___________________________ pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-26/test_unraisable_in_setup0')> @pytest.mark.skipif(PYPY, reason="garbage-collection differences make this flaky") @pytest.mark.filterwarnings("default::pytest.PytestUnraisableExceptionWarning") def test_unraisable_in_setup(pytester: Pytester) -> None: pytester.makepyfile( test_it=""" import pytest class BrokenDel: def __del__(self): raise ValueError("del is broken") @pytest.fixture def broken_del(): obj = BrokenDel() del obj def test_it(broken_del): pass def test_2(): pass """ ) result = pytester.runpytest() assert result.ret == 0 result.assert_outcomes(passed=2, warnings=1) > result.stdout.fnmatch_lines( [ "*= warnings summary =*", "test_it.py::test_it", " * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>", " ", " Traceback (most recent call last):", " ValueError: del is broken", " ", " Enable tracemalloc to get traceback where the object was allocated.", " See https* for more info.", " warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))", ] ) E Failed: nomatch: '*= warnings summary =*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable_in_setup0' E and: 'collected 2 items' E and: '' E and: 'test_it.py .. [100%]' E and: '' E fnmatch: '*= warnings summary =*' E with: '=============================== warnings summary ===============================' E exact match: 'test_it.py::test_it' E nomatch: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' E and: ' .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b85430300>: None' E and: ' ' E and: ' Traceback (most recent call last):' E and: ' File "/tmp/pytest-of-.../pytest-26/test_unraisable_in_setup0/test_it.py", line 5, in __del__' E and: ' raise ValueError("del is broken")' E and: ' ValueError: del is broken' E and: ' ' E and: ' ' E and: ' warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))' E and: '' E and: '-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html' E and: '========================= 2 passed, 1 warning in 0.01s =========================' E remains unmatched: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' .../pytest/testing/test_unraisableexception.py:74: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0 rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable_in_setup0 collected 2 items test_it.py .. [100%] =============================== warnings summary =============================== test_it.py::test_it .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b85430300>: None Traceback (most recent call last): File "/tmp/pytest-of-.../pytest-26/test_unraisable_in_setup0/test_it.py", line 5, in __del__ raise ValueError("del is broken") ValueError: del is broken warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========================= 2 passed, 1 warning in 0.01s ========================= _________________________ test_unraisable_in_teardown __________________________ pytester = <Pytester PosixPath('/tmp/pytest-of-.../pytest-26/test_unraisable_in_teardown0')> @pytest.mark.skipif(PYPY, reason="garbage-collection differences make this flaky") @pytest.mark.filterwarnings("default::pytest.PytestUnraisableExceptionWarning") def test_unraisable_in_teardown(pytester: Pytester) -> None: pytester.makepyfile( test_it=""" import pytest class BrokenDel: def __del__(self): raise ValueError("del is broken") @pytest.fixture def broken_del(): yield obj = BrokenDel() del obj def test_it(broken_del): pass def test_2(): pass """ ) result = pytester.runpytest() assert result.ret == 0 result.assert_outcomes(passed=2, warnings=1) > result.stdout.fnmatch_lines( [ "*= warnings summary =*", "test_it.py::test_it", " * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>", " ", " Traceback (most recent call last):", " ValueError: del is broken", " ", " Enable tracemalloc to get traceback where the object was allocated.", " See https* for more info.", " warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))", ] ) E Failed: nomatch: '*= warnings summary =*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable_in_teardown0' E and: 'collected 2 items' E and: '' E and: 'test_it.py .. [100%]' E and: '' E fnmatch: '*= warnings summary =*' E with: '=============================== warnings summary ===============================' E exact match: 'test_it.py::test_it' E nomatch: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' E and: ' .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b85434880>: None' E and: ' ' E and: ' Traceback (most recent call last):' E and: ' File "/tmp/pytest-of-.../pytest-26/test_unraisable_in_teardown0/test_it.py", line 5, in __del__' E and: ' raise ValueError("del is broken")' E and: ' ValueError: del is broken' E and: ' ' E and: ' ' E and: ' warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))' E and: '' E and: '-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html' E and: '========================= 2 passed, 1 warning in 0.01s =========================' E remains unmatched: ' * PytestUnraisableExceptionWarning: Exception ignored in: <function BrokenDel.__del__ at *>' .../pytest/testing/test_unraisableexception.py:114: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.14.0a6, pytest-6.3.0.dev3354+g2b4098102, pluggy-1.5.0 rootdir: /tmp/pytest-of-.../pytest-26/test_unraisable_in_teardown0 collected 2 items test_it.py .. [100%] =============================== warnings summary =============================== test_it.py::test_it .../pytest/.tox/py314/lib64/python3.14/site-packages/_pytest/unraisableexception.py:65: PytestUnraisableExceptionWarning: Exception ignored while calling deallocator <function BrokenDel.__del__ at 0x7f9b85434880>: None Traceback (most recent call last): File "/tmp/pytest-of-.../pytest-26/test_unraisable_in_teardown0/test_it.py", line 5, in __del__ raise ValueError("del is broken") ValueError: del is broken warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========================= 2 passed, 1 warning in 0.01s ========================= =========================== short test summary info ============================ FAILED testing/python/raises.py::TestRaises::test_issue_11872 - pytest.Pytest... FAILED testing/test_pastebin.py::TestPaste::test_pastebin_http_error - pytest... FAILED testing/test_debugging.py::test_raises_bdbquit_with_eoferror - Failed:... FAILED testing/test_unraisableexception.py::test_unraisable - Failed: nomatch... FAILED testing/test_unraisableexception.py::test_unraisable_in_setup - Failed... FAILED testing/test_unraisableexception.py::test_unraisable_in_teardown - Fai... ================= 6 failed, 9 passed, 3890 deselected in 9.55s ================= py314: exit 1 (11.30 seconds) .../pytest> pytest -k 'test_issue_11872 or test_pastebin_http_error or test_raises_bdbquit_with_eoferror or test_unraisable' -v pid=3081635 py314: FAIL code 1 (18.23=setup[6.93]+cmd[11.30] seconds) evaluation failed :( (18.31 seconds) $ uv pip list Using Python 3.14.0a6 environment at: .tox/py314 Package Version ------------------ ------------------------ argcomplete 3.6.0 attrs 25.3.0 certifi 2025.1.31 charset-normalizer 3.4.1 elementpath 4.8.0 hypothesis 6.129.4 idna 3.10 iniconfig 2.0.0 mock 5.2.0 packaging 24.2 pluggy 1.5.0 pygments 2.19.1 pytest 6.3.0.dev3354+g2b4098102 requests 2.32.3 setuptools 76.1.0 sortedcontainers 2.4.0 urllib3 2.3.0 xmlschema 3.4.4 

This is both the latest pytest 8.3.5 and main branch @ 2b40981.

Fedora Linux (41 and 43 both).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions