>>> py3-pytest-xdist: Building community/py3-pytest-xdist 3.5.0-r1 (using abuild 3.12.0-r5) started Fri, 12 Apr 2024 16:09:13 +0000 >>> py3-pytest-xdist: Checking sanity of /home/buildozer/aports/community/py3-pytest-xdist/APKBUILD... >>> py3-pytest-xdist: Analyzing dependencies... >>> py3-pytest-xdist: Installing for build: build-base py3-execnet py3-pytest py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel py3-filelock py3-py py3-pexpect py3-psutil (1/45) Installing libffi (3.4.6-r0) (2/45) Installing gdbm (1.23-r1) (3/45) Installing mpdecimal (4.0.0-r0) (4/45) Installing libpanelw (6.4_p20240330-r0) (5/45) Installing readline (8.2.10-r0) (6/45) Installing sqlite-libs (3.45.2-r0) (7/45) Installing python3 (3.12.2-r1) (8/45) Installing python3-pycache-pyc0 (3.12.2-r1) (9/45) Installing pyc (3.12.2-r1) (10/45) Installing py3-execnet-pyc (1.9.0-r3) (11/45) Installing py3-apipkg-pyc (2.1.0-r3) (12/45) Installing python3-pyc (3.12.2-r1) (13/45) Installing py3-apipkg (2.1.0-r3) (14/45) Installing py3-execnet (1.9.0-r3) (15/45) Installing py3-iniconfig (2.0.0-r1) (16/45) Installing py3-iniconfig-pyc (2.0.0-r1) (17/45) Installing py3-parsing (3.1.2-r1) (18/45) Installing py3-parsing-pyc (3.1.2-r1) (19/45) Installing py3-packaging (24.0-r1) (20/45) Installing py3-packaging-pyc (24.0-r1) (21/45) Installing py3-pluggy (1.4.0-r1) (22/45) Installing py3-pluggy-pyc (1.4.0-r1) (23/45) Installing py3-py (1.11.0-r3) (24/45) Installing py3-py-pyc (1.11.0-r3) (25/45) Installing py3-pytest (8.1.1-r1) (26/45) Installing py3-pytest-pyc (8.1.1-r1) (27/45) Installing py3-installer (0.7.0-r2) (28/45) Installing py3-installer-pyc (0.7.0-r2) (29/45) Installing py3-gpep517 (15-r2) (30/45) Installing py3-gpep517-pyc (15-r2) (31/45) Installing py3-setuptools (69.2.0-r1) (32/45) Installing py3-setuptools-pyc (69.2.0-r1) (33/45) Installing py3-setuptools_scm (8.0.4-r2) (34/45) Installing py3-setuptools_scm-pyc (8.0.4-r2) (35/45) Installing py3-wheel (0.42.0-r1) (36/45) Installing py3-wheel-pyc (0.42.0-r1) (37/45) Installing py3-filelock (3.13.1-r1) (38/45) Installing py3-filelock-pyc (3.13.1-r1) (39/45) Installing py3-ptyprocess (0.7.0-r6) (40/45) Installing py3-ptyprocess-pyc (0.7.0-r6) (41/45) Installing py3-pexpect (4.9-r1) (42/45) Installing py3-pexpect-pyc (4.9-r1) (43/45) Installing py3-psutil (5.9.8-r1) (44/45) Installing py3-psutil-pyc (5.9.8-r1) (45/45) Installing .makedepends-py3-pytest-xdist (20240412.160916) Executing busybox-1.36.1-r25.trigger OK: 324 MiB in 155 packages >>> py3-pytest-xdist: Cleaning up srcdir >>> py3-pytest-xdist: Cleaning up pkgdir >>> py3-pytest-xdist: Cleaning up tmpdir >>> py3-pytest-xdist: Fetching https://distfiles.alpinelinux.org/distfiles/edge/pytest-xdist-3.5.0.tar.gz >>> py3-pytest-xdist: Fetching https://distfiles.alpinelinux.org/distfiles/edge/pytest-xdist-3.5.0.tar.gz >>> py3-pytest-xdist: Checking sha512sums... pytest-xdist-3.5.0.tar.gz: OK >>> py3-pytest-xdist: Unpacking /var/cache/distfiles/pytest-xdist-3.5.0.tar.gz... 2024-04-12 16:09:18,930 gpep517 INFO Building wheel via backend setuptools.build_meta 2024-04-12 16:09:19,220 root INFO running bdist_wheel 2024-04-12 16:09:19,303 root INFO running build 2024-04-12 16:09:19,304 root INFO running build_py 2024-04-12 16:09:19,318 root INFO creating build 2024-04-12 16:09:19,319 root INFO creating build/lib 2024-04-12 16:09:19,319 root INFO creating build/lib/xdist 2024-04-12 16:09:19,320 root INFO copying src/xdist/_path.py -> build/lib/xdist 2024-04-12 16:09:19,320 root INFO copying src/xdist/plugin.py -> build/lib/xdist 2024-04-12 16:09:19,321 root INFO copying src/xdist/report.py -> build/lib/xdist 2024-04-12 16:09:19,321 root INFO copying src/xdist/looponfail.py -> build/lib/xdist 2024-04-12 16:09:19,322 root INFO copying src/xdist/workermanage.py -> build/lib/xdist 2024-04-12 16:09:19,322 root INFO copying src/xdist/newhooks.py -> build/lib/xdist 2024-04-12 16:09:19,323 root INFO copying src/xdist/_version.py -> build/lib/xdist 2024-04-12 16:09:19,323 root INFO copying src/xdist/remote.py -> build/lib/xdist 2024-04-12 16:09:19,324 root INFO copying src/xdist/dsession.py -> build/lib/xdist 2024-04-12 16:09:19,325 root INFO copying src/xdist/__init__.py -> build/lib/xdist 2024-04-12 16:09:19,326 root INFO creating build/lib/xdist/scheduler 2024-04-12 16:09:19,326 root INFO copying src/xdist/scheduler/load.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,327 root INFO copying src/xdist/scheduler/each.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,327 root INFO copying src/xdist/scheduler/loadfile.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,328 root INFO copying src/xdist/scheduler/loadscope.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,329 root INFO copying src/xdist/scheduler/worksteal.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,329 root INFO copying src/xdist/scheduler/loadgroup.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,330 root INFO copying src/xdist/scheduler/__init__.py -> build/lib/xdist/scheduler 2024-04-12 16:09:19,359 wheel INFO installing to build/bdist.linux-ppc64le/wheel 2024-04-12 16:09:19,359 root INFO running install 2024-04-12 16:09:19,426 root INFO running install_lib 2024-04-12 16:09:19,439 root INFO creating build/bdist.linux-ppc64le 2024-04-12 16:09:19,440 root INFO creating build/bdist.linux-ppc64le/wheel 2024-04-12 16:09:19,440 root INFO creating build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,440 root INFO copying build/lib/xdist/_path.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,441 root INFO copying build/lib/xdist/plugin.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,442 root INFO creating build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,442 root INFO copying build/lib/xdist/scheduler/load.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,443 root INFO copying build/lib/xdist/scheduler/each.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,443 root INFO copying build/lib/xdist/scheduler/loadfile.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,444 root INFO copying build/lib/xdist/scheduler/loadscope.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,444 root INFO copying build/lib/xdist/scheduler/worksteal.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,445 root INFO copying build/lib/xdist/scheduler/loadgroup.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,445 root INFO copying build/lib/xdist/scheduler/__init__.py -> build/bdist.linux-ppc64le/wheel/xdist/scheduler 2024-04-12 16:09:19,446 root INFO copying build/lib/xdist/report.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,446 root INFO copying build/lib/xdist/looponfail.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,447 root INFO copying build/lib/xdist/workermanage.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,448 root INFO copying build/lib/xdist/newhooks.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,448 root INFO copying build/lib/xdist/_version.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,449 root INFO copying build/lib/xdist/remote.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,449 root INFO copying build/lib/xdist/dsession.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,450 root INFO copying build/lib/xdist/__init__.py -> build/bdist.linux-ppc64le/wheel/xdist 2024-04-12 16:09:19,450 root INFO running install_egg_info 2024-04-12 16:09:19,469 root INFO running egg_info 2024-04-12 16:09:19,479 root INFO writing src/pytest_xdist.egg-info/PKG-INFO 2024-04-12 16:09:19,483 root INFO writing dependency_links to src/pytest_xdist.egg-info/dependency_links.txt 2024-04-12 16:09:19,484 root INFO writing entry points to src/pytest_xdist.egg-info/entry_points.txt 2024-04-12 16:09:19,486 root INFO writing requirements to src/pytest_xdist.egg-info/requires.txt 2024-04-12 16:09:19,486 root INFO writing top-level names to src/pytest_xdist.egg-info/top_level.txt 2024-04-12 16:09:29,814 root INFO reading manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-04-12 16:09:29,817 root INFO reading manifest template 'MANIFEST.in' 2024-04-12 16:09:29,819 root WARNING warning: no previously-included files found matching '.appveyor.yml' 2024-04-12 16:09:29,819 root WARNING warning: no previously-included files found matching '.gitignore' 2024-04-12 16:09:29,820 root WARNING warning: no previously-included files found matching '.pre-commit-config.yaml' 2024-04-12 16:09:29,821 root WARNING warning: no previously-included files found matching '.travis.yml' 2024-04-12 16:09:29,822 root WARNING no previously-included directories found matching '.github' 2024-04-12 16:09:29,822 root INFO adding license file 'LICENSE' 2024-04-12 16:09:29,828 root INFO writing manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-04-12 16:09:29,829 root INFO Copying src/pytest_xdist.egg-info to build/bdist.linux-ppc64le/wheel/pytest_xdist-3.5.0-py3.12.egg-info 2024-04-12 16:09:29,832 root INFO running install_scripts 2024-04-12 16:09:29,843 wheel INFO creating build/bdist.linux-ppc64le/wheel/pytest_xdist-3.5.0.dist-info/WHEEL 2024-04-12 16:09:29,844 wheel INFO creating '/home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.dist/.tmp-373g_6ad/pytest_xdist-3.5.0-py3-none-any.whl' and adding 'build/bdist.linux-ppc64le/wheel' to it 2024-04-12 16:09:29,846 wheel INFO adding 'xdist/__init__.py' 2024-04-12 16:09:29,847 wheel INFO adding 'xdist/_path.py' 2024-04-12 16:09:29,847 wheel INFO adding 'xdist/_version.py' 2024-04-12 16:09:29,848 wheel INFO adding 'xdist/dsession.py' 2024-04-12 16:09:29,849 wheel INFO adding 'xdist/looponfail.py' 2024-04-12 16:09:29,850 wheel INFO adding 'xdist/newhooks.py' 2024-04-12 16:09:29,850 wheel INFO adding 'xdist/plugin.py' 2024-04-12 16:09:29,851 wheel INFO adding 'xdist/remote.py' 2024-04-12 16:09:29,852 wheel INFO adding 'xdist/report.py' 2024-04-12 16:09:29,852 wheel INFO adding 'xdist/workermanage.py' 2024-04-12 16:09:29,853 wheel INFO adding 'xdist/scheduler/__init__.py' 2024-04-12 16:09:29,854 wheel INFO adding 'xdist/scheduler/each.py' 2024-04-12 16:09:29,855 wheel INFO adding 'xdist/scheduler/load.py' 2024-04-12 16:09:29,855 wheel INFO adding 'xdist/scheduler/loadfile.py' 2024-04-12 16:09:29,856 wheel INFO adding 'xdist/scheduler/loadgroup.py' 2024-04-12 16:09:29,857 wheel INFO adding 'xdist/scheduler/loadscope.py' 2024-04-12 16:09:29,857 wheel INFO adding 'xdist/scheduler/worksteal.py' 2024-04-12 16:09:29,858 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/LICENSE' 2024-04-12 16:09:29,858 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/METADATA' 2024-04-12 16:09:29,859 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/WHEEL' 2024-04-12 16:09:29,859 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/entry_points.txt' 2024-04-12 16:09:29,860 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/top_level.txt' 2024-04-12 16:09:29,861 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/RECORD' 2024-04-12 16:09:29,861 wheel INFO removing build/bdist.linux-ppc64le/wheel 2024-04-12 16:09:29,865 gpep517 INFO The backend produced .dist/pytest_xdist-3.5.0-py3-none-any.whl pytest_xdist-3.5.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0 configfile: tox.ini testpaths: testing plugins: xdist-3.5.0 collected 204 items testing/acceptance_test.py .................x.......xx..............s... [ 22%] ......x............................................ [ 47%] testing/test_dsession.py .................x...x............ [ 63%] testing/test_looponfail.py ...........x... [ 71%] testing/test_newhooks.py .... [ 73%] testing/test_plugin.py ................... [ 82%] testing/test_remote.py x....x........ [ 89%] testing/test_workermanage.py ........x.......s...x. [100%] ================================== XFAILURES =================================== _____________________ TestDistEach.test_simple_diffoutput ______________________ cls = func = . at 0x7fff9b033380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :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: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:240: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:501: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:119: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/logging.py:843: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:832: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:878: in pytest_runtest_setup return (yield) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(tryfirst=True) def pytest_runtest_setup(item: Item) -> None: skipped = evaluate_skip_marks(item) if skipped: raise skip.Exception(skipped.reason, _use_item_location=True) item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item) if xfailed and not item.config.option.runxfail and not xfailed.run: > xfail("[NOTRUN] " + xfailed.reason) E _pytest.outcomes.XFailed: [NOTRUN] other python versions might not have pytest installed /usr/lib/python3.12/site-packages/_pytest/skipping.py:243: XFailed ________________________ test_terminate_on_hangingnode _________________________ pytester = @pytest.mark.xfail def test_terminate_on_hangingnode(pytester: pytest.Pytester) -> None: p = pytester.makeconftest( """ def pytest_sessionfinish(session): if session.nodeid == "my": # running on worker import time time.sleep(3) """ ) result = pytester.runpytest(p, "--dist=each", "--tx=popen//id=my") assert result.duration < 2.0 > result.stdout.fnmatch_lines(["*killed*my*"]) E Failed: nomatch: '*killed*my*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0' E and: 'rootdir: /tmp/pytest-of-buildozer/pytest-38/test_terminate_on_hangingnode0' E and: 'plugins: xdist-3.5.0' E and: 'created: 1/1 worker' E and: '1 worker [0 items]' E and: '' E and: '' E and: '============================ no tests ran in 1.05s =============================' E remains unmatched: '*killed*my*' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/acceptance_test.py:529: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_terminate_on_hangingnode0 plugins: xdist-3.5.0 created: 1/1 worker 1 worker [0 items] ============================ no tests ran in 1.05s ============================= ______________________________ test_session_hooks ______________________________ cls = func = . at 0x7fff9afe3ce0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :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: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:240: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:501: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:119: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/logging.py:843: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:832: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:878: in pytest_runtest_setup return (yield) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(tryfirst=True) def pytest_runtest_setup(item: Item) -> None: skipped = evaluate_skip_marks(item) if skipped: raise skip.Exception(skipped.reason, _use_item_location=True) item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item) if xfailed and not item.config.option.runxfail and not xfailed.run: > xfail("[NOTRUN] " + xfailed.reason) E _pytest.outcomes.XFailed: [NOTRUN] works if run outside test suite /usr/lib/python3.12/site-packages/_pytest/skipping.py:243: XFailed ______________________ TestNodeFailure.test_each_multiple ______________________ self = pytester = @pytest.mark.xfail(reason="#20: xdist race condition on node restart") def test_each_multiple(self, pytester: pytest.Pytester) -> None: f = pytester.makepyfile( """ import os def test_a(): os._exit(1) def test_b(): pass """ ) res = pytester.runpytest(f, "--dist=each", "--tx=2*popen") > res.stdout.fnmatch_lines( [ "*Replacing crashed worker*", "*Worker*crashed while running*", "*2 failed*2 passed*", ] ) E Failed: nomatch: '*Replacing crashed worker*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0' E and: 'rootdir: /tmp/pytest-of-buildozer/pytest-38/test_each_multiple0' E and: 'plugins: xdist-3.5.0' E and: 'created: 2/2 workers' E and: '2 workers [2 items]' E and: '' E and: '[gw1] node down: Not properly terminated' E and: 'F' E and: 'replacing crashed worker gw1' E and: '[gw0] node down: Not properly terminated' E and: 'F' E and: 'replacing crashed worker gw0' E and: '..' E and: '=================================== FAILURES ===================================' E and: '____________________________ test_each_multiple.py _____________________________' E and: '[gw1] linux -- Python 3.12.2 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.testenv/bin/python3' E and: "worker 'gw1' crashed while running 'test_each_multiple.py::test_a'" E and: '____________________________ test_each_multiple.py _____________________________' E and: '[gw0] linux -- Python 3.12.2 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.testenv/bin/python3' E and: "worker 'gw0' crashed while running 'test_each_multiple.py::test_a'" E and: '=========================== short test summary info ============================' E and: 'FAILED test_each_multiple.py::test_a' E and: 'FAILED test_each_multiple.py::test_a' E and: '========================= 2 failed, 2 passed in 0.81s ==========================' E remains unmatched: '*Replacing crashed worker*' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/acceptance_test.py:971: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_each_multiple0 plugins: xdist-3.5.0 created: 2/2 workers 2 workers [2 items] [gw1] node down: Not properly terminated F replacing crashed worker gw1 [gw0] node down: Not properly terminated F replacing crashed worker gw0 .. =================================== FAILURES =================================== ____________________________ test_each_multiple.py _____________________________ [gw1] linux -- Python 3.12.2 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.testenv/bin/python3 worker 'gw1' crashed while running 'test_each_multiple.py::test_a' ____________________________ test_each_multiple.py _____________________________ [gw0] linux -- Python 3.12.2 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.testenv/bin/python3 worker 'gw0' crashed while running 'test_each_multiple.py::test_a' =========================== short test summary info ============================ FAILED test_each_multiple.py::test_a FAILED test_each_multiple.py::test_a ========================= 2 failed, 2 passed in 0.81s ========================== _____________________ TestDistReporter.test_rsync_printing _____________________ self = pytester = linecomp = <_pytest.pytester.LineComp object at 0x7fff9a71ba40> @pytest.mark.xfail def test_rsync_printing(self, pytester: pytest.Pytester, linecomp) -> None: config = pytester.parseconfig() > from _pytest.pytest_terminal import TerminalReporter E ModuleNotFoundError: No module named '_pytest.pytest_terminal' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_dsession.py:445: ModuleNotFoundError _____________________________ test_pytest_issue419 _____________________________ pytester = @pytest.mark.xfail(reason="duplicate test ids not supported yet") def test_pytest_issue419(pytester: pytest.Pytester) -> None: pytester.makepyfile( """ import pytest @pytest.mark.parametrize('birth_year', [1988, 1988, ]) def test_2011_table(birth_year): pass """ ) reprec = pytester.inline_run("-n1") reprec.assertoutcome(passed=2) > assert 0 E assert 0 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_dsession.py:535: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_pytest_issue4190 plugins: xdist-3.5.0 created: 1/1 worker 1 worker [2 items] .. [100%] ============================== 2 passed in 0.38s =============================== ________________ TestLooponFailing.test_looponfail_removed_test ________________ self = pytester = @pytest.mark.xfail(reason="broken by pytest 3.1+", strict=True) def test_looponfail_removed_test(self, pytester: pytest.Pytester) -> None: modcol = pytester.getmodulecol( textwrap.dedent( """ def test_one(): assert 0 def test_two(): assert 0 """ ) ) remotecontrol = RemoteControl(modcol.config) remotecontrol.loop_once() assert len(remotecontrol.failures) == 2 modcol.path.write_text( textwrap.dedent( """ def test_xxx(): # renamed test assert 0 def test_two(): assert 1 # pass now """ ) ) removepyc(modcol.path) remotecontrol.loop_once() > assert len(remotecontrol.failures) == 0 E AssertionError: assert 1 == 0 E + where 1 = len(['test_looponfail_removed_test.py::test_xxx']) E + where ['test_looponfail_removed_test.py::test_xxx'] = .failures /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_looponfail.py:288: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_looponfail_removed_test0 plugins: xdist-3.5.0 collected 0 items ============================ no tests ran in 0.00s ============================= ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_looponfail_removed_test0 plugins: xdist-3.5.0 collected 2 items collected 2 items test_looponfail_removed_test.py FF [100%] =================================== FAILURES =================================== ___________________________________ test_one ___________________________________ def test_one(): > assert 0 E assert 0 test_looponfail_removed_test.py:2: AssertionError ___________________________________ test_two ___________________________________ def test_two(): > assert 0 E assert 0 test_looponfail_removed_test.py:4: AssertionError =========================== short test summary info ============================ FAILED test_looponfail_removed_test.py::test_one - assert 0 FAILED test_looponfail_removed_test.py::test_two - assert 0 ============================== 2 failed in 0.03s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-38/test_looponfail_removed_test0 plugins: xdist-3.5.0 collected 1 item collected 3 items collected 3 items test_looponfail_removed_test.py F. [100%] =================================== FAILURES =================================== ___________________________________ test_xxx ___________________________________ def test_xxx(): # renamed test > assert 0 E assert 0 test_looponfail_removed_test.py:3: AssertionError =========================== short test summary info ============================ FAILED test_looponfail_removed_test.py::test_xxx - assert 0 ========================= 1 failed, 1 passed in 0.03s ========================== ____________________________ test_remoteinitconfig _____________________________ pytester = @pytest.mark.xfail(reason="#59") def test_remoteinitconfig(pytester: pytest.Pytester) -> None: from xdist.remote import remote_initconfig config1 = pytester.parseconfig() config2 = remote_initconfig(config1.option.__dict__, config1.args) > assert config2.option.__dict__ == config1.option.__dict__ E AssertionError: assert {'assertmode'...w': None, ...} == {'assertmode'...w': None, ...} E E Omitting 92 identical items, use -vv to show E Differing items: E {'file_or_dir': ['/tmp/pytest-of-buildozer/pytest-38/test_remoteinitconfig0']} != {'file_or_dir': []} E Use -v to get more diff /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_remote.py:79: AssertionError _____________ TestWorkerInteractor.test_happy_run_events_converted _____________ self = pytester = worker = def test_happy_run_events_converted( self, pytester: pytest.Pytester, worker: WorkerSetup ) -> None: > pytest.xfail("implement a simple test for event production") E _pytest.outcomes.XFailed: implement a simple test for event production /home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_remote.py:187: XFailed __________________ TestNodeManager.test_rsync_roots_no_roots ___________________ cls = func = . at 0x7fff9a2b9940> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :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: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:240: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:501: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:119: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/logging.py:843: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:832: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:878: in pytest_runtest_setup return (yield) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:82: in pytest_runtest_setup yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = @hookimpl(tryfirst=True) def pytest_runtest_setup(item: Item) -> None: skipped = evaluate_skip_marks(item) if skipped: raise skip.Exception(skipped.reason, _use_item_location=True) item.stash[xfailed_key] = xfailed = evaluate_xfail_marks(item) if xfailed and not item.config.option.runxfail and not xfailed.run: > xfail("[NOTRUN] " + xfailed.reason) E _pytest.outcomes.XFailed: [NOTRUN] /usr/lib/python3.12/site-packages/_pytest/skipping.py:243: XFailed _____________________ test_unserialize_warning_msg[Nested] _____________________ w_cls = 'Nested' @pytest.mark.parametrize( "w_cls", [ UserWarning, MyWarning, "Imported", pytest.param( "Nested", marks=pytest.mark.xfail(reason="Nested warning classes are not supported."), ), ], ) def test_unserialize_warning_msg(w_cls): """Test that warning serialization process works well""" # Create a test warning message with pytest.warns(UserWarning) as w: if not isinstance(w_cls, str): warnings.warn("hello", w_cls) elif w_cls == "Imported": generate_warning() elif w_cls == "Nested": # dynamic creation class MyWarning2(UserWarning): pass warnings.warn("hello", MyWarning2) # Unpack assert len(w) == 1 w_msg = w[0] # Serialize and deserialize data = serialize_warning_message(w_msg) > w_msg2 = unserialize_warning_message(data) testing/test_workermanage.py:369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'category_class_name': 'MyWarning2', 'category_module': 'test_workermanage', 'file': None, 'filename': '/home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/testing/test_workermanage.py', ...} def unserialize_warning_message(data): import warnings import importlib if data["message_module"]: mod = importlib.import_module(data["message_module"]) > cls = getattr(mod, data["message_class_name"]) E AttributeError: module 'test_workermanage' has no attribute 'MyWarning2'. Did you mean: 'MyWarning'? .testenv/lib/python3.12/site-packages/xdist/workermanage.py:417: AttributeError =========================== short test summary info ============================ SKIPPED [1] testing/acceptance_test.py:809: pytest 8.1.1 does not have the pytest_warning_captured hook. SKIPPED [1] testing/test_workermanage.py:316: no 'gspecs' option found XFAIL testing/acceptance_test.py::TestDistEach::test_simple_diffoutput - reason: [NOTRUN] other python versions might not have pytest installed XFAIL testing/acceptance_test.py::test_terminate_on_hangingnode XFAIL testing/acceptance_test.py::test_session_hooks - reason: [NOTRUN] works if run outside test suite XFAIL testing/acceptance_test.py::TestNodeFailure::test_each_multiple - #20: xdist race condition on node restart XFAIL testing/test_dsession.py::TestDistReporter::test_rsync_printing XFAIL testing/test_dsession.py::test_pytest_issue419 - duplicate test ids not supported yet XFAIL testing/test_looponfail.py::TestLooponFailing::test_looponfail_removed_test - broken by pytest 3.1+ XFAIL testing/test_remote.py::test_remoteinitconfig - #59 XFAIL testing/test_remote.py::TestWorkerInteractor::test_happy_run_events_converted - reason: implement a simple test for event production XFAIL testing/test_workermanage.py::TestNodeManager::test_rsync_roots_no_roots - reason: [NOTRUN] XFAIL testing/test_workermanage.py::test_unserialize_warning_msg[Nested] - Nested warning classes are not supported. ============ 191 passed, 2 skipped, 11 xfailed in 118.72s (0:01:58) ============ >>> py3-pytest-xdist: Entering fakeroot... >>> py3-pytest-xdist-pyc*: Running split function pyc... '/home/buildozer/aports/community/py3-pytest-xdist/pkg/py3-pytest-xdist/usr/lib/python3.12/site-packages/xdist/scheduler/__pycache__' -> '/home/buildozer/aports/community/py3-pytest-xdist/pkg/py3-pytest-xdist-pyc/usr/lib/python3.12/site-packages/xdist/scheduler/__pycache__' '/home/buildozer/aports/community/py3-pytest-xdist/pkg/py3-pytest-xdist/usr/lib/python3.12/site-packages/xdist/__pycache__' -> '/home/buildozer/aports/community/py3-pytest-xdist/pkg/py3-pytest-xdist-pyc/usr/lib/python3.12/site-packages/xdist/__pycache__' >>> py3-pytest-xdist-pyc*: Preparing subpackage py3-pytest-xdist-pyc... >>> py3-pytest-xdist-pyc*: Running postcheck for py3-pytest-xdist-pyc >>> py3-pytest-xdist*: Running postcheck for py3-pytest-xdist >>> py3-pytest-xdist*: Preparing package py3-pytest-xdist... >>> py3-pytest-xdist-pyc*: Tracing dependencies... py3-execnet py3-pytest python3~3.12 >>> py3-pytest-xdist-pyc*: Package size: 240.0 KB >>> py3-pytest-xdist-pyc*: Compressing data... >>> py3-pytest-xdist-pyc*: Create checksum... >>> py3-pytest-xdist-pyc*: Create py3-pytest-xdist-pyc-3.5.0-r1.apk >>> py3-pytest-xdist*: Tracing dependencies... py3-execnet py3-pytest python3~3.12 >>> py3-pytest-xdist*: Package size: 212.0 KB >>> py3-pytest-xdist*: Compressing data... >>> py3-pytest-xdist*: Create checksum... >>> py3-pytest-xdist*: Create py3-pytest-xdist-3.5.0-r1.apk >>> py3-pytest-xdist: Build complete at Fri, 12 Apr 2024 16:11:30 +0000 elapsed time 0h 2m 17s >>> py3-pytest-xdist: Cleaning up srcdir >>> py3-pytest-xdist: Cleaning up pkgdir >>> py3-pytest-xdist: Uninstalling dependencies... (1/45) Purging .makedepends-py3-pytest-xdist (20240412.160916) (2/45) Purging py3-execnet-pyc (1.9.0-r3) (3/45) Purging py3-execnet (1.9.0-r3) (4/45) Purging py3-apipkg-pyc (2.1.0-r3) (5/45) Purging py3-apipkg (2.1.0-r3) (6/45) Purging py3-pytest-pyc (8.1.1-r1) (7/45) Purging py3-pytest (8.1.1-r1) (8/45) Purging py3-iniconfig-pyc (2.0.0-r1) (9/45) Purging py3-iniconfig (2.0.0-r1) (10/45) Purging py3-pluggy-pyc (1.4.0-r1) (11/45) Purging py3-pluggy (1.4.0-r1) (12/45) Purging py3-gpep517-pyc (15-r2) (13/45) Purging py3-gpep517 (15-r2) (14/45) Purging py3-installer-pyc (0.7.0-r2) (15/45) Purging py3-installer (0.7.0-r2) (16/45) Purging py3-setuptools_scm-pyc (8.0.4-r2) (17/45) Purging py3-setuptools_scm (8.0.4-r2) (18/45) Purging py3-setuptools-pyc (69.2.0-r1) (19/45) Purging py3-setuptools (69.2.0-r1) (20/45) Purging py3-wheel-pyc (0.42.0-r1) (21/45) Purging py3-wheel (0.42.0-r1) (22/45) Purging py3-packaging-pyc (24.0-r1) (23/45) Purging py3-packaging (24.0-r1) (24/45) Purging py3-parsing-pyc (3.1.2-r1) (25/45) Purging py3-parsing (3.1.2-r1) (26/45) Purging py3-filelock-pyc (3.13.1-r1) (27/45) Purging py3-filelock (3.13.1-r1) (28/45) Purging py3-py-pyc (1.11.0-r3) (29/45) Purging py3-py (1.11.0-r3) (30/45) Purging py3-pexpect-pyc (4.9-r1) (31/45) Purging py3-pexpect (4.9-r1) (32/45) Purging py3-ptyprocess-pyc (0.7.0-r6) (33/45) Purging py3-ptyprocess (0.7.0-r6) (34/45) Purging py3-psutil-pyc (5.9.8-r1) (35/45) Purging py3-psutil (5.9.8-r1) (36/45) Purging python3-pyc (3.12.2-r1) (37/45) Purging python3-pycache-pyc0 (3.12.2-r1) (38/45) Purging pyc (3.12.2-r1) (39/45) Purging python3 (3.12.2-r1) (40/45) Purging gdbm (1.23-r1) (41/45) Purging libffi (3.4.6-r0) (42/45) Purging libpanelw (6.4_p20240330-r0) (43/45) Purging mpdecimal (4.0.0-r0) (44/45) Purging readline (8.2.10-r0) (45/45) Purging sqlite-libs (3.45.2-r0) Executing busybox-1.36.1-r25.trigger OK: 263 MiB in 110 packages >>> py3-pytest-xdist: Updating the community/ppc64le repository index... >>> py3-pytest-xdist: Signing the index...