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-build-60956-2252/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=982gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '055da4a91c55486eae2b6871d2affb50', '-D', '/var/lib/mock/dist-ocs23-python311-build-60956-2252/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch Wrote: /builddir/build/SRPMS/python-pytest-forked-1.4.0-3.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-build-60956-2252/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=982gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'd6840c2b083c4c66b6ae0380cf3093ab', '-D', '/var/lib/mock/dist-ocs23-python311-build-60956-2252/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', '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', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.g2SLVN + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pytest-forked-1.4.0 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pytest-forked-1.4.0.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-forked-1.4.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.4SsyPs + umask 022 + cd /builddir/build/BUILD + PYTHONPATH=:/usr/lib/python3.10/site-packages/:/usr/lib64/python3.10/site-packages/ + export PYTHONPATH + 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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.4.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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.Ukwa9C + umask 022 + cd /builddir/build/BUILD + PYTHONPATH=:/usr/lib/python3.10/site-packages/:/usr/lib64/python3.10/site-packages/ + export PYTHONPATH + '[' /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch ++ dirname /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch + cd pytest-forked-1.4.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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.4.0-3.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.4.0-3.ocs23.noarch/usr creating /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib creating /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11 creating /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages creating /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked copying build/lib/pytest_forked/__init__.py -> /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked byte-compiling /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked/__init__.py to __init__.cpython-311.pyc writing byte-compilation script '/tmp/tmpebpgr680.py' /usr/bin/python3 /tmp/tmpebpgr680.py removing /tmp/tmpebpgr680.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.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages/pytest_forked-1.4.0-py3.11.egg-info running install_scripts + rm -rfv /builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/bin/__pycache__ + /usr/bin/find-debuginfo -j32 --strict-build-id -m -i --build-id-seed 1.4.0-3.ocs23 --unique-debug-suffix -1.4.0-3.ocs23.noarch --unique-debug-src-base python-pytest-forked-1.4.0-3.ocs23.noarch -S debugsourcefiles.list /builddir/build/BUILD/pytest-forked-1.4.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.4.0-3.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.DAsUwA + umask 022 + cd /builddir/build/BUILD + PYTHONPATH=:/usr/lib/python3.10/site-packages/:/usr/lib64/python3.10/site-packages/ + export PYTHONPATH + 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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.4.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 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-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.4.0-3.ocs23.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib64/python3.11/site-packages:/builddir/build/BUILDROOT/python-pytest-forked-1.4.0-3.ocs23.noarch/usr/lib/python3.11/site-packages::/usr/lib/python3.10/site-packages/:/usr/lib64/python3.10/site-packages/ + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/pytest ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.0.0 rootdir: /builddir/build/BUILD/pytest-forked-1.4.0 configfile: tox.ini plugins: forked-1.4.0 collected 10 items testing/test_boxed.py ...xx. [ 60%] testing/test_xfail_behavior.py F.F. [100%] =================================== FAILURES =================================== ___________________________ 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 = "test_xfail.py {expected_letter!s}*".format(**locals()) 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 = "{expected_word!s} test_xfail.py::test_function".format( **locals() ) 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 = ( " reason: The process gets terminated; " "pytest-forked reason: " "*:*: running the test CRASHED with signal {sig_num:d}".format(**locals()) ) total_summary_line = "*==== 1 {expected_lowercase!s} in 0.*s* ====*".format( **locals() ) 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.0, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail0' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.4.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py x*' E and: '' E fnmatch: 'test_xfail.py x*' E with: 'test_xfail.py x [100%]' E nomatch: '*==== short test summary info ====*' E and: '' E fnmatch: '*==== short test summary info ====*' E with: '=========================== short test summary info ============================' E nomatch: 'XFAIL test_xfail.py::test_function' E and: 'XFAIL test_xfail.py::test_function - reason: The process gets terminated; pytest-forked reason: :-1: running the test CRASHED with signal 15' E and: '============================== 1 xfailed in 0.03s ==============================' E remains unmatched: 'XFAIL test_xfail.py::test_function' /builddir/build/BUILD/pytest-forked-1.4.0/testing/test_xfail_behavior.py:122: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail0 plugins: forked-1.4.0 collected 1 item test_xfail.py x [100%] =========================== short test summary info ============================ XFAIL test_xfail.py::test_function - reason: The process gets terminated; pytest-forked reason: :-1: running the test CRASHED with signal 15 ============================== 1 xfailed in 0.03s ============================== _________________________ 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 = "test_xfail.py {expected_letter!s}*".format(**locals()) 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 = "{expected_word!s} test_xfail.py::test_function".format( **locals() ) 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 = ( " reason: The process gets terminated; " "pytest-forked reason: " "*:*: running the test CRASHED with signal {sig_num:d}".format(**locals()) ) total_summary_line = "*==== 1 {expected_lowercase!s} in 0.*s* ====*".format( **locals() ) 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.0, pluggy-1.0.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail2' E fnmatch: 'plugins: forked*' E with: 'plugins: forked-1.4.0' E exact match: 'collected 1 item' E nomatch: 'test_xfail.py x*' E and: '' E fnmatch: 'test_xfail.py x*' E with: 'test_xfail.py x [100%]' E nomatch: '*==== short test summary info ====*' E and: '' E fnmatch: '*==== short test summary info ====*' E with: '=========================== short test summary info ============================' E nomatch: 'XFAIL test_xfail.py::test_function' E and: 'XFAIL test_xfail.py::test_function - reason: The process gets terminated; pytest-forked reason: :-1: running the test CRASHED with signal 15' E and: '============================== 1 xfailed in 0.01s ==============================' E remains unmatched: 'XFAIL test_xfail.py::test_function' /builddir/build/BUILD/pytest-forked-1.4.0/testing/test_xfail_behavior.py:122: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.11.4, pytest-7.4.0, pluggy-1.0.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_xfail2 plugins: forked-1.4.0 collected 1 item test_xfail.py x [100%] =========================== short test summary info ============================ XFAIL test_xfail.py::test_function - reason: The process gets terminated; pytest-forked reason: :-1: running the test CRASHED with signal 15 ============================== 1 xfailed in 0.01s ============================== =========================== short test summary info ============================ FAILED testing/test_xfail_behavior.py::test_xfail[strict xfail] - Failed: fnm... FAILED testing/test_xfail_behavior.py::test_xfail[non-strict xfail] - 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 ==================== 2 failed, 6 passed, 2 xfailed in 0.41s ==================== RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.DAsUwA (%check) Bad exit status from /var/tmp/rpm-tmp.DAsUwA (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M d6840c2b083c4c66b6ae0380cf3093ab -D /var/lib/mock/dist-ocs23-python311-build-60956-2252/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\\033]0;\\007" --setenv=PS1= \\s-\\v\\$ --setenv=LANG=C.UTF-8 --resolv-conf=off 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: # /usr/bin/systemd-nspawn -q -M d6840c2b083c4c66b6ae0380cf3093ab -D /var/lib/mock/dist-ocs23-python311-build-60956-2252/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.f4mhtrmf:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;\007" --setenv=PS1= \s-\v\$ --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c /usr/bin/rpmbuild -bb --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-forked.spec