Bug 2366307 - ansible-core fails to build with Python 3.14: This version of ansible-test cannot be executed with Python version 3.14.0
Summary: ansible-core fails to build with Python 3.14: This version of ansible-test ca...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ansible-core
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Maxwell G
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: PYTHON3.14
TreeView+ depends on / blocked
 
Reported: 2025-05-14 18:14 UTC by Miro Hrončok
Modified: 2025-06-07 21:15 UTC (History)
4 users (show)

Fixed In Version: ansible-core-2.18.6-2.fc43
Clone Of:
Environment:
Last Closed: 2025-06-07 21:15:50 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github ansible ansible issues 85207 0 None open Can't build ansible-core with Python 3.14 2025-05-26 10:30:49 UTC

Description Miro Hrončok 2025-05-14 18:14:08 UTC
ansible-core fails to build with Python 3.14.0b1.

+ /usr/bin/python3 bin/ansible-test units --local --python-interpreter /usr/bin/python3 -vv
This version of ansible-test cannot be executed with Python version 3.14.0. Supported Python versions are: 3.11, 3.12, 3.13


For all our attempts to build ansible-core with Python 3.14, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/package/ansible-core/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package
builds with Python 3.14:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14/

Let us know here if you have any questions.

Python 3.14 is planned to be included in Fedora 43.
To make that update smoother, we're building Fedora packages with all
pre-releases of Python 3.14.
A build failure prevents us from testing all dependent packages (transitive
[Build]Requires),
so if this package is required a lot, it's important for us to get it fixed
soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work
around it on our side.

Comment 1 Miro Hrončok 2025-05-14 18:15:14 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)


Note You need to log in before you can comment on or make changes to this bug.