>>> py3-pytest-xdist: Building community/py3-pytest-xdist 3.6.1-r0 (using abuild 3.13.0-r3) started Sun, 05 May 2024 17:18:17 +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 libbz2 (1.0.8-r6) (2/45) Installing libffi (3.4.6-r0) (3/45) Installing gdbm (1.23-r1) (4/45) Installing xz-libs (5.6.1-r3) (5/45) Installing mpdecimal (4.0.0-r0) (6/45) Installing libpanelw (6.4_p20240330-r0) (7/45) Installing readline (8.2.10-r0) (8/45) Installing sqlite-libs (3.45.3-r0) (9/45) Installing python3 (3.12.3-r1) (10/45) Installing python3-pycache-pyc0 (3.12.3-r1) (11/45) Installing pyc (3.12.3-r1) (12/45) Installing py3-execnet-pyc (2.1.1-r0) (13/45) Installing python3-pyc (3.12.3-r1) (14/45) Installing py3-execnet (2.1.1-r0) (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.5.0-r0) (22/45) Installing py3-pluggy-pyc (1.5.0-r0) (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.2.0-r0) (26/45) Installing py3-pytest-pyc (8.2.0-r0) (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.5.1-r0) (32/45) Installing py3-setuptools-pyc (69.5.1-r0) (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 (20240505.171818) Executing busybox-1.36.1-r26.trigger OK: 404 MiB in 152 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.6.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (56) The requested URL returned error: 404 >>> py3-pytest-xdist: Fetching https://files.pythonhosted.org/packages/source/p/pytest_xdist/pytest_xdist-3.6.1.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 84060 100 84060 0 0 504k 0 --:--:-- --:--:-- --:--:-- 504k >>> py3-pytest-xdist: Fetching https://distfiles.alpinelinux.org/distfiles/edge//pytest_xdist-3.6.1.tar.gz >>> py3-pytest-xdist: Checking sha512sums... pytest_xdist-3.6.1.tar.gz: OK >>> py3-pytest-xdist: Unpacking /var/cache/distfiles/edge/pytest_xdist-3.6.1.tar.gz... 2024-05-05 17:18:19,738 gpep517 INFO Building wheel via backend setuptools.build_meta 2024-05-05 17:18:19,835 root INFO running bdist_wheel 2024-05-05 17:18:19,843 root INFO running build 2024-05-05 17:18:19,843 root INFO running build_py 2024-05-05 17:18:19,845 root INFO creating build 2024-05-05 17:18:19,845 root INFO creating build/lib 2024-05-05 17:18:19,845 root INFO creating build/lib/xdist 2024-05-05 17:18:19,845 root INFO copying src/xdist/_version.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/__init__.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/remote.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/plugin.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/newhooks.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/looponfail.py -> build/lib/xdist 2024-05-05 17:18:19,846 root INFO copying src/xdist/report.py -> build/lib/xdist 2024-05-05 17:18:19,847 root INFO copying src/xdist/dsession.py -> build/lib/xdist 2024-05-05 17:18:19,847 root INFO copying src/xdist/workermanage.py -> build/lib/xdist 2024-05-05 17:18:19,847 root INFO copying src/xdist/_path.py -> build/lib/xdist 2024-05-05 17:18:19,847 root INFO creating build/lib/xdist/scheduler 2024-05-05 17:18:19,847 root INFO copying src/xdist/scheduler/protocol.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,847 root INFO copying src/xdist/scheduler/__init__.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/worksteal.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/loadscope.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/loadfile.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/load.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/each.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,848 root INFO copying src/xdist/scheduler/loadgroup.py -> build/lib/xdist/scheduler 2024-05-05 17:18:19,852 wheel INFO installing to build/bdist.linux-s390x/wheel 2024-05-05 17:18:19,852 root INFO running install 2024-05-05 17:18:19,859 root INFO running install_lib 2024-05-05 17:18:19,861 root INFO creating build/bdist.linux-s390x 2024-05-05 17:18:19,861 root INFO creating build/bdist.linux-s390x/wheel 2024-05-05 17:18:19,861 root INFO creating build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,861 root INFO copying build/lib/xdist/_version.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,861 root INFO copying build/lib/xdist/__init__.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,861 root INFO copying build/lib/xdist/remote.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,861 root INFO copying build/lib/xdist/plugin.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,861 root INFO creating build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,861 root INFO copying build/lib/xdist/scheduler/protocol.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/__init__.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/worksteal.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/loadscope.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/loadfile.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/load.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/each.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/scheduler/loadgroup.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/newhooks.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/looponfail.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/report.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,862 root INFO copying build/lib/xdist/dsession.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,863 root INFO copying build/lib/xdist/workermanage.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,863 root INFO copying build/lib/xdist/_path.py -> build/bdist.linux-s390x/wheel/xdist 2024-05-05 17:18:19,863 root INFO running install_egg_info 2024-05-05 17:18:19,864 root INFO running egg_info 2024-05-05 17:18:19,866 root INFO writing src/pytest_xdist.egg-info/PKG-INFO 2024-05-05 17:18:19,866 root INFO writing dependency_links to src/pytest_xdist.egg-info/dependency_links.txt 2024-05-05 17:18:19,867 root INFO writing entry points to src/pytest_xdist.egg-info/entry_points.txt 2024-05-05 17:18:19,867 root INFO writing requirements to src/pytest_xdist.egg-info/requires.txt 2024-05-05 17:18:19,867 root INFO writing top-level names to src/pytest_xdist.egg-info/top_level.txt 2024-05-05 17:18:22,455 root INFO reading manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-05-05 17:18:22,456 root INFO reading manifest template 'MANIFEST.in' 2024-05-05 17:18:22,456 root WARNING warning: no previously-included files found matching '.appveyor.yml' 2024-05-05 17:18:22,456 root WARNING warning: no previously-included files found matching '.gitignore' 2024-05-05 17:18:22,456 root WARNING warning: no previously-included files found matching '.pre-commit-config.yaml' 2024-05-05 17:18:22,457 root WARNING warning: no previously-included files found matching '.travis.yml' 2024-05-05 17:18:22,457 root WARNING no previously-included directories found matching '.github' 2024-05-05 17:18:22,457 root INFO adding license file 'LICENSE' 2024-05-05 17:18:22,458 root INFO writing manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-05-05 17:18:22,458 root INFO Copying src/pytest_xdist.egg-info to build/bdist.linux-s390x/wheel/pytest_xdist-3.6.1-py3.12.egg-info 2024-05-05 17:18:22,459 root INFO running install_scripts 2024-05-05 17:18:22,460 wheel INFO creating build/bdist.linux-s390x/wheel/pytest_xdist-3.6.1.dist-info/WHEEL 2024-05-05 17:18:22,461 wheel INFO creating '/home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/.dist/.tmp-_ld3qj3g/pytest_xdist-3.6.1-py3-none-any.whl' and adding 'build/bdist.linux-s390x/wheel' to it 2024-05-05 17:18:22,461 wheel INFO adding 'xdist/__init__.py' 2024-05-05 17:18:22,461 wheel INFO adding 'xdist/_path.py' 2024-05-05 17:18:22,461 wheel INFO adding 'xdist/_version.py' 2024-05-05 17:18:22,461 wheel INFO adding 'xdist/dsession.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/looponfail.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/newhooks.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/plugin.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/remote.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/report.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/workermanage.py' 2024-05-05 17:18:22,462 wheel INFO adding 'xdist/scheduler/__init__.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/each.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/load.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/loadfile.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/loadgroup.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/loadscope.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/protocol.py' 2024-05-05 17:18:22,463 wheel INFO adding 'xdist/scheduler/worksteal.py' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/LICENSE' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/METADATA' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/WHEEL' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/entry_points.txt' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/top_level.txt' 2024-05-05 17:18:22,464 wheel INFO adding 'pytest_xdist-3.6.1.dist-info/RECORD' 2024-05-05 17:18:22,464 wheel INFO removing build/bdist.linux-s390x/wheel 2024-05-05 17:18:22,465 gpep517 INFO The backend produced .dist/pytest_xdist-3.6.1-py3-none-any.whl pytest_xdist-3.6.1-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1 configfile: tox.ini testpaths: testing plugins: xdist-3.6.1 collected 207 items testing/acceptance_test.py .................x.......xx..............s... [ 21%] ......x............................................... [ 47%] testing/test_dsession.py .................x...x............ [ 64%] testing/test_looponfail.py ............x... [ 71%] testing/test_newhooks.py .... [ 73%] testing/test_plugin.py ................... [ 83%] testing/test_remote.py ....x........ [ 89%] testing/test_workermanage.py ........x.......s...x. [100%] ================================== XFAILURES =================================== _____________________ TestDistEach.test_simple_diffoutput ______________________ cls = func = . at 0x3ff891418a0> 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:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: 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:844: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:833: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:873: 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:244: 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.3, pytest-8.2.0, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-buildozer/pytest-430/test_terminate_on_hangingnode0' E and: 'plugins: xdist-3.6.1' E and: 'created: 1/1 worker' E and: '1 worker [0 items]' E and: '' E and: '' E and: '============================ no tests ran in 0.23s =============================' E remains unmatched: '*killed*my*' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/testing/acceptance_test.py:529: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_terminate_on_hangingnode0 plugins: xdist-3.6.1 created: 1/1 worker 1 worker [0 items] ============================ no tests ran in 0.23s ============================= ______________________________ test_session_hooks ______________________________ cls = func = . at 0x3ff891ce160> 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:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: 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:844: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:833: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:873: 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:244: 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.3, pytest-8.2.0, pluggy-1.5.0' E and: 'rootdir: /tmp/pytest-of-buildozer/pytest-430/test_each_multiple0' E and: 'plugins: xdist-3.6.1' 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.3 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/.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.3 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/.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.52s ==========================' E remains unmatched: '*Replacing crashed worker*' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/testing/acceptance_test.py:969: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_each_multiple0 plugins: xdist-3.6.1 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.3 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/.testenv/bin/python3 worker 'gw1' crashed while running 'test_each_multiple.py::test_a' ____________________________ test_each_multiple.py _____________________________ [gw0] linux -- Python 3.12.3 /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/.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.52s ========================== _____________________ TestDistReporter.test_rsync_printing _____________________ self = pytester = linecomp = <_pytest.pytester.LineComp object at 0x3ff895db6b0> @pytest.mark.xfail def test_rsync_printing(self, pytester: pytest.Pytester, linecomp: Any) -> None: config = pytester.parseconfig() from _pytest.terminal import TerminalReporter rep = TerminalReporter(config, file=linecomp.stringio) config.pluginmanager.register(rep, "terminalreporter") dsession = DSession(config) class gw1: id = "X1" spec = execnet.XSpec("popen") class gw2: id = "X2" spec = execnet.XSpec("popen") # class rinfo: # version_info = (2, 5, 1, 'final', 0) # executable = "hello" # platform = "xyz" # cwd = "qwe" # dsession.pytest_xdist_newgateway(gw1, rinfo) # linecomp.assert_contains_lines([ # "*X1*popen*xyz*2.5*" # ]) > dsession.pytest_xdist_rsyncstart(source="hello", gateways=[gw1, gw2]) # type: ignore[attr-defined] E AttributeError: 'DSession' object has no attribute 'pytest_xdist_rsyncstart' /home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/testing/test_dsession.py:498: AttributeError _____________________________ 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.6.1/testing/test_dsession.py:566: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_pytest_issue4190 plugins: xdist-3.6.1 created: 1/1 worker 1 worker [2 items] .. [100%] ============================== 2 passed in 0.24s =============================== ________________ 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.6.1/testing/test_looponfail.py:316: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_looponfail_removed_test0 plugins: xdist-3.6.1 collected 0 items ============================ no tests ran in 0.00s ============================= ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_looponfail_removed_test0 plugins: xdist-3.6.1 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.02s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.0, pluggy-1.5.0 rootdir: /tmp/pytest-of-buildozer/pytest-430/test_looponfail_removed_test0 plugins: xdist-3.6.1 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.02s ========================== _____________ 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.6.1/testing/test_remote.py:208: XFailed __________________ TestNodeManager.test_rsync_roots_no_roots ___________________ cls = func = . at 0x3ff88a0f1a0> 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:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: 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:844: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3.12/site-packages/_pytest/logging.py:833: in _runtest_for yield /usr/lib/python3.12/site-packages/_pytest/capture.py:873: 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:244: 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: type[Warning] | str) -> None: """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:409: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ data = {'category_class_name': 'MyWarning2', 'category_module': 'test_workermanage', 'file': None, 'filename': '/home/buildozer/aports/community/py3-pytest-xdist/src/pytest_xdist-3.6.1/testing/test_workermanage.py', ...} def unserialize_warning_message(data: dict[str, Any]) -> warnings.WarningMessage: 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:463: AttributeError =========================== short test summary info ============================ SKIPPED [1] testing/acceptance_test.py:805: pytest 8.2.0 does not have the pytest_warning_captured hook. SKIPPED [1] testing/test_workermanage.py:357: 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::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. ================= 195 passed, 2 skipped, 10 xfailed in 53.17s ================== >>> 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/__pycache__' -> '/home/buildozer/aports/community/py3-pytest-xdist/pkg/py3-pytest-xdist-pyc/usr/lib/python3.12/site-packages/xdist/__pycache__' '/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__' >>> 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: 252.0 KB >>> py3-pytest-xdist-pyc*: Compressing data... >>> py3-pytest-xdist-pyc*: Create checksum... >>> py3-pytest-xdist-pyc*: Create py3-pytest-xdist-pyc-3.6.1-r0.apk >>> py3-pytest-xdist*: Tracing dependencies... py3-execnet py3-pytest python3~3.12 >>> py3-pytest-xdist*: Package size: 240.0 KB >>> py3-pytest-xdist*: Compressing data... >>> py3-pytest-xdist*: Create checksum... >>> py3-pytest-xdist*: Create py3-pytest-xdist-3.6.1-r0.apk >>> py3-pytest-xdist: Build complete at Sun, 05 May 2024 17:19:16 +0000 elapsed time 0h 0m 59s >>> py3-pytest-xdist: Cleaning up srcdir >>> py3-pytest-xdist: Cleaning up pkgdir >>> py3-pytest-xdist: Uninstalling dependencies... (1/45) Purging .makedepends-py3-pytest-xdist (20240505.171818) (2/45) Purging py3-execnet-pyc (2.1.1-r0) (3/45) Purging py3-execnet (2.1.1-r0) (4/45) Purging py3-pytest-pyc (8.2.0-r0) (5/45) Purging py3-pytest (8.2.0-r0) (6/45) Purging py3-iniconfig-pyc (2.0.0-r1) (7/45) Purging py3-iniconfig (2.0.0-r1) (8/45) Purging py3-pluggy-pyc (1.5.0-r0) (9/45) Purging py3-pluggy (1.5.0-r0) (10/45) Purging py3-gpep517-pyc (15-r2) (11/45) Purging py3-gpep517 (15-r2) (12/45) Purging py3-installer-pyc (0.7.0-r2) (13/45) Purging py3-installer (0.7.0-r2) (14/45) Purging py3-setuptools_scm-pyc (8.0.4-r2) (15/45) Purging py3-setuptools_scm (8.0.4-r2) (16/45) Purging py3-setuptools-pyc (69.5.1-r0) (17/45) Purging py3-setuptools (69.5.1-r0) (18/45) Purging py3-wheel-pyc (0.42.0-r1) (19/45) Purging py3-wheel (0.42.0-r1) (20/45) Purging py3-packaging-pyc (24.0-r1) (21/45) Purging py3-packaging (24.0-r1) (22/45) Purging py3-parsing-pyc (3.1.2-r1) (23/45) Purging py3-parsing (3.1.2-r1) (24/45) Purging py3-filelock-pyc (3.13.1-r1) (25/45) Purging py3-filelock (3.13.1-r1) (26/45) Purging py3-py-pyc (1.11.0-r3) (27/45) Purging py3-py (1.11.0-r3) (28/45) Purging py3-pexpect-pyc (4.9-r1) (29/45) Purging py3-pexpect (4.9-r1) (30/45) Purging py3-ptyprocess-pyc (0.7.0-r6) (31/45) Purging py3-ptyprocess (0.7.0-r6) (32/45) Purging py3-psutil-pyc (5.9.8-r1) (33/45) Purging py3-psutil (5.9.8-r1) (34/45) Purging python3-pyc (3.12.3-r1) (35/45) Purging python3-pycache-pyc0 (3.12.3-r1) (36/45) Purging pyc (3.12.3-r1) (37/45) Purging python3 (3.12.3-r1) (38/45) Purging gdbm (1.23-r1) (39/45) Purging libbz2 (1.0.8-r6) (40/45) Purging libffi (3.4.6-r0) (41/45) Purging libpanelw (6.4_p20240330-r0) (42/45) Purging mpdecimal (4.0.0-r0) (43/45) Purging readline (8.2.10-r0) (44/45) Purging sqlite-libs (3.45.3-r0) (45/45) Purging xz-libs (5.6.1-r3) Executing busybox-1.36.1-r26.trigger OK: 347 MiB in 107 packages >>> py3-pytest-xdist: Updating the community/s390x repository index... >>> py3-pytest-xdist: Signing the index...