>>> py3-pytest-xdist: Building community/py3-pytest-xdist 3.5.0-r1 (using abuild 3.12.0-r5) started Fri, 12 Apr 2024 18:09:58 +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/47) Installing libbz2 (1.0.8-r6) (2/47) Installing libffi (3.4.6-r0) (3/47) Installing gdbm (1.23-r1) (4/47) Installing xz-libs (5.6.1-r3) (5/47) Installing mpdecimal (4.0.0-r0) (6/47) Installing libpanelw (6.4_p20240330-r0) (7/47) Installing readline (8.2.10-r0) (8/47) Installing sqlite-libs (3.45.2-r0) (9/47) Installing python3 (3.12.2-r1) (10/47) Installing python3-pycache-pyc0 (3.12.2-r1) (11/47) Installing pyc (3.12.2-r1) (12/47) Installing py3-execnet-pyc (1.9.0-r3) (13/47) Installing py3-apipkg-pyc (2.1.0-r3) (14/47) Installing python3-pyc (3.12.2-r1) (15/47) Installing py3-apipkg (2.1.0-r3) (16/47) Installing py3-execnet (1.9.0-r3) (17/47) Installing py3-iniconfig (2.0.0-r1) (18/47) Installing py3-iniconfig-pyc (2.0.0-r1) (19/47) Installing py3-parsing (3.1.2-r1) (20/47) Installing py3-parsing-pyc (3.1.2-r1) (21/47) Installing py3-packaging (24.0-r1) (22/47) Installing py3-packaging-pyc (24.0-r1) (23/47) Installing py3-pluggy (1.4.0-r1) (24/47) Installing py3-pluggy-pyc (1.4.0-r1) (25/47) Installing py3-py (1.11.0-r3) (26/47) Installing py3-py-pyc (1.11.0-r3) (27/47) Installing py3-pytest (8.1.1-r1) (28/47) Installing py3-pytest-pyc (8.1.1-r1) (29/47) Installing py3-installer (0.7.0-r2) (30/47) Installing py3-installer-pyc (0.7.0-r2) (31/47) Installing py3-gpep517 (15-r2) (32/47) Installing py3-gpep517-pyc (15-r2) (33/47) Installing py3-setuptools (69.2.0-r1) (34/47) Installing py3-setuptools-pyc (69.2.0-r1) (35/47) Installing py3-setuptools_scm (8.0.4-r2) (36/47) Installing py3-setuptools_scm-pyc (8.0.4-r2) (37/47) Installing py3-wheel (0.42.0-r1) (38/47) Installing py3-wheel-pyc (0.42.0-r1) (39/47) Installing py3-filelock (3.13.1-r1) (40/47) Installing py3-filelock-pyc (3.13.1-r1) (41/47) Installing py3-ptyprocess (0.7.0-r6) (42/47) Installing py3-ptyprocess-pyc (0.7.0-r6) (43/47) Installing py3-pexpect (4.9-r1) (44/47) Installing py3-pexpect-pyc (4.9-r1) (45/47) Installing py3-psutil (5.9.8-r1) (46/47) Installing py3-psutil-pyc (5.9.8-r1) (47/47) Installing .makedepends-py3-pytest-xdist (20240412.180959) Executing busybox-1.36.1-r25.trigger OK: 403 MiB in 154 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 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 78977 100 78977 0 0 188k 0 --:--:-- --:--:-- --:--:-- 189k >>> 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/edge/pytest-xdist-3.5.0.tar.gz... 2024-04-12 18:10:00,855 gpep517 INFO Building wheel via backend setuptools.build_meta 2024-04-12 18:10:00,907 root INFO running bdist_wheel 2024-04-12 18:10:00,925 root INFO running build 2024-04-12 18:10:00,925 root INFO running build_py 2024-04-12 18:10:00,928 root INFO creating build 2024-04-12 18:10:00,928 root INFO creating build/lib 2024-04-12 18:10:00,928 root INFO creating build/lib/xdist 2024-04-12 18:10:00,928 root INFO copying src/xdist/_version.py -> build/lib/xdist 2024-04-12 18:10:00,928 root INFO copying src/xdist/__init__.py -> build/lib/xdist 2024-04-12 18:10:00,928 root INFO copying src/xdist/remote.py -> build/lib/xdist 2024-04-12 18:10:00,928 root INFO copying src/xdist/plugin.py -> build/lib/xdist 2024-04-12 18:10:00,928 root INFO copying src/xdist/newhooks.py -> build/lib/xdist 2024-04-12 18:10:00,929 root INFO copying src/xdist/looponfail.py -> build/lib/xdist 2024-04-12 18:10:00,929 root INFO copying src/xdist/report.py -> build/lib/xdist 2024-04-12 18:10:00,929 root INFO copying src/xdist/dsession.py -> build/lib/xdist 2024-04-12 18:10:00,929 root INFO copying src/xdist/workermanage.py -> build/lib/xdist 2024-04-12 18:10:00,929 root INFO copying src/xdist/_path.py -> build/lib/xdist 2024-04-12 18:10:00,930 root INFO creating build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/__init__.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/worksteal.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/loadscope.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/loadfile.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/load.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,930 root INFO copying src/xdist/scheduler/each.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,931 root INFO copying src/xdist/scheduler/loadgroup.py -> build/lib/xdist/scheduler 2024-04-12 18:10:00,936 wheel INFO installing to build/bdist.linux-s390x/wheel 2024-04-12 18:10:00,936 root INFO running install 2024-04-12 18:10:00,944 root INFO running install_lib 2024-04-12 18:10:00,946 root INFO creating build/bdist.linux-s390x 2024-04-12 18:10:00,946 root INFO creating build/bdist.linux-s390x/wheel 2024-04-12 18:10:00,946 root INFO creating build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,946 root INFO copying build/lib/xdist/_version.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,946 root INFO copying build/lib/xdist/__init__.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,946 root INFO copying build/lib/xdist/remote.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,946 root INFO copying build/lib/xdist/plugin.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,947 root INFO creating build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/__init__.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/worksteal.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/loadscope.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/loadfile.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/load.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/each.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/scheduler/loadgroup.py -> build/bdist.linux-s390x/wheel/xdist/scheduler 2024-04-12 18:10:00,947 root INFO copying build/lib/xdist/newhooks.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO copying build/lib/xdist/looponfail.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO copying build/lib/xdist/report.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO copying build/lib/xdist/dsession.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO copying build/lib/xdist/workermanage.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO copying build/lib/xdist/_path.py -> build/bdist.linux-s390x/wheel/xdist 2024-04-12 18:10:00,948 root INFO running install_egg_info 2024-04-12 18:10:00,952 root INFO running egg_info 2024-04-12 18:10:00,954 root INFO writing src/pytest_xdist.egg-info/PKG-INFO 2024-04-12 18:10:00,954 root INFO writing dependency_links to src/pytest_xdist.egg-info/dependency_links.txt 2024-04-12 18:10:00,954 root INFO writing entry points to src/pytest_xdist.egg-info/entry_points.txt 2024-04-12 18:10:00,955 root INFO writing requirements to src/pytest_xdist.egg-info/requires.txt 2024-04-12 18:10:00,955 root INFO writing top-level names to src/pytest_xdist.egg-info/top_level.txt 2024-04-12 18:10:02,500 root INFO reading manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-04-12 18:10:02,501 root INFO reading manifest template 'MANIFEST.in' 2024-04-12 18:10:02,501 root WARNING warning: no previously-included files found matching '.appveyor.yml' 2024-04-12 18:10:02,501 root WARNING warning: no previously-included files found matching '.gitignore' 2024-04-12 18:10:02,501 root WARNING warning: no previously-included files found matching '.pre-commit-config.yaml' 2024-04-12 18:10:02,501 root WARNING warning: no previously-included files found matching '.travis.yml' 2024-04-12 18:10:02,501 root WARNING no previously-included directories found matching '.github' 2024-04-12 18:10:02,502 root INFO adding license file 'LICENSE' 2024-04-12 18:10:02,502 root INFO writing manifest file 'src/pytest_xdist.egg-info/SOURCES.txt' 2024-04-12 18:10:02,502 root INFO Copying src/pytest_xdist.egg-info to build/bdist.linux-s390x/wheel/pytest_xdist-3.5.0-py3.12.egg-info 2024-04-12 18:10:02,503 root INFO running install_scripts 2024-04-12 18:10:02,505 wheel INFO creating build/bdist.linux-s390x/wheel/pytest_xdist-3.5.0.dist-info/WHEEL 2024-04-12 18:10:02,505 wheel INFO creating '/home/buildozer/aports/community/py3-pytest-xdist/src/pytest-xdist-3.5.0/.dist/.tmp-str4dfnr/pytest_xdist-3.5.0-py3-none-any.whl' and adding 'build/bdist.linux-s390x/wheel' to it 2024-04-12 18:10:02,505 wheel INFO adding 'xdist/__init__.py' 2024-04-12 18:10:02,505 wheel INFO adding 'xdist/_path.py' 2024-04-12 18:10:02,505 wheel INFO adding 'xdist/_version.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/dsession.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/looponfail.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/newhooks.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/plugin.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/remote.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/report.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/workermanage.py' 2024-04-12 18:10:02,506 wheel INFO adding 'xdist/scheduler/__init__.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/each.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/load.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/loadfile.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/loadgroup.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/loadscope.py' 2024-04-12 18:10:02,507 wheel INFO adding 'xdist/scheduler/worksteal.py' 2024-04-12 18:10:02,507 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/LICENSE' 2024-04-12 18:10:02,507 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/METADATA' 2024-04-12 18:10:02,507 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/WHEEL' 2024-04-12 18:10:02,507 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/entry_points.txt' 2024-04-12 18:10:02,507 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/top_level.txt' 2024-04-12 18:10:02,508 wheel INFO adding 'pytest_xdist-3.5.0.dist-info/RECORD' 2024-04-12 18:10:02,508 wheel INFO removing build/bdist.linux-s390x/wheel 2024-04-12 18:10:02,508 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 0x3ffbb7d3380> 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-40/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 0.22s =============================' 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-40/test_terminate_on_hangingnode0 plugins: xdist-3.5.0 created: 1/1 worker 1 worker [0 items] ============================ no tests ran in 0.22s ============================= ______________________________ test_session_hooks ______________________________ cls = func = . at 0x3ffbb7f7ce0> 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-40/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.50s ==========================' 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-40/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.50s ========================== _____________________ TestDistReporter.test_rsync_printing _____________________ self = pytester = linecomp = <_pytest.pytester.LineComp object at 0x3ffba9097f0> @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-40/test_pytest_issue4190 plugins: xdist-3.5.0 created: 1/1 worker 1 worker [2 items] .. [100%] ============================== 2 passed in 0.23s =============================== ________________ 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-40/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-40/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.02s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.2, pytest-8.1.1, pluggy-1.4.0 rootdir: /tmp/pytest-of-buildozer/pytest-40/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.02s ========================== ____________________________ 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-40/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 0x3ffbaf82f20> 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 49.65s ================== >>> 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: 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 18:10:52 +0000 elapsed time 0h 0m 54s >>> py3-pytest-xdist: Cleaning up srcdir >>> py3-pytest-xdist: Cleaning up pkgdir >>> py3-pytest-xdist: Uninstalling dependencies... (1/47) Purging .makedepends-py3-pytest-xdist (20240412.180959) (2/47) Purging py3-execnet-pyc (1.9.0-r3) (3/47) Purging py3-execnet (1.9.0-r3) (4/47) Purging py3-apipkg-pyc (2.1.0-r3) (5/47) Purging py3-apipkg (2.1.0-r3) (6/47) Purging py3-pytest-pyc (8.1.1-r1) (7/47) Purging py3-pytest (8.1.1-r1) (8/47) Purging py3-iniconfig-pyc (2.0.0-r1) (9/47) Purging py3-iniconfig (2.0.0-r1) (10/47) Purging py3-pluggy-pyc (1.4.0-r1) (11/47) Purging py3-pluggy (1.4.0-r1) (12/47) Purging py3-gpep517-pyc (15-r2) (13/47) Purging py3-gpep517 (15-r2) (14/47) Purging py3-installer-pyc (0.7.0-r2) (15/47) Purging py3-installer (0.7.0-r2) (16/47) Purging py3-setuptools_scm-pyc (8.0.4-r2) (17/47) Purging py3-setuptools_scm (8.0.4-r2) (18/47) Purging py3-setuptools-pyc (69.2.0-r1) (19/47) Purging py3-setuptools (69.2.0-r1) (20/47) Purging py3-wheel-pyc (0.42.0-r1) (21/47) Purging py3-wheel (0.42.0-r1) (22/47) Purging py3-packaging-pyc (24.0-r1) (23/47) Purging py3-packaging (24.0-r1) (24/47) Purging py3-parsing-pyc (3.1.2-r1) (25/47) Purging py3-parsing (3.1.2-r1) (26/47) Purging py3-filelock-pyc (3.13.1-r1) (27/47) Purging py3-filelock (3.13.1-r1) (28/47) Purging py3-py-pyc (1.11.0-r3) (29/47) Purging py3-py (1.11.0-r3) (30/47) Purging py3-pexpect-pyc (4.9-r1) (31/47) Purging py3-pexpect (4.9-r1) (32/47) Purging py3-ptyprocess-pyc (0.7.0-r6) (33/47) Purging py3-ptyprocess (0.7.0-r6) (34/47) Purging py3-psutil-pyc (5.9.8-r1) (35/47) Purging py3-psutil (5.9.8-r1) (36/47) Purging python3-pyc (3.12.2-r1) (37/47) Purging python3-pycache-pyc0 (3.12.2-r1) (38/47) Purging pyc (3.12.2-r1) (39/47) Purging python3 (3.12.2-r1) (40/47) Purging gdbm (1.23-r1) (41/47) Purging libbz2 (1.0.8-r6) (42/47) Purging libffi (3.4.6-r0) (43/47) Purging libpanelw (6.4_p20240330-r0) (44/47) Purging mpdecimal (4.0.0-r0) (45/47) Purging readline (8.2.10-r0) (46/47) Purging sqlite-libs (3.45.2-r0) (47/47) Purging xz-libs (5.6.1-r3) Executing busybox-1.36.1-r25.trigger OK: 346 MiB in 107 packages >>> py3-pytest-xdist: Updating the community/s390x repository index... >>> py3-pytest-xdist: Signing the index...