Mock Version: 4.1 Mock Version: 4.1 Mock Version: 4.1 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec'], chrootPath='/var/lib/mock/dist-ocs23-python311-arm-build-85830-4737/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=981gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Wrote: /builddir/build/SRPMS/python-pytest-forked-1.6.0-1.ocs23.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec'], chrootPath='/var/lib/mock/dist-ocs23-python311-arm-build-85830-4737/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=86400uid=981gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.2xhxD1 + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pytest-forked-1.6.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pytest-forked-1.6.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-forked-1.6.0 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.lN5pgn + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd pytest-forked-1.6.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' running build running build_py creating build creating build/lib creating build/lib/pytest_forked copying src/pytest_forked/__init__.py -> build/lib/pytest_forked + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.w0YvWH + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch ++ dirname /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch + cd pytest-forked-1.6.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch running install /usr/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools. warnings.warn( running install_lib creating /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr creating /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib creating /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11 creating /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages creating /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked copying build/lib/pytest_forked/__init__.py -> /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked byte-compiling /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py to __init__.cpython-311.pyc writing byte-compilation script '/tmp/tmpxq8r41ui.py' /usr/bin/python3 /tmp/tmpxq8r41ui.py removing /tmp/tmpxq8r41ui.py running install_egg_info running egg_info writing src/pytest_forked.egg-info/PKG-INFO writing dependency_links to src/pytest_forked.egg-info/dependency_links.txt writing entry points to src/pytest_forked.egg-info/entry_points.txt writing requirements to src/pytest_forked.egg-info/requires.txt writing top-level names to src/pytest_forked.egg-info/top_level.txt reading manifest file 'src/pytest_forked.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/pytest_forked.egg-info/SOURCES.txt' Copying src/pytest_forked.egg-info to /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked-1.6.0-py3.11.egg-info running install_scripts + rm -rfv /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/bin/__pycache__ + /usr/bin/find-debuginfo -j16 --strict-build-id -m -i --build-id-seed 1.6.0-1.ocs23 --unique-debug-suffix -1.6.0-1.ocs23.noarch --unique-debug-src-base python-pytest-forked-1.6.0-1.ocs23.noarch -S debugsourcefiles.list /builddir/build/BUILD/pytest-forked-1.6.0 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/OpenCloudOS/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/OpenCloudOS/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/OpenCloudOS/brp-mangle-shebangs + /usr/lib/rpm/OpenCloudOS/brp-python-bytecompile '' 1 0 Bytecompiling .py files below /builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11 using python3.11 + /usr/lib/rpm/OpenCloudOS/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.aZu3m5 + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd pytest-forked-1.6.0 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-cc1 -fstack-protector-strong -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/OpenCloudOS/OpenCloudOS-hardened-ld -Wl,--build-id=sha1' + PATH=/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/pytest ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /builddir/build/BUILD/pytest-forked-1.6.0 configfile: tox.ini plugins: forked-1.6.0 collected 10 items testing/test_boxed.py FFFxx. [ 60%] testing/test_xfail_behavior.py FFFF [100%] =================================== FAILURES =================================== ____________________________ test_functional_boxed _____________________________ testdir = @needsfork def test_functional_boxed(testdir): p1 = testdir.makepyfile( """ import os def test_function(): os.kill(os.getpid(), 15) """ ) result = testdir.runpytest(p1, "--forked") > result.stdout.fnmatch_lines(["*CRASHED*", "*1 failed*"]) E Failed: nomatch: '*CRASHED*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed0' E and: 'plugins: forked-1.6.0' E and: 'collected 1 item' E and: '' E and: 'test_functional_boxed.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.01s =============================' E remains unmatched: '*CRASHED*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_boxed.py:18: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed0 plugins: forked-1.6.0 collected 1 item test_functional_boxed.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.01s ============================= ________________________ test_functional_boxed_per_test ________________________ testdir = @needsfork def test_functional_boxed_per_test(testdir): p1 = testdir.makepyfile( """ import os import pytest @pytest.mark.forked def test_function(): os.kill(os.getpid(), 15) """ ) result = testdir.runpytest(p1) > result.stdout.fnmatch_lines(["*CRASHED*", "*1 failed*"]) E Failed: nomatch: '*CRASHED*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed_per_test0' E and: 'plugins: forked-1.6.0' E and: 'collected 1 item' E and: '' E and: 'test_functional_boxed_per_test.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.00s =============================' E remains unmatched: '*CRASHED*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_boxed.py:34: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed_per_test0 plugins: forked-1.6.0 collected 1 item test_functional_boxed_per_test.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.00s ============================= _____________________ test_functional_boxed_capturing[no] ______________________ testdir = capmode = 'no' @needsfork @pytest.mark.parametrize( "capmode", [ "no", pytest.param("sys", marks=pytest.mark.xfail(reason="capture cleanup needed")), pytest.param("fd", marks=pytest.mark.xfail(reason="capture cleanup needed")), ], ) def test_functional_boxed_capturing(testdir, capmode): p1 = testdir.makepyfile( """ import os import sys def test_function(): sys.stdout.write("hello\\n") sys.stderr.write("world\\n") os.kill(os.getpid(), 15) """ ) result = testdir.runpytest(p1, "--forked", "--capture=%s" % capmode) > result.stdout.fnmatch_lines( """ *CRASHED* *stdout* hello *stderr* world *1 failed* """ ) E Failed: nomatch: '*CRASHED*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed_capturing0' E and: 'plugins: forked-1.6.0' E and: 'collected 1 item' E and: '' E and: 'test_functional_boxed_capturing.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.00s =============================' E remains unmatched: '*CRASHED*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_boxed.py:58: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_functional_boxed_capturing0 plugins: forked-1.6.0 collected 1 item test_functional_boxed_capturing.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.00s ============================= ___________________________ test_xfail[strict xfail] ___________________________ is_crashing = True, is_strict = True testdir = @pytest.mark.parametrize( ("is_crashing", "is_strict"), ( pytest.param(True, True, id="strict xfail"), pytest.param(False, True, id="strict xpass"), pytest.param(True, False, id="non-strict xfail"), pytest.param(False, False, id="non-strict xpass"), ), ) def test_xfail(is_crashing, is_strict, testdir): """Test xfail/xpass/strict permutations.""" # pylint: disable=possibly-unused-variable sig_num = signal.SIGTERM.numerator test_func_body = ( "os.kill(os.getpid(), signal.SIGTERM)" if is_crashing else "assert True" ) if is_crashing: # marked xfailed and crashing, no matter strict or not expected_letter = "x" # XFAILED expected_lowercase = "xfailed" expected_word = "XFAIL" elif is_strict: # strict and not failing as expected should cause failure expected_letter = "F" # FAILED expected_lowercase = "failed" expected_word = FAILED_WORD elif not is_strict: # non-strict and not failing as expected should cause xpass expected_letter = "X" # XPASS expected_lowercase = "xpassed" expected_word = "XPASS" session_start_title = "*==== test session starts ====*" loaded_pytest_plugins = "plugins: forked*" collected_tests_num = "collected 1 item" expected_progress = f"test_xfail.py {expected_letter!s}*" failures_title = "*==== FAILURES ====*" failures_test_name = "*____ test_function ____*" failures_test_reason = "[XPASS(strict)] The process gets terminated" short_test_summary_title = "*==== short test summary info ====*" short_test_summary = f"{expected_word!s} test_xfail.py::test_function" if expected_lowercase == "xpassed": # XPASS wouldn't have the crash message from # pytest-forked because the crash doesn't happen short_test_summary = " ".join( ( short_test_summary, "The process gets terminated", ) ) reason_string = ( f"reason: The process gets terminated; " f"pytest-forked reason: " f"*:*: running the test CRASHED with signal {sig_num:d}" ) if expected_lowercase == "xfailed" and PYTEST_GTE_7_2: short_test_summary += " - " + reason_string total_summary_line = f"*==== 1 {expected_lowercase!s} in 0.*s* ====*" expected_lines = ( session_start_title, loaded_pytest_plugins, collected_tests_num, expected_progress, ) if expected_word == FAILED_WORD: # XPASS(strict) expected_lines += ( failures_title, failures_test_name, failures_test_reason, ) expected_lines += ( short_test_summary_title, short_test_summary, ) if expected_lowercase == "xpassed" and expected_word == FAILED_WORD: # XPASS(strict) expected_lines += (" " + reason_string,) expected_lines += (total_summary_line,) test_module = testdir.makepyfile( f""" import os import signal import pytest # The current implementation emits RuntimeWarning. pytestmark = pytest.mark.filterwarnings('ignore:pytest-forked xfail') @pytest.mark.xfail( reason='The process gets terminated', strict={is_strict!s}, ) @pytest.mark.forked def test_function(): {test_func_body!s} """ ) pytest_run_result = testdir.runpytest(test_module, "-ra") > pytest_run_result.stdout.fnmatch_lines(expected_lines) E Failed: fnmatch: '*==== test session starts ====*' E with: '============================= test session starts ==============================' E nomatch: 'plugins: forked*' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail0' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.6.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py x*' E and: '' E and: 'test_xfail.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.01s =============================' E remains unmatched: 'test_xfail.py x*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_xfail_behavior.py:121: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail0 plugins: forked-1.6.0 collected 1 item test_xfail.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.01s ============================= ___________________________ test_xfail[strict xpass] ___________________________ is_crashing = False, is_strict = True testdir = @pytest.mark.parametrize( ("is_crashing", "is_strict"), ( pytest.param(True, True, id="strict xfail"), pytest.param(False, True, id="strict xpass"), pytest.param(True, False, id="non-strict xfail"), pytest.param(False, False, id="non-strict xpass"), ), ) def test_xfail(is_crashing, is_strict, testdir): """Test xfail/xpass/strict permutations.""" # pylint: disable=possibly-unused-variable sig_num = signal.SIGTERM.numerator test_func_body = ( "os.kill(os.getpid(), signal.SIGTERM)" if is_crashing else "assert True" ) if is_crashing: # marked xfailed and crashing, no matter strict or not expected_letter = "x" # XFAILED expected_lowercase = "xfailed" expected_word = "XFAIL" elif is_strict: # strict and not failing as expected should cause failure expected_letter = "F" # FAILED expected_lowercase = "failed" expected_word = FAILED_WORD elif not is_strict: # non-strict and not failing as expected should cause xpass expected_letter = "X" # XPASS expected_lowercase = "xpassed" expected_word = "XPASS" session_start_title = "*==== test session starts ====*" loaded_pytest_plugins = "plugins: forked*" collected_tests_num = "collected 1 item" expected_progress = f"test_xfail.py {expected_letter!s}*" failures_title = "*==== FAILURES ====*" failures_test_name = "*____ test_function ____*" failures_test_reason = "[XPASS(strict)] The process gets terminated" short_test_summary_title = "*==== short test summary info ====*" short_test_summary = f"{expected_word!s} test_xfail.py::test_function" if expected_lowercase == "xpassed": # XPASS wouldn't have the crash message from # pytest-forked because the crash doesn't happen short_test_summary = " ".join( ( short_test_summary, "The process gets terminated", ) ) reason_string = ( f"reason: The process gets terminated; " f"pytest-forked reason: " f"*:*: running the test CRASHED with signal {sig_num:d}" ) if expected_lowercase == "xfailed" and PYTEST_GTE_7_2: short_test_summary += " - " + reason_string total_summary_line = f"*==== 1 {expected_lowercase!s} in 0.*s* ====*" expected_lines = ( session_start_title, loaded_pytest_plugins, collected_tests_num, expected_progress, ) if expected_word == FAILED_WORD: # XPASS(strict) expected_lines += ( failures_title, failures_test_name, failures_test_reason, ) expected_lines += ( short_test_summary_title, short_test_summary, ) if expected_lowercase == "xpassed" and expected_word == FAILED_WORD: # XPASS(strict) expected_lines += (" " + reason_string,) expected_lines += (total_summary_line,) test_module = testdir.makepyfile( f""" import os import signal import pytest # The current implementation emits RuntimeWarning. pytestmark = pytest.mark.filterwarnings('ignore:pytest-forked xfail') @pytest.mark.xfail( reason='The process gets terminated', strict={is_strict!s}, ) @pytest.mark.forked def test_function(): {test_func_body!s} """ ) pytest_run_result = testdir.runpytest(test_module, "-ra") > pytest_run_result.stdout.fnmatch_lines(expected_lines) E Failed: fnmatch: '*==== test session starts ====*' E with: '============================= test session starts ==============================' E nomatch: 'plugins: forked*' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail1' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.6.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py F*' E and: '' E and: 'test_xfail.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.01s =============================' E remains unmatched: 'test_xfail.py F*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_xfail_behavior.py:121: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail1 plugins: forked-1.6.0 collected 1 item test_xfail.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.01s ============================= _________________________ test_xfail[non-strict xfail] _________________________ is_crashing = True, is_strict = False testdir = @pytest.mark.parametrize( ("is_crashing", "is_strict"), ( pytest.param(True, True, id="strict xfail"), pytest.param(False, True, id="strict xpass"), pytest.param(True, False, id="non-strict xfail"), pytest.param(False, False, id="non-strict xpass"), ), ) def test_xfail(is_crashing, is_strict, testdir): """Test xfail/xpass/strict permutations.""" # pylint: disable=possibly-unused-variable sig_num = signal.SIGTERM.numerator test_func_body = ( "os.kill(os.getpid(), signal.SIGTERM)" if is_crashing else "assert True" ) if is_crashing: # marked xfailed and crashing, no matter strict or not expected_letter = "x" # XFAILED expected_lowercase = "xfailed" expected_word = "XFAIL" elif is_strict: # strict and not failing as expected should cause failure expected_letter = "F" # FAILED expected_lowercase = "failed" expected_word = FAILED_WORD elif not is_strict: # non-strict and not failing as expected should cause xpass expected_letter = "X" # XPASS expected_lowercase = "xpassed" expected_word = "XPASS" session_start_title = "*==== test session starts ====*" loaded_pytest_plugins = "plugins: forked*" collected_tests_num = "collected 1 item" expected_progress = f"test_xfail.py {expected_letter!s}*" failures_title = "*==== FAILURES ====*" failures_test_name = "*____ test_function ____*" failures_test_reason = "[XPASS(strict)] The process gets terminated" short_test_summary_title = "*==== short test summary info ====*" short_test_summary = f"{expected_word!s} test_xfail.py::test_function" if expected_lowercase == "xpassed": # XPASS wouldn't have the crash message from # pytest-forked because the crash doesn't happen short_test_summary = " ".join( ( short_test_summary, "The process gets terminated", ) ) reason_string = ( f"reason: The process gets terminated; " f"pytest-forked reason: " f"*:*: running the test CRASHED with signal {sig_num:d}" ) if expected_lowercase == "xfailed" and PYTEST_GTE_7_2: short_test_summary += " - " + reason_string total_summary_line = f"*==== 1 {expected_lowercase!s} in 0.*s* ====*" expected_lines = ( session_start_title, loaded_pytest_plugins, collected_tests_num, expected_progress, ) if expected_word == FAILED_WORD: # XPASS(strict) expected_lines += ( failures_title, failures_test_name, failures_test_reason, ) expected_lines += ( short_test_summary_title, short_test_summary, ) if expected_lowercase == "xpassed" and expected_word == FAILED_WORD: # XPASS(strict) expected_lines += (" " + reason_string,) expected_lines += (total_summary_line,) test_module = testdir.makepyfile( f""" import os import signal import pytest # The current implementation emits RuntimeWarning. pytestmark = pytest.mark.filterwarnings('ignore:pytest-forked xfail') @pytest.mark.xfail( reason='The process gets terminated', strict={is_strict!s}, ) @pytest.mark.forked def test_function(): {test_func_body!s} """ ) pytest_run_result = testdir.runpytest(test_module, "-ra") > pytest_run_result.stdout.fnmatch_lines(expected_lines) E Failed: fnmatch: '*==== test session starts ====*' E with: '============================= test session starts ==============================' E nomatch: 'plugins: forked*' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail2' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.6.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py x*' E and: '' E and: 'test_xfail.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.01s =============================' E remains unmatched: 'test_xfail.py x*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_xfail_behavior.py:121: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail2 plugins: forked-1.6.0 collected 1 item test_xfail.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.01s ============================= _________________________ test_xfail[non-strict xpass] _________________________ is_crashing = False, is_strict = False testdir = @pytest.mark.parametrize( ("is_crashing", "is_strict"), ( pytest.param(True, True, id="strict xfail"), pytest.param(False, True, id="strict xpass"), pytest.param(True, False, id="non-strict xfail"), pytest.param(False, False, id="non-strict xpass"), ), ) def test_xfail(is_crashing, is_strict, testdir): """Test xfail/xpass/strict permutations.""" # pylint: disable=possibly-unused-variable sig_num = signal.SIGTERM.numerator test_func_body = ( "os.kill(os.getpid(), signal.SIGTERM)" if is_crashing else "assert True" ) if is_crashing: # marked xfailed and crashing, no matter strict or not expected_letter = "x" # XFAILED expected_lowercase = "xfailed" expected_word = "XFAIL" elif is_strict: # strict and not failing as expected should cause failure expected_letter = "F" # FAILED expected_lowercase = "failed" expected_word = FAILED_WORD elif not is_strict: # non-strict and not failing as expected should cause xpass expected_letter = "X" # XPASS expected_lowercase = "xpassed" expected_word = "XPASS" session_start_title = "*==== test session starts ====*" loaded_pytest_plugins = "plugins: forked*" collected_tests_num = "collected 1 item" expected_progress = f"test_xfail.py {expected_letter!s}*" failures_title = "*==== FAILURES ====*" failures_test_name = "*____ test_function ____*" failures_test_reason = "[XPASS(strict)] The process gets terminated" short_test_summary_title = "*==== short test summary info ====*" short_test_summary = f"{expected_word!s} test_xfail.py::test_function" if expected_lowercase == "xpassed": # XPASS wouldn't have the crash message from # pytest-forked because the crash doesn't happen short_test_summary = " ".join( ( short_test_summary, "The process gets terminated", ) ) reason_string = ( f"reason: The process gets terminated; " f"pytest-forked reason: " f"*:*: running the test CRASHED with signal {sig_num:d}" ) if expected_lowercase == "xfailed" and PYTEST_GTE_7_2: short_test_summary += " - " + reason_string total_summary_line = f"*==== 1 {expected_lowercase!s} in 0.*s* ====*" expected_lines = ( session_start_title, loaded_pytest_plugins, collected_tests_num, expected_progress, ) if expected_word == FAILED_WORD: # XPASS(strict) expected_lines += ( failures_title, failures_test_name, failures_test_reason, ) expected_lines += ( short_test_summary_title, short_test_summary, ) if expected_lowercase == "xpassed" and expected_word == FAILED_WORD: # XPASS(strict) expected_lines += (" " + reason_string,) expected_lines += (total_summary_line,) test_module = testdir.makepyfile( f""" import os import signal import pytest # The current implementation emits RuntimeWarning. pytestmark = pytest.mark.filterwarnings('ignore:pytest-forked xfail') @pytest.mark.xfail( reason='The process gets terminated', strict={is_strict!s}, ) @pytest.mark.forked def test_function(): {test_func_body!s} """ ) pytest_run_result = testdir.runpytest(test_module, "-ra") > pytest_run_result.stdout.fnmatch_lines(expected_lines) E Failed: fnmatch: '*==== test session starts ====*' E with: '============================= test session starts ==============================' E nomatch: 'plugins: forked*' E and: 'platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail3' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.6.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py X*' E and: '' E and: 'test_xfail.py ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session' E and: 'INTERNALERROR> session.exitstatus = doit(config, session) or 0' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main' E and: 'INTERNALERROR> config.hook.pytest_runtestloop(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop' E and: 'INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result' E and: 'INTERNALERROR> raise ex[1].with_traceback(ex[2])' E and: 'INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol' E and: 'INTERNALERROR> reports = forked_run_report(item)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report' E and: 'INTERNALERROR> ff = py.process.ForkedFunc(runforked)' E and: 'INTERNALERROR> ^^^^^^^^^^' E and: "INTERNALERROR> AttributeError: module 'py' has no attribute 'process'" E and: '' E and: '============================ no tests ran in 0.01s =============================' E remains unmatched: 'test_xfail.py X*' /builddir/build/BUILD/pytest-forked-1.6.0/testing/test_xfail_behavior.py:121: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.2, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail3 plugins: forked-1.6.0 collected 1 item test_xfail.py INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/_pytest/main.py", line 350, in pytest_runtestloop INTERNALERROR> item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_hooks.py", line 265, in __call__ INTERNALERROR> return self._hookexec(self.name, self.get_hookimpls(), kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 80, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 327, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 33, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_manager.py", line 324, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 60, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_result.py", line 60, in get_result INTERNALERROR> raise ex[1].with_traceback(ex[2]) INTERNALERROR> File "/usr/lib/python3.11/site-packages/pluggy/_callers.py", line 39, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 51, in pytest_runtest_protocol INTERNALERROR> reports = forked_run_report(item) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/python-pytest-forked-1.6.0-1.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py", line 73, in forked_run_report INTERNALERROR> ff = py.process.ForkedFunc(runforked) INTERNALERROR> ^^^^^^^^^^ INTERNALERROR> AttributeError: module 'py' has no attribute 'process' ============================ no tests ran in 0.01s ============================= =========================== short test summary info ============================ FAILED testing/test_boxed.py::test_functional_boxed - Failed: nomatch: '*CRAS... FAILED testing/test_boxed.py::test_functional_boxed_per_test - Failed: nomatc... FAILED testing/test_boxed.py::test_functional_boxed_capturing[no] - Failed: n... FAILED testing/test_xfail_behavior.py::test_xfail[strict xfail] - Failed: fnm... FAILED testing/test_xfail_behavior.py::test_xfail[strict xpass] - Failed: fnm... FAILED testing/test_xfail_behavior.py::test_xfail[non-strict xfail] - Failed:... FAILED testing/test_xfail_behavior.py::test_xfail[non-strict xpass] - Failed:... XFAIL testing/test_boxed.py::test_functional_boxed_capturing[sys] - capture cleanup needed XFAIL testing/test_boxed.py::test_functional_boxed_capturing[fd] - capture cleanup needed ==================== 7 failed, 1 passed, 2 xfailed in 0.40s ==================== RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.aZu3m5 (%check) Bad exit status from /var/tmp/rpm-tmp.aZu3m5 (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.10/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.10/site-packages/mockbuild/util.py", line 597, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec