Bug 2366307
| Summary: | ansible-core fails to build with Python 3.14: This version of ansible-test cannot be executed with Python version 3.14.0 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
| Component: | ansible-core | Assignee: | Maxwell G <maxwell> |
| Status: | CLOSED RAWHIDE | QA Contact: | |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | kevin, ksurma, maxwell, moi |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | ansible-core-2.18.6-2.fc43 | Doc Type: | --- |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-06-07 21:15:50 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2322407 | ||
|
Description
Miro Hrončok
2025-05-14 18:14:08 UTC
I tried this patch:
diff --git a/test/lib/ansible_test/_data/requirements/ansible-test.txt b/test/lib/ansible_test/_data/requirements/ansible-test.txt
index 50f951c..5edd5cc 100644
--- a/test/lib/ansible_test/_data/requirements/ansible-test.txt
+++ b/test/lib/ansible_test/_data/requirements/ansible-test.txt
@@ -1,2 +1,2 @@
# The test-constraints sanity test verifies this file, but changes must be made manually to keep it in up-to-date.
-coverage == 7.6.1 ; python_version >= '3.8' and python_version <= '3.13'
+coverage == 7.6.1 ; python_version >= '3.8' and python_version <= '3.14'
diff --git a/test/lib/ansible_test/_internal/coverage_util.py b/test/lib/ansible_test/_internal/coverage_util.py
index 2bec9c7..e900ddb 100644
--- a/test/lib/ansible_test/_internal/coverage_util.py
+++ b/test/lib/ansible_test/_internal/coverage_util.py
@@ -69,7 +69,7 @@ class CoverageVersion:
COVERAGE_VERSIONS = (
# IMPORTANT: Keep this in sync with the ansible-test.txt requirements file.
- CoverageVersion('7.6.1', 7, (3, 8), (3, 13)),
+ CoverageVersion('7.6.1', 7, (3, 8), (3, 14)),
)
"""
This tuple specifies the coverage version to use for Python version ranges.
diff --git a/test/lib/ansible_test/_util/target/common/constants.py b/test/lib/ansible_test/_util/target/common/constants.py
index 31f56ad..4e40554 100644
--- a/test/lib/ansible_test/_util/target/common/constants.py
+++ b/test/lib/ansible_test/_util/target/common/constants.py
@@ -14,4 +14,5 @@ CONTROLLER_PYTHON_VERSIONS = (
'3.11',
'3.12',
'3.13',
+ '3.14',
)
It did not help much:
============================= test session starts ==============================
platform linux -- Python 3.14.0b1, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3
rootdir: /builddir/build/BUILD/ansible-core-2.18.4-build/ansible-2.18.4
configfile: test/lib/ansible_test/_data/pytest/config/default.ini
plugins: mock-3.14.0, xdist-3.6.1
created: 4/4 workers
4 workers [199 items]
scheduling tests via LoadScheduling
test/units/modules/test_copy.py::test_good_symbolic_modes[16895-u-rwx,g-rwx,o-rwx-0]
test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[trivial]
test/units/modules/test_copy.py::test_split_pre_existing_dir_root_does_not_exist[/dir1/dir2]
test/units/modules/test_copy.py::test_split_pre_existing_dir_two_levels_exist[/dir1/dir2-expected4]
[gw3] [ 0%] PASSED test/units/modules/test_copy.py::test_good_symbolic_modes[16895-u-rwx,g-rwx,o-rwx-0]
test/units/modules/test_copy.py::test_good_symbolic_modes[16895-o-rwx-504]
[gw0] [ 1%] PASSED test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[trivial]
test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[version-wildcard]
[gw1] [ 1%] XPASS test/units/modules/test_copy.py::test_split_pre_existing_dir_two_levels_exist[/dir1/dir2-expected4]
[gw2] [ 2%] PASSED test/units/modules/test_copy.py::test_split_pre_existing_dir_root_does_not_exist[/dir1/dir2]
test/units/modules/test_copy.py::test_split_pre_existing_dir_root_does_not_exist[/dir1/dir2/]
test/units/modules/test_copy.py::test_split_pre_existing_dir_two_levels_exist[/dir1/dir2/-expected5]
[gw3] [ 2%] PASSED test/units/modules/test_copy.py::test_good_symbolic_modes[16895-o-rwx-504]
test/units/modules/test_copy.py::test_good_symbolic_modes[16895-g-rwx-455]
[gw0] [ 3%] PASSED test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[version-wildcard]
test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[pkgname-wildcard-version]
[gw2] [ 3%] PASSED test/units/modules/test_copy.py::test_split_pre_existing_dir_root_does_not_exist[/dir1/dir2/]
[gw3] [ 4%] PASSED test/units/modules/test_copy.py::test_good_symbolic_modes[16895-g-rwx-455]
test/units/modules/test_copy.py::test_split_pre_existing_dir_working_dir_exists[dir1-expected0]
test/units/modules/test_copy.py::test_good_symbolic_modes[16895-u-rwx-63]
[gw0] [ 4%] PASSED test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[pkgname-wildcard-version]
test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[pkgname-expands]
[gw2] [ 5%] XPASS test/units/modules/test_copy.py::test_split_pre_existing_dir_working_dir_exists[dir1-expected0]
[gw0] [ 5%] PASSED test/units/modules/test_apt.py::test_expand_pkgspec_from_fnmatches[pkgname-expands]
test/units/modules/test_apt_key.py::AptKeyTestCase::test_import_key_with_http_proxy
[gw3] [ 6%] PASSED test/units/modules/test_copy.py::test_good_symbolic_modes[16895-u-rwx-63]
test/units/modules/test_copy.py::test_good_symbolic_modes[16384-a=rwx-511]
test/units/modules/test_copy.py::test_split_pre_existing_dir_working_dir_exists[dir1/-expected1]
INTERNALERROR> def worker_internal_error(
INTERNALERROR> self, node: WorkerController, formatted_error: str
INTERNALERROR> ) -> None:
INTERNALERROR> """
INTERNALERROR> pytest_internalerror() was called on the worker.
INTERNALERROR>
INTERNALERROR> pytest_internalerror() arguments are an excinfo and an excrepr, which can't
INTERNALERROR> be serialized, so we go with a poor man's solution of raising an exception
INTERNALERROR> here ourselves using the formatted message.
INTERNALERROR> """
INTERNALERROR> self._active_nodes.remove(node)
INTERNALERROR> try:
INTERNALERROR> > assert False, formatted_error
INTERNALERROR> E AssertionError: Traceback (most recent call last):
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/skipping.py", line 269, in pytest_runtest_makereport
INTERNALERROR> E rep = yield
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall
INTERNALERROR> E res = hook_impl.function(*args)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 368, in pytest_runtest_makereport
INTERNALERROR> E return TestReport.from_item_and_call(item, call)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/reports.py", line 376, in from_item_and_call
INTERNALERROR> E longrepr = item.repr_failure(excinfo)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 1669, in repr_failure
INTERNALERROR> E return self._repr_failure_py(excinfo, style=style)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/nodes.py", line 456, in _repr_failure_py
INTERNALERROR> E return excinfo.getrepr(
INTERNALERROR> E ~~~~~~~~~~~~~~~^
INTERNALERROR> E funcargs=True,
INTERNALERROR> E ^^^^^^^^^^^^^^
INTERNALERROR> E ...<5 lines>...
INTERNALERROR> E truncate_args=truncate_args,
INTERNALERROR> E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E )
INTERNALERROR> E ^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/_code/code.py", line 690, in getrepr
INTERNALERROR> E return fmt.repr_excinfo(self)
INTERNALERROR> E ~~~~~~~~~~~~~~~~^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/_code/code.py", line 1058, in repr_excinfo
INTERNALERROR> E reprtraceback = self.repr_traceback(excinfo_)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/_code/code.py", line 971, in repr_traceback
INTERNALERROR> E traceback = self.tbfilter(excinfo)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/python.py", line 1637, in _traceback_filter
INTERNALERROR> E ntraceback = traceback.cut(path=path, firstlineno=firstlineno)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/_code/code.py", line 363, in cut
INTERNALERROR> E codepath = code.path
INTERNALERROR> E ^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/_code/code.py", line 97, in path
INTERNALERROR> E if not p.exists():
INTERNALERROR> E ~~~~~~~~^^
INTERNALERROR> E File "/usr/lib64/python3.14/pathlib/__init__.py", line 676, in exists
INTERNALERROR> E return os.path.exists(self)
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^
INTERNALERROR> E File "/usr/lib64/python3.14/unittest/mock.py", line 1170, in __call__
INTERNALERROR> E return self._mock_call(*args, **kwargs)
INTERNALERROR> E ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib64/python3.14/unittest/mock.py", line 1174, in _mock_call
INTERNALERROR> E return self._execute_mock_call(*args, **kwargs)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib64/python3.14/unittest/mock.py", line 1231, in _execute_mock_call
INTERNALERROR> E result = next(effect)
INTERNALERROR> E StopIteration
INTERNALERROR> E
INTERNALERROR> E The above exception was the direct cause of the following exception:
INTERNALERROR> E
INTERNALERROR> E Traceback (most recent call last):
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 283, in wrap_session
INTERNALERROR> E session.exitstatus = doit(config, session) or 0
INTERNALERROR> E ~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 337, in _main
INTERNALERROR> E config.hook.pytest_runtestloop(session=session)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__
INTERNALERROR> E return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
INTERNALERROR> E return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR> E raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/logging.py", line 803, in pytest_runtestloop
INTERNALERROR> E return (yield) # Run all the tests.
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/terminal.py", line 673, in pytest_runtestloop
INTERNALERROR> E result = yield
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall
INTERNALERROR> E res = hook_impl.function(*args)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/xdist/remote.py", line 174, in pytest_runtestloop
INTERNALERROR> E self.run_one_test()
INTERNALERROR> E ~~~~~~~~~~~~~~~~~^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/xdist/remote.py", line 195, in run_one_test
INTERNALERROR> E self.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__
INTERNALERROR> E return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
INTERNALERROR> E return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR> E raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/warnings.py", line 112, in pytest_runtest_protocol
INTERNALERROR> E return (yield)
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/assertion/__init__.py", line 176, in pytest_runtest_protocol
INTERNALERROR> E return (yield)
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/unittest.py", line 429, in pytest_runtest_protocol
INTERNALERROR> E res = yield
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/faulthandler.py", line 88, in pytest_runtest_protocol
INTERNALERROR> E return (yield)
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall
INTERNALERROR> E res = hook_impl.function(*args)
INTERNALERROR> E File "/builddir/build/BUILD/ansible-core-2.18.4-build/ansible-2.18.4/test/lib/ansible_test/_util/target/pytest/plugins/ansible_forked.py", line 29, in pytest_runtest_protocol
INTERNALERROR> E reports = run_item(item, nextitem)
INTERNALERROR> E File "/builddir/build/BUILD/ansible-core-2.18.4-build/ansible-2.18.4/test/lib/ansible_test/_util/target/pytest/plugins/ansible_forked.py", line 46, in run_item
INTERNALERROR> E run_child(item, nextitem, temp_file.name)
INTERNALERROR> E ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/builddir/build/BUILD/ansible-core-2.18.4-build/ansible-2.18.4/test/lib/ansible_test/_util/target/pytest/plugins/ansible_forked.py", line 54, in run_child
INTERNALERROR> E reports = runtestprotocol(item, nextitem=nextitem, log=False)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 132, in runtestprotocol
INTERNALERROR> E reports.append(call_and_report(item, "call", log))
INTERNALERROR> E ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/runner.py", line 244, in call_and_report
INTERNALERROR> E report: TestReport = ihook.pytest_runtest_makereport(item=item, call=call)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__
INTERNALERROR> E return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
INTERNALERROR> E return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR> E ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR> E raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/_pytest/tmpdir.py", line 310, in pytest_runtest_makereport
INTERNALERROR> E rep = yield
INTERNALERROR> E ^^^^^
INTERNALERROR> E File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> E teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> E ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> E RuntimeError: generator raised StopIteration
INTERNALERROR>
INTERNALERROR> /usr/lib/python3.14/site-packages/xdist/dsession.py:232: AssertionError
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR> File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 283, in wrap_session
INTERNALERROR> session.exitstatus = doit(config, session) or 0
INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/_pytest/main.py", line 337, in _main
INTERNALERROR> config.hook.pytest_runtestloop(session=session)
INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_hooks.py", line 513, in __call__
INTERNALERROR> return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_manager.py", line 120, in _hookexec
INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 139, in _multicall
INTERNALERROR> raise exception.with_traceback(exception.__traceback__)
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/_pytest/logging.py", line 803, in pytest_runtestloop
INTERNALERROR> return (yield) # Run all the tests.
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 122, in _multicall
INTERNALERROR> teardown.throw(exception) # type: ignore[union-attr]
INTERNALERROR> ~~~~~~~~~~~~~~^^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/_pytest/terminal.py", line 673, in pytest_runtestloop
INTERNALERROR> result = yield
INTERNALERROR> ^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/pluggy/_callers.py", line 103, in _multicall
INTERNALERROR> res = hook_impl.function(*args)
INTERNALERROR> File "/usr/lib/python3.14/site-packages/xdist/dsession.py", line 138, in pytest_runtestloop
INTERNALERROR> self.loop_once()
INTERNALERROR> ~~~~~~~~~~~~~~^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/xdist/dsession.py", line 163, in loop_once
INTERNALERROR> call(**kwargs)
INTERNALERROR> ~~~~^^^^^^^^^^
INTERNALERROR> File "/usr/lib/python3.14/site-packages/xdist/dsession.py", line 217, in worker_workerfinished
INTERNALERROR> assert not crashitem, (crashitem, node)
INTERNALERROR> ^^^^^^^^^^^^^
INTERNALERROR> AssertionError: ('test/units/modules/test_copy.py::test_split_pre_existing_dir_two_levels_exist[/dir1/dir2/-expected5]', <WorkerController gw1>)
================== 10 passed, 2 xpassed, 4 warnings in 21.04s ==================
(hangs here)
|