Mock Version: 5.0 Mock Version: 5.0 Mock Version: 5.0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec'], chrootPath='/var/lib/mock/f40-build-2406951-60558/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=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.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 setting SOURCE_DATE_EPOCH=1706227200 Wrote: /builddir/build/SRPMS/pytest-7.4.3-3.fc40.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec'], chrootPath='/var/lib/mock/f40-build-2406951-60558/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=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.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 setting SOURCE_DATE_EPOCH=1706227200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.MhYxPY + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pytest-7.4.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pytest-7.4.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-7.4.3 + rm -rf /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/pytest-7.1.3-fix-xfails.patch + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/11611.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.r19K4U + umask 022 + cd /builddir/build/BUILD + cd pytest-7.4.3 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + echo -n + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir --output /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires -r Handling setuptools>=45.0 from build-system.requires Requirement satisfied: setuptools>=45.0 (installed: setuptools 68.2.2) Handling setuptools-scm[toml]>=6.2.3 from build-system.requires Requirement not satisfied: setuptools-scm[toml]>=6.2.3 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/pytest-7.4.3-3.fc40.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec'], chrootPath='/var/lib/mock/f40-build-2406951-60558/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=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.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 setting SOURCE_DATE_EPOCH=1706227200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Ze6N4H + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pytest-7.4.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pytest-7.4.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-7.4.3 + rm -rf /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/pytest-7.1.3-fix-xfails.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/11611.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.xGoYaM + umask 022 + cd /builddir/build/BUILD + cd pytest-7.4.3 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + echo -n + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir --output /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires -r Handling setuptools>=45.0 from build-system.requires Requirement satisfied: setuptools>=45.0 (installed: setuptools 68.2.2) Handling setuptools-scm[toml]>=6.2.3 from build-system.requires Requirement satisfied: setuptools-scm[toml]>=6.2.3 (installed: setuptools-scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement not satisfied: wheel Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 68.2.2) Handling setuptools-scm>=6.0 from get_requires_for_build_wheel Requirement satisfied: setuptools-scm>=6.0 (installed: setuptools-scm 8.0.4) Exiting dependency generation pass: get_requires_for_build_wheel + cat /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/pytest-7.4.3-3.fc40.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec'], chrootPath='/var/lib/mock/f40-build-2406951-60558/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=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueraiseExc=FalseprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.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 setting SOURCE_DATE_EPOCH=1706227200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.NPjj3u + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf pytest-7.4.3 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/pytest-7.4.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-7.4.3 + rm -rf /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/mkdir -p /builddir/build/BUILD/pytest-7.4.3-SPECPARTS + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/pytest-7.1.3-fix-xfails.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/11611.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.4H21FK + umask 022 + cd /builddir/build/BUILD + cd pytest-7.4.3 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + echo -n + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir --output /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires -r Handling setuptools>=45.0 from build-system.requires Requirement satisfied: setuptools>=45.0 (installed: setuptools 68.2.2) Handling setuptools-scm[toml]>=6.2.3 from build-system.requires Requirement satisfied: setuptools-scm[toml]>=6.2.3 (installed: setuptools-scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.41.2) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 68.2.2) Handling setuptools-scm>=6.0 from get_requires_for_build_wheel Requirement satisfied: setuptools-scm>=6.0 (installed: setuptools-scm 8.0.4) running dist_info creating pytest.egg-info writing pytest.egg-info/PKG-INFO writing dependency_links to pytest.egg-info/dependency_links.txt writing entry points to pytest.egg-info/entry_points.txt writing requirements to pytest.egg-info/requires.txt writing top-level names to pytest.egg-info/top_level.txt writing manifest file 'pytest.egg-info/SOURCES.txt' reading manifest file 'pytest.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'pytest.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/pytest-7.4.3/pytest-7.4.3.dist-info' Handling iniconfig from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: iniconfig (installed: iniconfig 1.1.1) Handling packaging from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: packaging (installed: packaging 23.2) Handling pluggy <2.0,>=0.12 from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: pluggy <2.0,>=0.12 (installed: pluggy 1.3.0) Handling exceptiongroup >=1.0.0rc8 ; python_version < "3.11" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: exceptiongroup >=1.0.0rc8 ; python_version < "3.11" Handling tomli >=1.0.0 ; python_version < "3.11" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: tomli >=1.0.0 ; python_version < "3.11" Handling importlib-metadata >=0.12 ; python_version < "3.8" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: importlib-metadata >=0.12 ; python_version < "3.8" Handling colorama ; sys_platform == "win32" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: colorama ; sys_platform == "win32" Handling argcomplete ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: argcomplete ; extra == 'testing' Handling attrs >=19.2.0 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: attrs >=19.2.0 ; extra == 'testing' Handling hypothesis >=3.56 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: hypothesis >=3.56 ; extra == 'testing' Handling mock ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: mock ; extra == 'testing' Handling nose ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: nose ; extra == 'testing' Handling pygments >=2.7.2 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: pygments >=2.7.2 ; extra == 'testing' Handling requests ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: requests ; extra == 'testing' Handling setuptools ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: setuptools ; extra == 'testing' Handling xmlschema ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: xmlschema ; extra == 'testing' + cat /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires + rm -rfv pytest-7.4.3.dist-info/ removed 'pytest-7.4.3.dist-info/top_level.txt' removed 'pytest-7.4.3.dist-info/LICENSE' removed 'pytest-7.4.3.dist-info/METADATA' removed 'pytest-7.4.3.dist-info/entry_points.txt' removed directory 'pytest-7.4.3.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/pytest-7.4.3-3.fc40.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec'], chrootPath='/var/lib/mock/f40-build-2406951-60558/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=864000uid=996gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.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 setting SOURCE_DATE_EPOCH=1706227200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.ulUk1q + umask 022 + cd /builddir/build/BUILD + cd pytest-7.4.3 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(pip) >= 19' + echo 'python3dist(packaging)' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + echo -n + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + RPM_TOXENV=py312 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir --output /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires -r Handling setuptools>=45.0 from build-system.requires Requirement satisfied: setuptools>=45.0 (installed: setuptools 68.2.2) Handling setuptools-scm[toml]>=6.2.3 from build-system.requires Requirement satisfied: setuptools-scm[toml]>=6.2.3 (installed: setuptools-scm 8.0.4) (extras are currently not checked) Handling wheel from get_requires_for_build_wheel Requirement satisfied: wheel (installed: wheel 0.41.2) Handling setuptools from get_requires_for_build_wheel Requirement satisfied: setuptools (installed: setuptools 68.2.2) Handling setuptools-scm>=6.0 from get_requires_for_build_wheel Requirement satisfied: setuptools-scm>=6.0 (installed: setuptools-scm 8.0.4) running dist_info writing pytest.egg-info/PKG-INFO writing dependency_links to pytest.egg-info/dependency_links.txt writing entry points to pytest.egg-info/entry_points.txt writing requirements to pytest.egg-info/requires.txt writing top-level names to pytest.egg-info/top_level.txt reading manifest file 'pytest.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'pytest.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/pytest-7.4.3/pytest-7.4.3.dist-info' Handling iniconfig from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: iniconfig (installed: iniconfig 1.1.1) Handling packaging from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: packaging (installed: packaging 23.2) Handling pluggy <2.0,>=0.12 from hook generated metadata: Requires-Dist (pytest) Requirement satisfied: pluggy <2.0,>=0.12 (installed: pluggy 1.3.0) Handling exceptiongroup >=1.0.0rc8 ; python_version < "3.11" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: exceptiongroup >=1.0.0rc8 ; python_version < "3.11" Handling tomli >=1.0.0 ; python_version < "3.11" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: tomli >=1.0.0 ; python_version < "3.11" Handling importlib-metadata >=0.12 ; python_version < "3.8" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: importlib-metadata >=0.12 ; python_version < "3.8" Handling colorama ; sys_platform == "win32" from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: colorama ; sys_platform == "win32" Handling argcomplete ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: argcomplete ; extra == 'testing' Handling attrs >=19.2.0 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: attrs >=19.2.0 ; extra == 'testing' Handling hypothesis >=3.56 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: hypothesis >=3.56 ; extra == 'testing' Handling mock ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: mock ; extra == 'testing' Handling nose ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: nose ; extra == 'testing' Handling pygments >=2.7.2 ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: pygments >=2.7.2 ; extra == 'testing' Handling requests ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: requests ; extra == 'testing' Handling setuptools ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: setuptools ; extra == 'testing' Handling xmlschema ; extra == 'testing' from hook generated metadata: Requires-Dist (pytest) Ignoring alien requirement: xmlschema ; extra == 'testing' + cat /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-buildrequires + rm -rfv pytest-7.4.3.dist-info/ removed 'pytest-7.4.3.dist-info/top_level.txt' removed 'pytest-7.4.3.dist-info/LICENSE' removed 'pytest-7.4.3.dist-info/METADATA' removed 'pytest-7.4.3.dist-info/entry_points.txt' removed directory 'pytest-7.4.3.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.tp1Hnn + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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-7.4.3 + mkdir -p /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir Processing /builddir/build/BUILD/pytest-7.4.3 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) running dist_info creating /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info writing /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/dependency_links.txt writing entry points to /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/entry_points.txt writing requirements to /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file '/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-modern-metadata-kb1xxvp9/pytest-7.4.3.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: pytest Building wheel for pytest (pyproject.toml): started Running command Building wheel for pytest (pyproject.toml) running bdist_wheel running build running build_py creating build creating build/lib copying src/py.py -> build/lib creating build/lib/_pytest copying src/_pytest/capture.py -> build/lib/_pytest copying src/_pytest/setuponly.py -> build/lib/_pytest copying src/_pytest/doctest.py -> build/lib/_pytest copying src/_pytest/deprecated.py -> build/lib/_pytest copying src/_pytest/outcomes.py -> build/lib/_pytest copying src/_pytest/timing.py -> build/lib/_pytest copying src/_pytest/setupplan.py -> build/lib/_pytest copying src/_pytest/python_path.py -> build/lib/_pytest copying src/_pytest/pytester.py -> build/lib/_pytest copying src/_pytest/nodes.py -> build/lib/_pytest copying src/_pytest/_version.py -> build/lib/_pytest copying src/_pytest/python_api.py -> build/lib/_pytest copying src/_pytest/hookspec.py -> build/lib/_pytest copying src/_pytest/reports.py -> build/lib/_pytest copying src/_pytest/cacheprovider.py -> build/lib/_pytest copying src/_pytest/_argcomplete.py -> build/lib/_pytest copying src/_pytest/__init__.py -> build/lib/_pytest copying src/_pytest/terminal.py -> build/lib/_pytest copying src/_pytest/threadexception.py -> build/lib/_pytest copying src/_pytest/legacypath.py -> build/lib/_pytest copying src/_pytest/debugging.py -> build/lib/_pytest copying src/_pytest/stash.py -> build/lib/_pytest copying src/_pytest/stepwise.py -> build/lib/_pytest copying src/_pytest/tmpdir.py -> build/lib/_pytest copying src/_pytest/pytester_assertions.py -> build/lib/_pytest copying src/_pytest/faulthandler.py -> build/lib/_pytest copying src/_pytest/freeze_support.py -> build/lib/_pytest copying src/_pytest/fixtures.py -> build/lib/_pytest copying src/_pytest/unittest.py -> build/lib/_pytest copying src/_pytest/warning_types.py -> build/lib/_pytest copying src/_pytest/pathlib.py -> build/lib/_pytest copying src/_pytest/logging.py -> build/lib/_pytest copying src/_pytest/unraisableexception.py -> build/lib/_pytest copying src/_pytest/python.py -> build/lib/_pytest copying src/_pytest/scope.py -> build/lib/_pytest copying src/_pytest/helpconfig.py -> build/lib/_pytest copying src/_pytest/main.py -> build/lib/_pytest copying src/_pytest/runner.py -> build/lib/_pytest copying src/_pytest/warnings.py -> build/lib/_pytest copying src/_pytest/recwarn.py -> build/lib/_pytest copying src/_pytest/junitxml.py -> build/lib/_pytest copying src/_pytest/skipping.py -> build/lib/_pytest copying src/_pytest/monkeypatch.py -> build/lib/_pytest copying src/_pytest/compat.py -> build/lib/_pytest copying src/_pytest/nose.py -> build/lib/_pytest copying src/_pytest/pastebin.py -> build/lib/_pytest creating build/lib/_pytest/_code copying src/_pytest/_code/__init__.py -> build/lib/_pytest/_code copying src/_pytest/_code/code.py -> build/lib/_pytest/_code copying src/_pytest/_code/source.py -> build/lib/_pytest/_code creating build/lib/_pytest/_io copying src/_pytest/_io/wcwidth.py -> build/lib/_pytest/_io copying src/_pytest/_io/__init__.py -> build/lib/_pytest/_io copying src/_pytest/_io/saferepr.py -> build/lib/_pytest/_io copying src/_pytest/_io/terminalwriter.py -> build/lib/_pytest/_io creating build/lib/_pytest/_py copying src/_pytest/_py/path.py -> build/lib/_pytest/_py copying src/_pytest/_py/__init__.py -> build/lib/_pytest/_py copying src/_pytest/_py/error.py -> build/lib/_pytest/_py creating build/lib/_pytest/assertion copying src/_pytest/assertion/util.py -> build/lib/_pytest/assertion copying src/_pytest/assertion/__init__.py -> build/lib/_pytest/assertion copying src/_pytest/assertion/rewrite.py -> build/lib/_pytest/assertion copying src/_pytest/assertion/truncate.py -> build/lib/_pytest/assertion creating build/lib/_pytest/config copying src/_pytest/config/argparsing.py -> build/lib/_pytest/config copying src/_pytest/config/exceptions.py -> build/lib/_pytest/config copying src/_pytest/config/__init__.py -> build/lib/_pytest/config copying src/_pytest/config/findpaths.py -> build/lib/_pytest/config copying src/_pytest/config/compat.py -> build/lib/_pytest/config creating build/lib/_pytest/mark copying src/_pytest/mark/structures.py -> build/lib/_pytest/mark copying src/_pytest/mark/expression.py -> build/lib/_pytest/mark copying src/_pytest/mark/__init__.py -> build/lib/_pytest/mark creating build/lib/pytest copying src/pytest/__init__.py -> build/lib/pytest copying src/pytest/__main__.py -> build/lib/pytest copying src/_pytest/py.typed -> build/lib/_pytest copying src/pytest/py.typed -> build/lib/pytest installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64 creating build/bdist.linux-riscv64/wheel copying build/lib/py.py -> build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/pytest copying build/lib/pytest/__init__.py -> build/bdist.linux-riscv64/wheel/pytest copying build/lib/pytest/py.typed -> build/bdist.linux-riscv64/wheel/pytest copying build/lib/pytest/__main__.py -> build/bdist.linux-riscv64/wheel/pytest creating build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/capture.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/setuponly.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/doctest.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/deprecated.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/_code copying build/lib/_pytest/_code/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/_code copying build/lib/_pytest/_code/code.py -> build/bdist.linux-riscv64/wheel/_pytest/_code copying build/lib/_pytest/_code/source.py -> build/bdist.linux-riscv64/wheel/_pytest/_code copying build/lib/_pytest/outcomes.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/timing.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/setupplan.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/python_path.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/pytester.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/nodes.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/mark copying build/lib/_pytest/mark/structures.py -> build/bdist.linux-riscv64/wheel/_pytest/mark copying build/lib/_pytest/mark/expression.py -> build/bdist.linux-riscv64/wheel/_pytest/mark copying build/lib/_pytest/mark/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/mark copying build/lib/_pytest/_version.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/python_api.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/hookspec.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/reports.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/cacheprovider.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/_argcomplete.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/terminal.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/threadexception.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/legacypath.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/debugging.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/config/argparsing.py -> build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/config/exceptions.py -> build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/config/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/config/findpaths.py -> build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/config/compat.py -> build/bdist.linux-riscv64/wheel/_pytest/config copying build/lib/_pytest/stash.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/stepwise.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/tmpdir.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/py.typed -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/pytester_assertions.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/faulthandler.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/freeze_support.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/fixtures.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/unittest.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/warning_types.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/pathlib.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/logging.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/_io copying build/lib/_pytest/_io/wcwidth.py -> build/bdist.linux-riscv64/wheel/_pytest/_io copying build/lib/_pytest/_io/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/_io copying build/lib/_pytest/_io/saferepr.py -> build/bdist.linux-riscv64/wheel/_pytest/_io copying build/lib/_pytest/_io/terminalwriter.py -> build/bdist.linux-riscv64/wheel/_pytest/_io copying build/lib/_pytest/unraisableexception.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/assertion copying build/lib/_pytest/assertion/util.py -> build/bdist.linux-riscv64/wheel/_pytest/assertion copying build/lib/_pytest/assertion/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/assertion copying build/lib/_pytest/assertion/rewrite.py -> build/bdist.linux-riscv64/wheel/_pytest/assertion copying build/lib/_pytest/assertion/truncate.py -> build/bdist.linux-riscv64/wheel/_pytest/assertion copying build/lib/_pytest/python.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/scope.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/helpconfig.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/main.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/runner.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/warnings.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/recwarn.py -> build/bdist.linux-riscv64/wheel/_pytest creating build/bdist.linux-riscv64/wheel/_pytest/_py copying build/lib/_pytest/_py/path.py -> build/bdist.linux-riscv64/wheel/_pytest/_py copying build/lib/_pytest/_py/__init__.py -> build/bdist.linux-riscv64/wheel/_pytest/_py copying build/lib/_pytest/_py/error.py -> build/bdist.linux-riscv64/wheel/_pytest/_py copying build/lib/_pytest/junitxml.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/skipping.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/monkeypatch.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/compat.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/nose.py -> build/bdist.linux-riscv64/wheel/_pytest copying build/lib/_pytest/pastebin.py -> build/bdist.linux-riscv64/wheel/_pytest running install_egg_info running egg_info writing src/pytest.egg-info/PKG-INFO writing dependency_links to src/pytest.egg-info/dependency_links.txt writing entry points to src/pytest.egg-info/entry_points.txt writing requirements to src/pytest.egg-info/requires.txt writing top-level names to src/pytest.egg-info/top_level.txt reading manifest file 'src/pytest.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'src/pytest.egg-info/SOURCES.txt' Copying src/pytest.egg-info to build/bdist.linux-riscv64/wheel/pytest-7.4.3-py3.12.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/pytest-7.4.3.dist-info/WHEEL creating '/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir/pip-wheel-c7gqfco5/.tmp-90kc5i9t/pytest-7.4.3-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'py.py' adding '_pytest/__init__.py' adding '_pytest/_argcomplete.py' adding '_pytest/_version.py' adding '_pytest/cacheprovider.py' adding '_pytest/capture.py' adding '_pytest/compat.py' adding '_pytest/debugging.py' adding '_pytest/deprecated.py' adding '_pytest/doctest.py' adding '_pytest/faulthandler.py' adding '_pytest/fixtures.py' adding '_pytest/freeze_support.py' adding '_pytest/helpconfig.py' adding '_pytest/hookspec.py' adding '_pytest/junitxml.py' adding '_pytest/legacypath.py' adding '_pytest/logging.py' adding '_pytest/main.py' adding '_pytest/monkeypatch.py' adding '_pytest/nodes.py' adding '_pytest/nose.py' adding '_pytest/outcomes.py' adding '_pytest/pastebin.py' adding '_pytest/pathlib.py' adding '_pytest/py.typed' adding '_pytest/pytester.py' adding '_pytest/pytester_assertions.py' adding '_pytest/python.py' adding '_pytest/python_api.py' adding '_pytest/python_path.py' adding '_pytest/recwarn.py' adding '_pytest/reports.py' adding '_pytest/runner.py' adding '_pytest/scope.py' adding '_pytest/setuponly.py' adding '_pytest/setupplan.py' adding '_pytest/skipping.py' adding '_pytest/stash.py' adding '_pytest/stepwise.py' adding '_pytest/terminal.py' adding '_pytest/threadexception.py' adding '_pytest/timing.py' adding '_pytest/tmpdir.py' adding '_pytest/unittest.py' adding '_pytest/unraisableexception.py' adding '_pytest/warning_types.py' adding '_pytest/warnings.py' adding '_pytest/_code/__init__.py' adding '_pytest/_code/code.py' adding '_pytest/_code/source.py' adding '_pytest/_io/__init__.py' adding '_pytest/_io/saferepr.py' adding '_pytest/_io/terminalwriter.py' adding '_pytest/_io/wcwidth.py' adding '_pytest/_py/__init__.py' adding '_pytest/_py/error.py' adding '_pytest/_py/path.py' adding '_pytest/assertion/__init__.py' adding '_pytest/assertion/rewrite.py' adding '_pytest/assertion/truncate.py' adding '_pytest/assertion/util.py' adding '_pytest/config/__init__.py' adding '_pytest/config/argparsing.py' adding '_pytest/config/compat.py' adding '_pytest/config/exceptions.py' adding '_pytest/config/findpaths.py' adding '_pytest/mark/__init__.py' adding '_pytest/mark/expression.py' adding '_pytest/mark/structures.py' adding 'pytest/__init__.py' adding 'pytest/__main__.py' adding 'pytest/py.typed' adding 'pytest-7.4.3.dist-info/LICENSE' adding 'pytest-7.4.3.dist-info/METADATA' adding 'pytest-7.4.3.dist-info/WHEEL' adding 'pytest-7.4.3.dist-info/entry_points.txt' adding 'pytest-7.4.3.dist-info/top_level.txt' adding 'pytest-7.4.3.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Building wheel for pytest (pyproject.toml): finished with status 'done' Created wheel for pytest: filename=pytest-7.4.3-py3-none-any.whl size=323996 sha256=aebe6e114da0d6f93a3f36d7486701d3f55bd17ae361f14c1e6d6c2a2185d430 Stored in directory: /builddir/.cache/pip/wheels/d5/5b/56/b924a5900cf475e0eef09381135c5540100fb5abe059397915 Successfully built pytest + for l in doc/* ++ pwd + /usr/bin/make -O -j8 V=1 VERBOSE=1 -C doc/en html PYTHONPATH=/builddir/build/BUILD/pytest-7.4.3/src make: Entering directory '/builddir/build/BUILD/pytest-7.4.3/doc/en' Running Sphinx v7.2.6 making output directory... done [autosummary] generating autosummary for: adopt.rst, announce/index.rst, announce/release-2.0.0.rst, announce/release-2.0.1.rst, announce/release-2.0.2.rst, announce/release-2.0.3.rst, announce/release-2.1.0.rst, announce/release-2.1.1.rst, announce/release-2.1.2.rst, announce/release-2.1.3.rst, ..., reference/customize.rst, reference/exit-codes.rst, reference/fixtures.rst, reference/index.rst, reference/plugin_list.rst, reference/reference.rst, sponsor.rst, talks.rst, tidelift.rst, yieldfixture.rst loading intersphinx inventory from https://pluggy.readthedocs.io/en/stable/objects.inv... loading intersphinx inventory from https://docs.python.org/3/objects.inv... loading intersphinx inventory from https://numpy.org/doc/stable/objects.inv... loading intersphinx inventory from https://pip.pypa.io/en/stable/objects.inv... loading intersphinx inventory from https://tox.wiki/en/stable/objects.inv... loading intersphinx inventory from https://virtualenv.pypa.io/en/stable/objects.inv... loading intersphinx inventory from https://setuptools.pypa.io/en/stable/objects.inv... loading intersphinx inventory from https://packaging.python.org/en/latest/objects.inv... building [mo]: targets for 0 po files that are out of date writing output... building [html]: targets for 226 source files that are out of date updating environment: [new config] 226 added, 0 changed, 0 removed reading sources... [ 0%] adopt reading sources... [ 1%] announce/index reading sources... [ 1%] announce/release-2.0.0 reading sources... [ 2%] announce/release-2.0.1 reading sources... [ 2%] announce/release-2.0.2 reading sources... [ 3%] announce/release-2.0.3 reading sources... [ 3%] announce/release-2.1.0 reading sources... [ 4%] announce/release-2.1.1 reading sources... [ 4%] announce/release-2.1.2 reading sources... [ 4%] announce/release-2.1.3 reading sources... [ 5%] announce/release-2.2.0 reading sources... [ 5%] announce/release-2.2.1 reading sources... [ 6%] announce/release-2.2.2 reading sources... [ 6%] announce/release-2.2.4 reading sources... [ 7%] announce/release-2.3.0 reading sources... [ 7%] announce/release-2.3.1 reading sources... [ 8%] announce/release-2.3.2 reading sources... [ 8%] announce/release-2.3.3 reading sources... [ 8%] announce/release-2.3.4 reading sources... [ 9%] announce/release-2.3.5 reading sources... [ 9%] announce/release-2.4.0 reading sources... [ 10%] announce/release-2.4.1 reading sources... [ 10%] announce/release-2.4.2 reading sources... [ 11%] announce/release-2.5.0 reading sources... [ 11%] announce/release-2.5.1 reading sources... [ 12%] announce/release-2.5.2 reading sources... [ 12%] announce/release-2.6.0 reading sources... [ 12%] announce/release-2.6.1 reading sources... [ 13%] announce/release-2.6.2 reading sources... [ 13%] announce/release-2.6.3 reading sources... [ 14%] announce/release-2.7.0 reading sources... [ 14%] announce/release-2.7.1 reading sources... [ 15%] announce/release-2.7.2 reading sources... [ 15%] announce/release-2.8.2 reading sources... [ 15%] announce/release-2.8.3 reading sources... [ 16%] announce/release-2.8.4 reading sources... [ 16%] announce/release-2.8.5 reading sources... [ 17%] announce/release-2.8.6 reading sources... [ 17%] announce/release-2.8.7 reading sources... [ 18%] announce/release-2.9.0 reading sources... [ 18%] announce/release-2.9.1 reading sources... [ 19%] announce/release-2.9.2 reading sources... [ 19%] announce/release-3.0.0 reading sources... [ 19%] announce/release-3.0.1 reading sources... [ 20%] announce/release-3.0.2 reading sources... [ 20%] announce/release-3.0.3 reading sources... [ 21%] announce/release-3.0.4 reading sources... [ 21%] announce/release-3.0.5 reading sources... [ 22%] announce/release-3.0.6 reading sources... [ 22%] announce/release-3.0.7 reading sources... [ 23%] announce/release-3.1.0 reading sources... [ 23%] announce/release-3.1.1 reading sources... [ 23%] announce/release-3.1.2 reading sources... [ 24%] announce/release-3.1.3 reading sources... [ 24%] announce/release-3.10.0 reading sources... [ 25%] announce/release-3.10.1 reading sources... [ 25%] announce/release-3.2.0 reading sources... [ 26%] announce/release-3.2.1 reading sources... [ 26%] announce/release-3.2.2 reading sources... [ 27%] announce/release-3.2.3 reading sources... [ 27%] announce/release-3.2.4 reading sources... [ 27%] announce/release-3.2.5 reading sources... [ 28%] announce/release-3.3.0 reading sources... [ 28%] announce/release-3.3.1 reading sources... [ 29%] announce/release-3.3.2 reading sources... [ 29%] announce/release-3.4.0 reading sources... [ 30%] announce/release-3.4.1 reading sources... [ 30%] announce/release-3.4.2 reading sources... [ 31%] announce/release-3.5.0 reading sources... [ 31%] announce/release-3.5.1 reading sources... [ 31%] announce/release-3.6.0 reading sources... [ 32%] announce/release-3.6.1 reading sources... [ 32%] announce/release-3.6.2 reading sources... [ 33%] announce/release-3.6.3 reading sources... [ 33%] announce/release-3.6.4 reading sources... [ 34%] announce/release-3.7.0 reading sources... [ 34%] announce/release-3.7.1 reading sources... [ 35%] announce/release-3.7.2 reading sources... [ 35%] announce/release-3.7.3 reading sources... [ 35%] announce/release-3.7.4 reading sources... [ 36%] announce/release-3.8.0 reading sources... [ 36%] announce/release-3.8.1 reading sources... [ 37%] announce/release-3.8.2 reading sources... [ 37%] announce/release-3.9.0 reading sources... [ 38%] announce/release-3.9.1 reading sources... [ 38%] announce/release-3.9.2 reading sources... [ 38%] announce/release-3.9.3 reading sources... [ 39%] announce/release-4.0.0 reading sources... [ 39%] announce/release-4.0.1 reading sources... [ 40%] announce/release-4.0.2 reading sources... [ 40%] announce/release-4.1.0 reading sources... [ 41%] announce/release-4.1.1 reading sources... [ 41%] announce/release-4.2.0 reading sources... [ 42%] announce/release-4.2.1 reading sources... [ 42%] announce/release-4.3.0 reading sources... [ 42%] announce/release-4.3.1 reading sources... [ 43%] announce/release-4.4.0 reading sources... [ 43%] announce/release-4.4.1 reading sources... [ 44%] announce/release-4.4.2 reading sources... [ 44%] announce/release-4.5.0 reading sources... [ 45%] announce/release-4.6.0 reading sources... [ 45%] announce/release-4.6.1 reading sources... [ 46%] announce/release-4.6.2 reading sources... [ 46%] announce/release-4.6.3 reading sources... [ 46%] announce/release-4.6.4 reading sources... [ 47%] announce/release-4.6.5 reading sources... [ 47%] announce/release-4.6.6 reading sources... [ 48%] announce/release-4.6.7 reading sources... [ 48%] announce/release-4.6.8 reading sources... [ 49%] announce/release-4.6.9 reading sources... [ 49%] announce/release-5.0.0 reading sources... [ 50%] announce/release-5.0.1 reading sources... [ 50%] announce/release-5.1.0 reading sources... [ 50%] announce/release-5.1.1 reading sources... [ 51%] announce/release-5.1.2 reading sources... [ 51%] announce/release-5.1.3 reading sources... [ 52%] announce/release-5.2.0 reading sources... [ 52%] announce/release-5.2.1 reading sources... [ 53%] announce/release-5.2.2 reading sources... [ 53%] announce/release-5.2.3 reading sources... [ 54%] announce/release-5.2.4 reading sources... [ 54%] announce/release-5.3.0 reading sources... [ 54%] announce/release-5.3.1 reading sources... [ 55%] announce/release-5.3.2 reading sources... [ 55%] announce/release-5.3.3 reading sources... [ 56%] announce/release-5.3.4 reading sources... [ 56%] announce/release-5.3.5 reading sources... [ 57%] announce/release-5.4.0 reading sources... [ 57%] announce/release-5.4.1 reading sources... [ 58%] announce/release-5.4.2 reading sources... [ 58%] announce/release-5.4.3 reading sources... [ 58%] announce/release-6.0.0 reading sources... [ 59%] announce/release-6.0.0rc1 reading sources... [ 59%] announce/release-6.0.1 reading sources... [ 60%] announce/release-6.0.2 reading sources... [ 60%] announce/release-6.1.0 reading sources... [ 61%] announce/release-6.1.1 reading sources... [ 61%] announce/release-6.1.2 reading sources... [ 62%] announce/release-6.2.0 reading sources... [ 62%] announce/release-6.2.1 reading sources... [ 62%] announce/release-6.2.2 reading sources... [ 63%] announce/release-6.2.3 reading sources... [ 63%] announce/release-6.2.4 reading sources... [ 64%] announce/release-6.2.5 reading sources... [ 64%] announce/release-7.0.0 reading sources... [ 65%] announce/release-7.0.0rc1 reading sources... [ 65%] announce/release-7.0.1 reading sources... [ 65%] announce/release-7.1.0 reading sources... [ 66%] announce/release-7.1.1 reading sources... [ 66%] announce/release-7.1.2 reading sources... [ 67%] announce/release-7.1.3 reading sources... [ 67%] announce/release-7.2.0 reading sources... [ 68%] announce/release-7.2.1 reading sources... [ 68%] announce/release-7.2.2 reading sources... [ 69%] announce/release-7.3.0 reading sources... [ 69%] announce/release-7.3.1 reading sources... [ 69%] announce/release-7.3.2 reading sources... [ 70%] announce/release-7.4.0 reading sources... [ 70%] announce/release-7.4.1 reading sources... [ 71%] announce/release-7.4.2 reading sources... [ 71%] announce/release-7.4.3 reading sources... [ 72%] announce/sprint2016 reading sources... [ 72%] backwards-compatibility reading sources... [ 73%] builtin reading sources... [ 73%] changelog reading sources... [ 73%] contact reading sources... [ 74%] contents reading sources... [ 74%] contributing reading sources... [ 75%] deprecations reading sources... [ 75%] development_guide reading sources... [ 76%] example/index reading sources... [ 76%] example/markers reading sources... [ 77%] example/nonpython reading sources... [ 77%] example/parametrize reading sources... [ 77%] example/pythoncollection reading sources... [ 78%] example/reportingdemo reading sources... [ 78%] example/simple reading sources... [ 79%] example/special reading sources... [ 79%] explanation/anatomy reading sources... [ 80%] explanation/fixtures reading sources... [ 80%] explanation/flaky reading sources... [ 81%] explanation/goodpractices reading sources... [ 81%] explanation/index reading sources... [ 81%] explanation/pythonpath reading sources... [ 82%] funcarg_compare reading sources... [ 82%] getting-started reading sources... [ 83%] historical-notes reading sources... [ 83%] history reading sources... [ 84%] how-to/assert reading sources... [ 84%] how-to/bash-completion reading sources... [ 85%] how-to/cache reading sources... [ 85%] how-to/capture-stdout-stderr reading sources... [ 85%] how-to/capture-warnings reading sources... [ 86%] how-to/doctest reading sources... [ 86%] how-to/existingtestsuite reading sources... [ 87%] how-to/failures reading sources... [ 87%] how-to/fixtures reading sources... [ 88%] how-to/index reading sources... [ 88%] how-to/logging reading sources... [ 88%] how-to/mark reading sources... [ 89%] how-to/monkeypatch reading sources... [ 89%] how-to/nose reading sources... [ 90%] how-to/output reading sources... [ 90%] how-to/parametrize reading sources... [ 91%] how-to/plugins reading sources... [ 91%] how-to/skipping reading sources... [ 92%] how-to/tmp_path reading sources... [ 92%] how-to/unittest reading sources... [ 92%] how-to/usage reading sources... [ 93%] how-to/writing_hook_functions reading sources... [ 93%] how-to/writing_plugins reading sources... [ 94%] how-to/xunit_setup reading sources... [ 94%] index reading sources... [ 95%] license reading sources... [ 95%] proposals/parametrize_with_fixtures reading sources... [ 96%] recwarn reading sources... [ 96%] reference/customize reading sources... [ 96%] reference/exit-codes reading sources... [ 97%] reference/fixtures reading sources... [ 97%] reference/index reading sources... [ 98%] reference/plugin_list reading sources... [ 98%] reference/reference reading sources... [ 99%] sponsor reading sources... [ 99%] talks reading sources... [100%] tidelift reading sources... [100%] yieldfixture looking for now-outdated files... none found pickling environment... done checking consistency... done preparing documents... done copying assets... copying static files... done copying extra files... done done writing output... [ 0%] adopt writing output... [ 1%] announce/index writing output... [ 1%] announce/release-2.0.0 writing output... [ 2%] announce/release-2.0.1 writing output... [ 2%] announce/release-2.0.2 writing output... [ 3%] announce/release-2.0.3 writing output... [ 3%] announce/release-2.1.0 writing output... [ 4%] announce/release-2.1.1 writing output... [ 4%] announce/release-2.1.2 writing output... [ 4%] announce/release-2.1.3 writing output... [ 5%] announce/release-2.2.0 writing output... [ 5%] announce/release-2.2.1 writing output... [ 6%] announce/release-2.2.2 writing output... [ 6%] announce/release-2.2.4 writing output... [ 7%] announce/release-2.3.0 writing output... [ 7%] announce/release-2.3.1 writing output... [ 8%] announce/release-2.3.2 writing output... [ 8%] announce/release-2.3.3 writing output... [ 8%] announce/release-2.3.4 writing output... [ 9%] announce/release-2.3.5 writing output... [ 9%] announce/release-2.4.0 writing output... [ 10%] announce/release-2.4.1 writing output... [ 10%] announce/release-2.4.2 writing output... [ 11%] announce/release-2.5.0 writing output... [ 11%] announce/release-2.5.1 writing output... [ 12%] announce/release-2.5.2 writing output... [ 12%] announce/release-2.6.0 writing output... [ 12%] announce/release-2.6.1 writing output... [ 13%] announce/release-2.6.2 writing output... [ 13%] announce/release-2.6.3 writing output... [ 14%] announce/release-2.7.0 writing output... [ 14%] announce/release-2.7.1 writing output... [ 15%] announce/release-2.7.2 writing output... [ 15%] announce/release-2.8.2 writing output... [ 15%] announce/release-2.8.3 writing output... [ 16%] announce/release-2.8.4 writing output... [ 16%] announce/release-2.8.5 writing output... [ 17%] announce/release-2.8.6 writing output... [ 17%] announce/release-2.8.7 writing output... [ 18%] announce/release-2.9.0 writing output... [ 18%] announce/release-2.9.1 writing output... [ 19%] announce/release-2.9.2 writing output... [ 19%] announce/release-3.0.0 writing output... [ 19%] announce/release-3.0.1 writing output... [ 20%] announce/release-3.0.2 writing output... [ 20%] announce/release-3.0.3 writing output... [ 21%] announce/release-3.0.4 writing output... [ 21%] announce/release-3.0.5 writing output... [ 22%] announce/release-3.0.6 writing output... [ 22%] announce/release-3.0.7 writing output... [ 23%] announce/release-3.1.0 writing output... [ 23%] announce/release-3.1.1 writing output... [ 23%] announce/release-3.1.2 writing output... [ 24%] announce/release-3.1.3 writing output... [ 24%] announce/release-3.10.0 writing output... [ 25%] announce/release-3.10.1 writing output... [ 25%] announce/release-3.2.0 writing output... [ 26%] announce/release-3.2.1 writing output... [ 26%] announce/release-3.2.2 writing output... [ 27%] announce/release-3.2.3 writing output... [ 27%] announce/release-3.2.4 writing output... [ 27%] announce/release-3.2.5 writing output... [ 28%] announce/release-3.3.0 writing output... [ 28%] announce/release-3.3.1 writing output... [ 29%] announce/release-3.3.2 writing output... [ 29%] announce/release-3.4.0 writing output... [ 30%] announce/release-3.4.1 writing output... [ 30%] announce/release-3.4.2 writing output... [ 31%] announce/release-3.5.0 writing output... [ 31%] announce/release-3.5.1 writing output... [ 31%] announce/release-3.6.0 writing output... [ 32%] announce/release-3.6.1 writing output... [ 32%] announce/release-3.6.2 writing output... [ 33%] announce/release-3.6.3 writing output... [ 33%] announce/release-3.6.4 writing output... [ 34%] announce/release-3.7.0 writing output... [ 34%] announce/release-3.7.1 writing output... [ 35%] announce/release-3.7.2 writing output... [ 35%] announce/release-3.7.3 writing output... [ 35%] announce/release-3.7.4 writing output... [ 36%] announce/release-3.8.0 writing output... [ 36%] announce/release-3.8.1 writing output... [ 37%] announce/release-3.8.2 writing output... [ 37%] announce/release-3.9.0 writing output... [ 38%] announce/release-3.9.1 writing output... [ 38%] announce/release-3.9.2 writing output... [ 38%] announce/release-3.9.3 writing output... [ 39%] announce/release-4.0.0 writing output... [ 39%] announce/release-4.0.1 writing output... [ 40%] announce/release-4.0.2 writing output... [ 40%] announce/release-4.1.0 writing output... [ 41%] announce/release-4.1.1 writing output... [ 41%] announce/release-4.2.0 writing output... [ 42%] announce/release-4.2.1 writing output... [ 42%] announce/release-4.3.0 writing output... [ 42%] announce/release-4.3.1 writing output... [ 43%] announce/release-4.4.0 writing output... [ 43%] announce/release-4.4.1 writing output... [ 44%] announce/release-4.4.2 writing output... [ 44%] announce/release-4.5.0 writing output... [ 45%] announce/release-4.6.0 writing output... [ 45%] announce/release-4.6.1 writing output... [ 46%] announce/release-4.6.2 writing output... [ 46%] announce/release-4.6.3 writing output... [ 46%] announce/release-4.6.4 writing output... [ 47%] announce/release-4.6.5 writing output... [ 47%] announce/release-4.6.6 writing output... [ 48%] announce/release-4.6.7 writing output... [ 48%] announce/release-4.6.8 writing output... [ 49%] announce/release-4.6.9 writing output... [ 49%] announce/release-5.0.0 writing output... [ 50%] announce/release-5.0.1 writing output... [ 50%] announce/release-5.1.0 writing output... [ 50%] announce/release-5.1.1 writing output... [ 51%] announce/release-5.1.2 writing output... [ 51%] announce/release-5.1.3 writing output... [ 52%] announce/release-5.2.0 writing output... [ 52%] announce/release-5.2.1 writing output... [ 53%] announce/release-5.2.2 writing output... [ 53%] announce/release-5.2.3 writing output... [ 54%] announce/release-5.2.4 writing output... [ 54%] announce/release-5.3.0 writing output... [ 54%] announce/release-5.3.1 writing output... [ 55%] announce/release-5.3.2 writing output... [ 55%] announce/release-5.3.3 writing output... [ 56%] announce/release-5.3.4 writing output... [ 56%] announce/release-5.3.5 writing output... [ 57%] announce/release-5.4.0 writing output... [ 57%] announce/release-5.4.1 writing output... [ 58%] announce/release-5.4.2 writing output... [ 58%] announce/release-5.4.3 writing output... [ 58%] announce/release-6.0.0 writing output... [ 59%] announce/release-6.0.0rc1 writing output... [ 59%] announce/release-6.0.1 writing output... [ 60%] announce/release-6.0.2 writing output... [ 60%] announce/release-6.1.0 writing output... [ 61%] announce/release-6.1.1 writing output... [ 61%] announce/release-6.1.2 writing output... [ 62%] announce/release-6.2.0 writing output... [ 62%] announce/release-6.2.1 writing output... [ 62%] announce/release-6.2.2 writing output... [ 63%] announce/release-6.2.3 writing output... [ 63%] announce/release-6.2.4 writing output... [ 64%] announce/release-6.2.5 writing output... [ 64%] announce/release-7.0.0 writing output... [ 65%] announce/release-7.0.0rc1 writing output... [ 65%] announce/release-7.0.1 writing output... [ 65%] announce/release-7.1.0 writing output... [ 66%] announce/release-7.1.1 writing output... [ 66%] announce/release-7.1.2 writing output... [ 67%] announce/release-7.1.3 writing output... [ 67%] announce/release-7.2.0 writing output... [ 68%] announce/release-7.2.1 writing output... [ 68%] announce/release-7.2.2 writing output... [ 69%] announce/release-7.3.0 writing output... [ 69%] announce/release-7.3.1 writing output... [ 69%] announce/release-7.3.2 writing output... [ 70%] announce/release-7.4.0 writing output... [ 70%] announce/release-7.4.1 writing output... [ 71%] announce/release-7.4.2 writing output... [ 71%] announce/release-7.4.3 writing output... [ 72%] announce/sprint2016 writing output... [ 72%] backwards-compatibility writing output... [ 73%] builtin writing output... [ 73%] changelog writing output... [ 73%] contact writing output... [ 74%] contents writing output... [ 74%] contributing writing output... [ 75%] deprecations writing output... [ 75%] development_guide writing output... [ 76%] example/index writing output... [ 76%] example/markers writing output... [ 77%] example/nonpython writing output... [ 77%] example/parametrize writing output... [ 77%] example/pythoncollection writing output... [ 78%] example/reportingdemo writing output... [ 78%] example/simple writing output... [ 79%] example/special writing output... [ 79%] explanation/anatomy writing output... [ 80%] explanation/fixtures writing output... [ 80%] explanation/flaky writing output... [ 81%] explanation/goodpractices writing output... [ 81%] explanation/index writing output... [ 81%] explanation/pythonpath writing output... [ 82%] funcarg_compare writing output... [ 82%] getting-started writing output... [ 83%] historical-notes writing output... [ 83%] history writing output... [ 84%] how-to/assert writing output... [ 84%] how-to/bash-completion writing output... [ 85%] how-to/cache writing output... [ 85%] how-to/capture-stdout-stderr writing output... [ 85%] how-to/capture-warnings writing output... [ 86%] how-to/doctest writing output... [ 86%] how-to/existingtestsuite writing output... [ 87%] how-to/failures writing output... [ 87%] how-to/fixtures writing output... [ 88%] how-to/index writing output... [ 88%] how-to/logging writing output... [ 88%] how-to/mark writing output... [ 89%] how-to/monkeypatch writing output... [ 89%] how-to/nose writing output... [ 90%] how-to/output writing output... [ 90%] how-to/parametrize writing output... [ 91%] how-to/plugins writing output... [ 91%] how-to/skipping writing output... [ 92%] how-to/tmp_path writing output... [ 92%] how-to/unittest writing output... [ 92%] how-to/usage writing output... [ 93%] how-to/writing_hook_functions writing output... [ 93%] how-to/writing_plugins writing output... [ 94%] how-to/xunit_setup writing output... [ 94%] index writing output... [ 95%] license writing output... [ 95%] proposals/parametrize_with_fixtures writing output... [ 96%] recwarn writing output... [ 96%] reference/customize writing output... [ 96%] reference/exit-codes writing output... [ 97%] reference/fixtures writing output... [ 97%] reference/index writing output... [ 98%] reference/plugin_list writing output... [ 98%] reference/reference writing output... [ 99%] sponsor writing output... [ 99%] talks writing output... [100%] tidelift writing output... [100%] yieldfixture generating indices... py-modindex done highlighting module code... [ 3%] _pytest._code.code highlighting module code... [ 7%] _pytest.assertion highlighting module code... [ 10%] _pytest.cacheprovider highlighting module code... [ 13%] _pytest.capture highlighting module code... [ 17%] _pytest.config highlighting module code... [ 20%] _pytest.config.argparsing highlighting module code... [ 23%] _pytest.config.exceptions highlighting module code... [ 27%] _pytest.doctest highlighting module code... [ 30%] _pytest.fixtures highlighting module code... [ 33%] _pytest.freeze_support highlighting module code... [ 37%] _pytest.hookspec highlighting module code... [ 40%] _pytest.junitxml highlighting module code... [ 43%] _pytest.legacypath highlighting module code... [ 47%] _pytest.logging highlighting module code... [ 50%] _pytest.main highlighting module code... [ 53%] _pytest.mark highlighting module code... [ 57%] _pytest.mark.structures highlighting module code... [ 60%] _pytest.monkeypatch highlighting module code... [ 63%] _pytest.nodes highlighting module code... [ 67%] _pytest.outcomes highlighting module code... [ 70%] _pytest.pytester highlighting module code... [ 73%] _pytest.python highlighting module code... [ 77%] _pytest.python_api highlighting module code... [ 80%] _pytest.recwarn highlighting module code... [ 83%] _pytest.reports highlighting module code... [ 87%] _pytest.runner highlighting module code... [ 90%] _pytest.stash highlighting module code... [ 93%] _pytest.terminal highlighting module code... [ 97%] _pytest.tmpdir highlighting module code... [100%] builtins writing additional pages... search done copying images... [ 8%] img/freiburg2.jpg copying images... [ 17%] example/fixtures/test_fixtures_request_different_scope.svg copying images... [ 25%] example/fixtures/fixture_availability.svg copying images... [ 33%] example/fixtures/fixture_availability_plugins.svg copying images... [ 42%] example/fixtures/test_fixtures_order_scope.svg copying images... [ 50%] example/fixtures/test_fixtures_order_dependencies.svg copying images... [ 58%] example/fixtures/test_fixtures_order_dependencies_flat.svg copying images... [ 67%] example/fixtures/test_fixtures_order_dependencies_unclear.svg copying images... [ 75%] example/fixtures/test_fixtures_order_autouse.svg copying images... [ 83%] example/fixtures/test_fixtures_order_autouse_flat.svg copying images... [ 92%] example/fixtures/test_fixtures_order_autouse_multiple_scopes.svg copying images... [100%] example/fixtures/test_fixtures_order_autouse_temp_effects.svg dumping search index in English (code: en)... done dumping object inventory... done build succeeded, 36 warnings. The HTML pages are in _build/html. make: Leaving directory '/builddir/build/BUILD/pytest-7.4.3/doc/en' WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://numpy.org/doc/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='numpy.org', port=443): Max retries exceeded with url: /doc/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://pluggy.readthedocs.io/en/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='pluggy.readthedocs.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://virtualenv.pypa.io/en/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='virtualenv.pypa.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://setuptools.pypa.io/en/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='setuptools.pypa.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://pip.pypa.io/en/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='pip.pypa.io', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://tox.wiki/en/stable/objects.inv' not fetchable due to : HTTPSConnectionPool(host='tox.wiki', port=443): Max retries exceeded with url: /en/stable/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://docs.python.org/3/objects.inv' not fetchable due to : HTTPSConnectionPool(host='docs.python.org', port=443): Max retries exceeded with url: /3/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) WARNING: failed to reach any of the inventories with the following issues: intersphinx inventory 'https://packaging.python.org/en/latest/objects.inv' not fetchable due to : HTTPSConnectionPool(host='packaging.python.org', port=443): Max retries exceeded with url: /en/latest/objects.inv (Caused by NewConnectionError(': Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')) /builddir/build/BUILD/pytest-7.4.3/doc/en/changelog.rst:4134: WARNING: unknown document: 'numpy:release/1.16.0-notes' /builddir/build/BUILD/pytest-7.4.3/doc/en/explanation/goodpractices.rst:10: WARNING: unknown document: 'pip:index' /builddir/build/BUILD/pytest-7.4.3/doc/en/explanation/goodpractices.rst:15: WARNING: unknown document: 'packaging:tutorials/packaging-projects' /builddir/build/BUILD/pytest-7.4.3/doc/en/explanation/goodpractices.rst:272: WARNING: unknown document: 'tox:index' /builddir/build/BUILD/pytest-7.4.3/doc/en/getting-started.rst:73: WARNING: undefined label: 'python:assert' /builddir/build/BUILD/pytest-7.4.3/doc/en/getting-started.rst:73: WARNING: undefined label: 'testcase-objects' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/capture-warnings.rst:50: WARNING: unknown option: 'python:-W' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/doctest.rst:98: WARNING: undefined label: 'python:option-flags-and-directives' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:21: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:24: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:27: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:27: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:58: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/failures.rst:61: WARNING: unknown document: 'python:library/pdb' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/logging.rst:184: WARNING: undefined label: 'python:levels' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/logging.rst:207: WARNING: undefined label: 'python:levels' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/unittest.rst:33: WARNING: undefined label: 'python:subtests' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/writing_hook_functions.rst:102: WARNING: undefined label: 'pluggy:hookwrappers' /builddir/build/BUILD/pytest-7.4.3/doc/en/how-to/writing_plugins.rst:148: WARNING: unknown document: 'setuptools:index' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/python_api.py:docstring of _pytest.python_api.approx:4: WARNING: unknown document: 'python:tutorial/floatingpoint' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/python_api.py:docstring of _pytest.python_api.approx:125: WARNING: unknown document: 'numpy:reference/generated/numpy.isclose' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/python_api.py:docstring of _pytest.python_api.approx:149: WARNING: unknown document: 'numpy:reference/routines.testing' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/python_api.py:docstring of _pytest.python_api.raises:11: WARNING: undefined label: 're-syntax' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/python_api.py:docstring of _pytest.python_api.raises:103: WARNING: undefined label: 'python:try' /builddir/build/BUILD/pytest-7.4.3/doc/en/reference/reference.rst:155: WARNING: undefined label: 'python:warning-filter' /builddir/build/BUILD/pytest-7.4.3/src/_pytest/monkeypatch.py:docstring of _pytest.monkeypatch.MonkeyPatch.setattr:31: WARNING: undefined label: 'python:where-to-patch' /builddir/build/BUILD/pytest-7.4.3/doc/en/docstring of pytest.PytestPluginManager.hook:1: WARNING: undefined label: 'calling' /builddir/build/BUILD/pytest-7.4.3/doc/en/docstring of pytest.PytestPluginManager.trace:1: WARNING: undefined label: 'tracing' + for f in README CHANGELOG CONTRIBUTING + rst2html README.rst + for f in README CHANGELOG CONTRIBUTING + rst2html CHANGELOG.rst + for f in README CHANGELOG CONTRIBUTING + rst2html CONTRIBUTING.rst CONTRIBUTING.rst:56: (ERROR/3) Unknown interpreted text role "ref". CONTRIBUTING.rst:68: (ERROR/3) Unknown interpreted text role "ref". + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.CANqME + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch ++ dirname /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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-7.4.3 ++ xargs basename --multiple ++ ls /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir/pytest-7.4.3-py3-none-any.whl ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=pytest==7.4.3 + '[' -z pytest==7.4.3 ']' + TMPDIR=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch --prefix /usr --no-deps --disable-pip-version-check --progress-bar off --verbose --ignore-installed --no-warn-script-location --no-index --no-cache-dir --find-links /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir pytest==7.4.3 Using pip 23.3.2 from /usr/lib/python3.12/site-packages/pip (python 3.12) Looking in links: /builddir/build/BUILD/pytest-7.4.3/pyproject-wheeldir Processing ./pyproject-wheeldir/pytest-7.4.3-py3-none-any.whl Installing collected packages: pytest Creating /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin changing mode of /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test to 755 changing mode of /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest to 755 Successfully installed pytest-7.4.3 + '[' -d /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin ']' + '[' -z P ']' + shebang_flags=-kaP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kaP /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test: updating /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest: updating + rm -rfv /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages ']' + site_dirs+=("/usr/lib/python3.12/site-packages") + '[' /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib64/python3.12/site-packages '!=' /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages ']' + '[' -d /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib64/python3.12/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch --record /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/RECORD --output /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-record + rm -fv /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/RECORD removed '/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/RECORD' + rm -fv /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/REQUESTED removed '/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/pytest-7.4.3.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_PERCENTAGES_COUNT=2 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-files --output-modules /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-modules --buildroot /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch --sitelib /usr/lib/python3.12/site-packages --sitearch /usr/lib64/python3.12/site-packages --python-version 3.12 --pyproject-record /builddir/build/BUILD/pytest-7.4.3-3.fc40.noarch-pyproject-record --prefix /usr _pytest pytest py + mv /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest-3.12 + ln -snf pytest-3.12 /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest-3 + mv /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test-3.12 + ln -snf py.test-3.12 /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test-3 + ln -snf pytest-3.12 /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest + ln -snf py.test-3.12 /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/py.test + mkdir -p _htmldocs/html + for l in doc/* + rm doc/en/_build/html/.buildinfo + mv doc/en/_build/html _htmldocs/html/en + find /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages -name '*.py' -exec sed -i -e '1{/^#!/d}' '{}' ';' + /usr/bin/find-debuginfo -j8 --strict-build-id -m -i --build-id-seed 7.4.3-3.fc40 --unique-debug-suffix -7.4.3-3.fc40.noarch --unique-debug-src-base pytest-7.4.3-3.fc40.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/pytest-7.4.3 find-debuginfo: starting Extracting debug info from 0 files Creating .debug symlinks for symlinks to ELF files find: ‘debug’: No such file or directory find-debuginfo: done + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/check-rpaths + /usr/lib/rpm/redhat/brp-mangle-shebangs + /usr/lib/rpm/brp-remove-la-files + env /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0 -j8 Bytecompiling .py files below /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12 using python3.12 + /usr/lib/rpm/redhat/brp-python-hardlink Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.3iGpA0 + umask 022 + cd /builddir/build/BUILD + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer -I/usr/lib/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-Wl,-z,relro -Clink-arg=-Wl,-z,now --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -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-7.4.3 + CFLAGS='-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fno-omit-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -Wl,--build-id=sha1 ' + PATH=/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib64/python3.12/site-packages:/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/pytest-7.4.3/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=8 + /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/bin/pytest testing --timeout=30 -n auto -rs ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /builddir/build/BUILD/pytest-7.4.3 configfile: pyproject.toml plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 timeout: 30.0s timeout method: signal timeout func_only: False created: 8/8 workers 8 workers [3468 items] .s........................................................................ [ 2%] ..........................................s...s......................... [ 4%] ........................................................................ [ 6%] ...........s............................................................ [ 8%] .................s....................................................x. [ 10%] ......................................................................... [ 12%] .............s........................................................... [ 14%] ........................................................................ [ 16%] ........................................................................ [ 18%] ......................................................................... [ 20%] ........................................................................ [ 22%] .............s..........................x............................... [ 25%] ........................................................................ [ 27%] ........................................................................ [ 29%] ........................................................................ [ 31%] ..............................................................Fs........ [ 33%] ...................................................sssss.ss............. [ 35%] ..............F.......................................................... [ 37%] ........................................................................ [ 39%] ..x.........................F........................................... [ 41%] ...................................................................x.... [ 43%] .................................................................x...... [ 45%] ......................................x................................. [ 47%] .............................................................s........... [ 50%] s........................................................................ [ 52%] ........................................................................ [ 54%] ...................x.....F............................................... [ 56%] ............................................................F..F........ [ 58%] ........................................................................ [ 60%] .................................s.......................E.............. [ 62%] ............................................................F........... [ 64%] ........................................................F........x.F.... [ 66%] ......................................................................... [ 68%] .....................F..............x................................... [ 70%] .....................................x.................................. [ 72%] ........................................................................ [ 75%] ................................F..............................sss...... [ 77%] ..........ss.s.ss.........................s..................F.......... [ 79%] ...................F......................F............................. [ 81%] ................F........................................................ [ 83%] ...............F....sss..s.........................................F..... [ 85%] .....................................................................x.. [ 87%] ........................................................................ [ 89%] ........................................................................ [ 91%] ......................................................................... [ 93%] .................s.............F......F....FF.F..FF.....FFx.F..FFFF...FF [ 95%] ....F.F...FFF..F.xFFF.F.x.sF.FxF....FE.xFF....F..xFF....F............... [ 97%] ....................................................FFF..F...F..x....... [100%] ==================================== ERRORS ==================================== ___________ ERROR at setup of TestPython.test_summing_simple[xunit1] ___________ [gw1] linux -- Python 3.12.0 /usr/bin/python3 cls = func = . at 0xffffff87158900> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:262: in lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: in __call__ return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:83: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: yield if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib64/python3.12/subprocess.py", line 1127, in __del__ E _warn("subprocess %s is still running" % self.pid, E ResourceWarning: subprocess 779543 is still running /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning _ ERROR at teardown of TestCaptureFixture.test_keyboardinterrupt_disables_capturing _ [gw0] linux -- Python 3.12.0 /usr/bin/python3 E Failed: Timeout >30.0s All traceback entries are hidden. Pass `--full-trace` to see hidden and internal frames. ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_keyboardinterrupt_disables_capturing0/runpytest-0 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_keyboardinterrupt_disables_capturing0/test_keyboardinterrupt_disables_capturing.py in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_keyboardinterrupt_disables_capturing0 ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_keyboardinterrupt_disables_capturing0 collected 1 item test_keyboardinterrupt_disables_capturing.py !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_keyboardinterrupt_disables_capturing0/test_keyboardinterrupt_disables_capturing.py:4: KeyboardInterrupt (to show a full traceback on KeyboardInterrupt use --full-trace) ============================ no tests ran in 11.18s ============================ --------------------------- Captured stderr teardown --------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592330842496) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) =================================== FAILURES =================================== ____________ TestLocalPath.test_make_numbered_dir_multiprocess_safe ____________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = tmpdir = local('/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_make_numbered_dir_multipr0') @pytest.mark.xfail( reason="#11603", raises=(error.EEXIST, error.ENOENT), strict=False ) def test_make_numbered_dir_multiprocess_safe(self, tmpdir): # https://github.com/pytest-dev/py/issues/30 with multiprocessing.Pool() as pool: results = [ pool.apply_async(batch_make_numbered_dirs, [tmpdir, 100]) for _ in range(20) ] for r in results: > assert r.get() /builddir/build/BUILD/pytest-7.4.3/testing/_py/test_local.py:882: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/multiprocessing/pool.py:768: in get self.wait(timeout) /usr/lib64/python3.12/multiprocessing/pool.py:765: in wait self._event.wait(timeout) /usr/lib64/python3.12/threading.py:634: in wait signaled = self._cond.wait(timeout) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = , 0)> timeout = None def wait(self, timeout=None): """Wait until notified or until a timeout occurs. If the calling thread has not acquired the lock when this method is called, a RuntimeError is raised. This method releases the underlying lock, and then blocks until it is awakened by a notify() or notify_all() call for the same condition variable in another thread, or until the optional timeout occurs. Once awakened or timed out, it re-acquires the lock and returns. When the timeout argument is present and not None, it should be a floating point number specifying a timeout for the operation in seconds (or fractions thereof). When the underlying lock is an RLock, it is not released using its release() method, since this may not actually unlock the lock when it was acquired multiple times recursively. Instead, an internal interface of the RLock class is used, which really unlocks it even when it has been recursively acquired several times. Another internal interface is then used to restore the recursion level when the lock is reacquired. """ if not self._is_owned(): raise RuntimeError("cannot wait on un-acquired lock") waiter = _allocate_lock() waiter.acquire() self._waiters.append(waiter) saved_state = self._release_save() gotit = False try: # restore state no matter what (e.g., KeyboardInterrupt) if timeout is None: > waiter.acquire() E Failed: Timeout >30.0s /usr/lib64/python3.12/threading.py:334: Failed ----------------------------- Captured stderr call ----------------------------- +++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++ ~~~~~~~~~~~ Stack of Thread-3 (_handle_results) (72057591902945664) ~~~~~~~~~~~~ File "/usr/lib64/python3.12/threading.py", line 1009, in _bootstrap self._bootstrap_inner() File "/usr/lib64/python3.12/threading.py", line 1052, in _bootstrap_inner self.run() File "/usr/lib64/python3.12/threading.py", line 989, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/python3.12/multiprocessing/pool.py", line 579, in _handle_results task = get() File "/usr/lib64/python3.12/multiprocessing/connection.py", line 249, in recv buf = self._recv_bytes() File "/usr/lib64/python3.12/multiprocessing/connection.py", line 413, in _recv_bytes buf = self._recv(4) File "/usr/lib64/python3.12/multiprocessing/connection.py", line 378, in _recv chunk = read(handle, remaining) ~~~~~~~~~~~~ Stack of Thread-2 (_handle_tasks) (72057591911338368) ~~~~~~~~~~~~~ File "/usr/lib64/python3.12/threading.py", line 1009, in _bootstrap self._bootstrap_inner() File "/usr/lib64/python3.12/threading.py", line 1052, in _bootstrap_inner self.run() File "/usr/lib64/python3.12/threading.py", line 989, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/python3.12/multiprocessing/pool.py", line 531, in _handle_tasks for taskseq, set_length in iter(taskqueue.get, None): ~~~~~~~~~~~ Stack of Thread-1 (_handle_workers) (72057591919731072) ~~~~~~~~~~~~ File "/usr/lib64/python3.12/threading.py", line 1009, in _bootstrap self._bootstrap_inner() File "/usr/lib64/python3.12/threading.py", line 1052, in _bootstrap_inner self.run() File "/usr/lib64/python3.12/threading.py", line 989, in run self._target(*self._args, **self._kwargs) File "/usr/lib64/python3.12/multiprocessing/pool.py", line 522, in _handle_workers cls._wait_for_updates(current_sentinels, change_notifier) File "/usr/lib64/python3.12/multiprocessing/pool.py", line 503, in _wait_for_updates while not change_notifier.empty(): File "/usr/lib64/python3.12/multiprocessing/connection.py", line 1110, in wait with _WaitSelector() as selector: File "/usr/lib64/python3.12/selectors.py", line 428, in select return ready ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) +++++++++++++++++++++++++++++++++++ Timeout ++++++++++++++++++++++++++++++++++++ ______________________ TestInvocationVariants.test_pydoc _______________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pydoc(self, pytester: Pytester) -> None: > result = pytester.runpython_c("import pytest;help(pytest)") /builddir/build/BUILD/pytest-7.4.3/testing/acceptance_test.py:515: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/pytester.py:1485: in runpython_c return self.run(sys.executable, "-c", command) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/pytester.py:1472: in _dump_lines print(line, file=fp) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = > ??? E Failed: Timeout >30.0s :327: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -c import pytest;help(pytest) in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pydoc0 Help on package pytest: NAME pytest - pytest: unit and functional testing with Python. PACKAGE CONTENTS __main__ CLASSES _pytest.nodes.FSCollector(_pytest.nodes.Collector) _pytest.main.Session _pytest.nodes.File _pytest.python.Module(_pytest.nodes.File, _pytest.python.PyCollector) _pytest.python.Package _pytest.nodes.Node(builtins.object) _pytest.nodes.Collector _pytest.nodes.Item _pytest.doctest.DoctestItem _pytest.python.Function(_pytest.python.PyobjMixin, _pytest.nodes.Item) _pytest.python.PyCollector(_pytest.python.PyobjMixin, _pytest.nodes.Collector) _pytest.python.Class _pytest.python.PyobjMixin(_pytest.nodes.Node) _pytest.python.Function(_pytest.python.PyobjMixin, _pytest.nodes.Item) _pytest.reports.BaseReport(builtins.object) _pytest.reports.CollectReport _pytest.reports.TestReport builtins.Exception(builtins.BaseException) _pytest.config.exceptions.UsageError builtins.LookupError(builtins.Exception) _pytest.fixtures.FixtureLookupError builtins.UserWarning(builtins.Warning) PytestWarning PytestAssertRewriteWarning PytestCacheWarning PytestCollectionWarning PytestConfigWarning PytestDeprecationWarning(PytestWarning, builtins.DeprecationWarning) PytestRemovedIn8Warning PytestReturnNotNoneWarning PytestUnhandledCoroutineWarning PytestExperimentalApiWarning(PytestWarning, builtins.FutureWarning) PytestUnhandledThreadExceptionWarning PytestUnknownMarkWarning PytestUnraisableExceptionWarning builtins.object _pytest.cacheprovider.Cache _pytest.config.Config _pytest.config.cmdline _pytest.config.argparsing.OptionGroup _pytest.config.argparsing.Parser _pytest.fixtures.FixtureRequest _pytest.legacypath.TempdirFactory _pytest.legacypath.Testdir _pytest.logging.LogCaptureFixture _pytest.mark.structures.Mark _pytest.mark.structures.MarkDecorator _pytest.mark.structures.MarkGenerator _pytest.monkeypatch.MonkeyPatch _pytest.pytester.HookRecorder _pytest.pytester.LineMatcher _pytest.pytester.Pytester _pytest.pytester.RecordedHookCall _pytest.pytester.RunResult _pytest.python.Metafunc _pytest.stash.Stash _pytest.tmpdir.TempPathFactory builtins.tuple(builtins.object) _pytest.terminal.TestShortLogReport enum.IntEnum(builtins.int, enum.ReprEnum) _pytest.config.ExitCode pluggy._manager.PluginManager(builtins.object) _pytest.config.PytestPluginManager typing.Generic(builtins.object) _pytest._code.code.ExceptionInfo _pytest.capture.CaptureFixture _pytest.runner.CallInfo _pytest.stash.StashKey warnings.catch_warnings(builtins.object) _pytest.recwarn.WarningsRecorder class Cache(builtins.object) | Cache(cachedir: pathlib.Path, config: _pytest.config.Config, *, _ispytest: bool = False) -> None | | Instance of the `cache` fixture. | | Methods defined here: | | __eq__(self, other) | Return self==value. | | __init__(self, cachedir: pathlib.Path, config: _pytest.config.Config, *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) | Return repr(self). | | get(self, key: str, default) | Return the cached value for the given key. | | If no value was yet cached or the value cannot be read, the specified | default is returned. | | :param key: | Must be a ``/`` separated value. Usually the first | name is the name of your plugin or your application. | :param default: | The value to return in case of a cache-miss or invalid cache value. | | mkdir(self, name: str) -> pathlib.Path | Return a directory path object with the given name. | | If the directory does not yet exist, it will be created. You can use | it to manage files to e.g. store/retrieve database dumps across test | sessions. | | .. versionadded:: 7.0 | | :param name: | Must be a string not containing a ``/`` separator. | Make sure the name contains your plugin or application | identifiers to prevent clashes with other cache users. | | set(self, key: str, value: object) -> None | Save value for the given key. | | :param key: | Must be a ``/`` separated value. Usually the first | name is the name of your plugin or your application. | :param value: | Must be of any combination of basic python types, | including nested types like lists of dictionaries. | | warn(self, fmt: str, *, _ispytest: bool = False, **args: object) -> None | Issue a cache warning. | | :meta private: | | ---------------------------------------------------------------------- | Class methods defined here: | | clear_cache(cachedir: pathlib.Path, _ispytest: bool = False) -> None from builtins.type | Clear the sub-directories used to hold cached directories and values. | | :meta private: | | for_config(config: _pytest.config.Config, *, _ispytest: bool = False) -> 'Cache' from builtins.type | Create the Cache instance for a Config. | | :meta private: | | ---------------------------------------------------------------------- | Static methods defined here: | | cache_dir_from_config(config: _pytest.config.Config, *, _ispytest: bool = False) -> pathlib.Path | Get the path to the cache directory for a Config. | | :meta private: | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {'_cachedir': , '_config': None | | Result/Exception info of a function invocation. | | Method resolution order: | CallInfo | typing.Generic | builtins.object | | Methods defined here: | | __eq__(self, other) | Return self==value. | | __init__(self, result: Optional[+TResult], excinfo: Optional[_pytest._code.code.ExceptionInfo[BaseException]], start: float, stop: float, duration: float, when: "Literal['collect', 'setup', 'call', 'teardown']", *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | ---------------------------------------------------------------------- | Class methods defined here: | | from_call(func: 'Callable[[], TResult]', when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Union[Type[BaseException], Tuple[Type[BaseException], ...], NoneType] = None) -> 'CallInfo[TResult]' from builtins.type | Call func, wrapping the result in a CallInfo. | | :param func: | The function to call. Called without arguments. | :param when: | The phase in which the function is called. | :param reraise: | Exception or exceptions that shall propagate if raised by the | function, instead of being wrapped in the CallInfo. | | ---------------------------------------------------------------------- | Readonly properties defined here: | | result | The return value of the call, if it didn't raise. | | Can only be accessed if excinfo is None. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {'_result': typing.Optional[+TResult], 'duration': <... | | __dataclass_fields__ = {'_result': Field(name='_result',type=typing.Op... | | __dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,or... | | __final__ = True | | __hash__ = None | | __match_args__ = ('_result', 'excinfo', 'start', 'stop', 'duration', '... | | __orig_bases__ = (typing.Generic[+TResult],) | | __parameters__ = (+TResult,) | | ---------------------------------------------------------------------- | Class methods inherited from typing.Generic: | | __class_getitem__(...) from builtins.type | Parameterizes a generic class. | | At least, parameterizing a generic class is the *main* thing this | method does. For example, for some generic class `Foo`, this is called | when we do `Foo[int]` - there, with `cls=Foo` and `params=int`. | | However, note that this method is also called when defining generic | classes in the first place with `class Foo[T]: ...`. | | __init_subclass__(...) from builtins.type | Function to initialize subclasses. class CaptureFixture(typing.Generic) | CaptureFixture(captureclass: Type[_pytest.capture.CaptureBase[~AnyStr]], request: _pytest.fixtures.SubRequest, *, _ispytest: bool = False) -> None | | Object returned by the :fixture:`capsys`, :fixture:`capsysbinary`, | :fixture:`capfd` and :fixture:`capfdbinary` fixtures. | | Method resolution order: | CaptureFixture | typing.Generic | builtins.object | | Methods defined here: | | __init__(self, captureclass: Type[_pytest.capture.CaptureBase[~AnyStr]], request: _pytest.fixtures.SubRequest, *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | close(self) -> None | | disabled(self) -> Generator[NoneType, NoneType, NoneType] | Temporarily disable capturing while inside the ``with`` block. | | readouterr(self) -> _pytest.capture.CaptureResult[~AnyStr] | Read and return the captured output so far, resetting the internal | buffer. | | :returns: | The captured content as a namedtuple with ``out`` and ``err`` | string attributes. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | __orig_bases__ = (typing.Generic[~AnyStr],) | | __parameters__ = (~AnyStr,) | | ---------------------------------------------------------------------- | Class methods inherited from typing.Generic: | | __class_getitem__(...) from builtins.type | Parameterizes a generic class. | | At least, parameterizing a generic class is the *main* thing this | method does. For example, for some generic class `Foo`, this is called | when we do `Foo[int]` - there, with `cls=Foo` and `params=int`. | | However, note that this method is also called when defining generic | classes in the first place with `class Foo[T]: ...`. | | __init_subclass__(...) from builtins.type | Function to initialize subclasses. class Class(PyCollector) | Class(*k, **kw) | | Collector for test methods (and nested classes) in a Python class. | | Method resolution order: | Class | PyCollector | PyobjMixin | _pytest.nodes.Collector | _pytest.nodes.Node | builtins.object | | Methods defined here: | | collect(self) -> Iterable[Union[_pytest.nodes.Item, _pytest.nodes.Collector]] | Collect children (items and collectors) for this collector. | | newinstance(self) | | ---------------------------------------------------------------------- | Class methods defined here: | | from_parent(parent, *, name, obj=None, **kw) from _pytest.nodes.NodeMeta | The public constructor. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | ---------------------------------------------------------------------- | Methods inherited from PyCollector: | | classnamefilter(self, name: str) -> bool | | funcnamefilter(self, name: str) -> bool | | isnosetest(self, obj: object) -> bool | Look for the __test__ attribute, which is applied by the | @nose.tools.istest decorator. | | istestclass(self, obj: object, name: str) -> bool | | istestfunction(self, obj: object, name: str) -> bool | | ---------------------------------------------------------------------- | Methods inherited from PyobjMixin: | | getmodpath(self, stopatmodule: bool = True, includemodule: bool = False) -> str | Return Python path relative to the containing module. | | reportinfo(self) -> Tuple[Union[ForwardRef('os.PathLike[str]'), str], Optional[int], str] | | ---------------------------------------------------------------------- | Readonly properties inherited from PyobjMixin: | | cls | Python class object this node was collected from (can be None). | | instance | Python instance object the function is bound to. | | Returns None if not a test method, e.g. for a standalone test function, | a staticmethod, a class or a module. | | module | Python module object this node was collected from (can be None). | | ---------------------------------------------------------------------- | Data descriptors inherited from PyobjMixin: | | __weakref__ | list of weak references to the object (if defined) | | obj | Underlying Python object. | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Collector: | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException]) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection failure. | | :param excinfo: Exception information for the failure. | | ---------------------------------------------------------------------- | Data and other attributes inherited from _pytest.nodes.Collector: | | CollectError = | An error during collection, contains a custom message. | | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Node: | | __hash__(self) -> int | Return hash(self). | | __init__(self, name: str, parent: 'Optional[Node]' = None, config: Optional[_pytest.config.Config] = None, session: 'Optional[Session]' = None, fspath: Optional[_pytest._py.path.LocalPath] = None, path: Optional[pathlib.Path] = None, nodeid: Optional[str] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | setup(self) -> None | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Readonly properties inherited from _pytest.nodes.Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from _pytest.nodes.Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class CollectReport(BaseReport) | CollectReport(nodeid: str, outcome: "Literal['passed', 'failed', 'skipped']", longrepr: Union[NoneType, _pytest._code.code.ExceptionInfo[BaseException], Tuple[str, int, str], str, _pytest._code.code.TerminalRepr], result: Optional[List[Union[_pytest.nodes.Item, _pytest.nodes.Collector]]], sections: Iterable[Tuple[str, str]] = (), **extra) -> None | | Collection report object. | | Reports can contain arbitrary extra attributes. | | Method resolution order: | CollectReport | BaseReport | builtins.object | | Methods defined here: | | __init__(self, nodeid: str, outcome: "Literal['passed', 'failed', 'skipped']", longrepr: Union[NoneType, _pytest._code.code.ExceptionInfo[BaseException], Tuple[str, int, str], str, _pytest._code.code.TerminalRepr], result: Optional[List[Union[_pytest.nodes.Item, _pytest.nodes.Collector]]], sections: Iterable[Tuple[str, str]] = (), **extra) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | ---------------------------------------------------------------------- | Readonly properties defined here: | | location | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | __final__ = True | | when = 'collect' | | ---------------------------------------------------------------------- | Methods inherited from BaseReport: | | get_sections(self, prefix: str) -> Iterator[Tuple[str, str]] | | toterminal(self, out: _pytest._io.terminalwriter.TerminalWriter) -> None | | ---------------------------------------------------------------------- | Readonly properties inherited from BaseReport: | | caplog | Return captured log lines, if log capturing is enabled. | | .. versionadded:: 3.5 | | capstderr | Return captured text from stderr, if capturing is enabled. | | .. versionadded:: 3.0 | | capstdout | Return captured text from stdout, if capturing is enabled. | | .. versionadded:: 3.0 | | count_towards_summary | **Experimental** Whether this report should be counted towards the | totals shown at the end of the test session: "1 passed, 1 failure, etc". | | .. note:: | | This function is considered **experimental**, so beware that it is subject to changes | even in patch releases. | | failed | Whether the outcome is failed. | | fspath | The path portion of the reported node, as a string. | | head_line | **Experimental** The head line shown with longrepr output for this | report, more commonly during traceback representation during | failures:: | | ________ Test.foo ________ | | | In the example above, the head_line is "Test.foo". | | .. note:: | | This function is considered **experimental**, so beware that it is subject to changes | even in patch releases. | | longreprtext | Read-only property that returns the full string representation of | ``longrepr``. | | .. versionadded:: 3.0 | | passed | Whether the outcome is passed. | | skipped | Whether the outcome is skipped. | | ---------------------------------------------------------------------- | Data descriptors inherited from BaseReport: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) class Collector(Node) | Collector(*k, **kw) | | Base class of all collectors. | | Collector create children through `collect()` and thus iteratively build | the collection tree. | | Method resolution order: | Collector | Node | builtins.object | | Methods defined here: | | collect(self) -> Iterable[Union[ForwardRef('Item'), ForwardRef('Collector')]] | Collect children (items and collectors) for this collector. | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException]) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection failure. | | :param excinfo: Exception information for the failure. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | CollectError = | An error during collection, contains a custom message. | | | __annotations__ = {} | | ---------------------------------------------------------------------- | Methods inherited from Node: | | __hash__(self) -> int | Return hash(self). | | __init__(self, name: str, parent: 'Optional[Node]' = None, config: Optional[_pytest.config.Config] = None, session: 'Optional[Session]' = None, fspath: Optional[_pytest._py.path.LocalPath] = None, path: Optional[pathlib.Path] = None, nodeid: Optional[str] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | setup(self) -> None | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Class methods inherited from Node: | | from_parent(parent: 'Node', **kw) from _pytest.nodes.NodeMeta | Public constructor for Nodes. | | This indirection got introduced in order to enable removing | the fragile logic from the node constructors. | | Subclasses can use ``super().from_parent(...)`` when overriding the | construction. | | :param parent: The parent node of this Node. | | ---------------------------------------------------------------------- | Readonly properties inherited from Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class Config(builtins.object) | Config(pluginmanager: _pytest.config.PytestPluginManager, *, invocation_params: Optional[_pytest.config.Config.InvocationParams] = None) -> None | | Access to configuration values, pluginmanager and plugin hooks. | | :param PytestPluginManager pluginmanager: | A pytest PluginManager. | | :param InvocationParams invocation_params: | Object containing parameters regarding the :func:`pytest.main` | invocation. | | Methods defined here: | | __init__(self, pluginmanager: _pytest.config.PytestPluginManager, *, invocation_params: Optional[_pytest.config.Config.InvocationParams] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | add_cleanup(self, func: Callable[[], NoneType]) -> None | Add a function to be called when the config object gets out of | use (usually coinciding with pytest_unconfigure). | | addinivalue_line(self, name: str, line: str) -> None | Add a line to an ini-file option. The option must have been | declared but might not yet be set in which case the line becomes | the first line in its value. | | cwd_relative_nodeid(self, nodeid: str) -> str | | get_terminal_writer(self) -> _pytest._io.terminalwriter.TerminalWriter | | getini(self, name: str) | Return configuration value from an :ref:`ini file `. | | If the specified name hasn't been registered through a prior | :func:`parser.addini ` call (usually from a | plugin), a ValueError is raised. | | getoption(self, name: str, default=, skip: bool = False) | Return command line option value. | | :param name: Name of the option. You may also specify | the literal ``--OPT`` option instead of the "dest" option name. | :param default: Default value if no option of that name exists. | :param skip: If True, raise pytest.skip if option does not exists | or has a None value. | | getvalue(self, name: str, path=None) | Deprecated, use getoption() instead. | | getvalueorskip(self, name: str, path=None) | Deprecated, use getoption(skip=True) instead. | | issue_config_time_warning(self, warning: Warning, stacklevel: int) -> None | Issue and handle a warning during the "configure" stage. | | During ``pytest_configure`` we can't capture warnings using the ``catch_warnings_for_item`` | function because it is not possible to have hookwrappers around ``pytest_configure``. | | This function is mainly intended for plugins that need to issue warnings during | ``pytest_configure`` (or similar stages). | | :param warning: The warning instance. | :param stacklevel: stacklevel forwarded to warnings.warn. | | notify_exception(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException], option: Optional[argparse.Namespace] = None) -> None | | parse(self, args: List[str], addopts: bool = True) -> None | | pytest_cmdline_parse(self, pluginmanager: _pytest.config.PytestPluginManager, args: List[str]) -> 'Config' | | pytest_collection(self) -> Generator[NoneType, NoneType, NoneType] | | pytest_load_initial_conftests(self, early_config: 'Config') -> None | | ---------------------------------------------------------------------- | Class methods defined here: | | fromdictargs(option_dict, args) -> 'Config' from builtins.type | Constructor usable for subprocesses. | | ---------------------------------------------------------------------- | Readonly properties defined here: | | inipath | The path to the :ref:`configfile `. | | :type: Optional[pathlib.Path] | | .. versionadded:: 6.1 | | rootpath | The path to the :ref:`rootdir `. | | :type: pathlib.Path | | .. versionadded:: 6.1 | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | ArgsSource = | Indicates the source of the test arguments. | | .. versionadded:: 7.2 | | | InvocationParams = | Holds parameters passed during :func:`pytest.main`. | | The object attributes are read-only. | | .. versionadded:: 5.1 | | .. note:: | | Note that the environment variable ``PYTEST_ADDOPTS`` and the ``addopts`` | ini option are handled by pytest, not being included in the ``args`` attribute. | | Plugins accessing ``InvocationParams`` must be aware of that. | | | __final__ = True class DoctestItem(_pytest.nodes.Item) | DoctestItem(*k, **kw) | | Method resolution order: | DoctestItem | _pytest.nodes.Item | _pytest.nodes.Node | builtins.object | | Methods defined here: | | __init__(self, name: str, parent: 'Union[DoctestTextfile, DoctestModule]', runner: Optional[ForwardRef('doctest.DocTestRunner')] = None, dtest: Optional[ForwardRef('doctest.DocTest')] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | reportinfo(self) -> Tuple[Union[ForwardRef('os.PathLike[str]'), str], Optional[int], str] | Get location information for this item for test reports. | | Returns a tuple with three elements: | | - The path of the test (default ``self.path``) | - The 0-based line number of the test (default ``None``) | - A name of the test to be shown (default ``""``) | | .. seealso:: :ref:`non-python tests` | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException]) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection or test failure. | | .. seealso:: :ref:`non-python tests` | | :param excinfo: Exception information for the failure. | | runtest(self) -> None | Run the test case for this item. | | Must be implemented by subclasses. | | .. seealso:: :ref:`non-python tests` | | setup(self) -> None | | ---------------------------------------------------------------------- | Class methods defined here: | | from_parent(parent: 'Union[DoctestTextfile, DoctestModule]', *, name: str, runner: 'doctest.DocTestRunner', dtest: 'doctest.DocTest') from _pytest.nodes.NodeMeta | The public named constructor. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Item: | | add_report_section(self, when: str, key: str, content: str) -> None | Add a new report section, similar to what's done internally to add | stdout and stderr captured output:: | | item.add_report_section("call", "stdout", "report section contents") | | :param str when: | One of the possible capture states, ``"setup"``, ``"call"``, ``"teardown"``. | :param str key: | Name of the section, can be customized at will. Pytest uses ``"stdout"`` and | ``"stderr"`` internally. | :param str content: | The full contents as a string. | | location = | Returns a tuple of ``(relfspath, lineno, testname)`` for this item | where ``relfspath`` is file path relative to ``config.rootpath`` | and lineno is a 0-based line number. | | ---------------------------------------------------------------------- | Data descriptors inherited from _pytest.nodes.Item: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes inherited from _pytest.nodes.Item: | | nextitem = None | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Node: | | __hash__(self) -> int | Return hash(self). | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Readonly properties inherited from _pytest.nodes.Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from _pytest.nodes.Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class ExceptionInfo(typing.Generic) | ExceptionInfo(excinfo: Optional[Tuple[Type[ForwardRef('E')], ForwardRef('E'), traceback]], striptext: str = '', traceback: Optional[_pytest._code.code.Traceback] = None, *, _ispytest: bool = False) -> None | | Wraps sys.exc_info() objects and offers help for navigating the traceback. | | Method resolution order: | ExceptionInfo | typing.Generic | builtins.object | | Methods defined here: | | __eq__(self, other) | Return self==value. | | __init__(self, excinfo: Optional[Tuple[Type[ForwardRef('E')], ForwardRef('E'), traceback]], striptext: str = '', traceback: Optional[_pytest._code.code.Traceback] = None, *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | errisinstance(self, exc: Union[Type[BaseException], Tuple[Type[BaseException], ...]]) -> bool | Return True if the exception is an instance of exc. | | Consider using ``isinstance(excinfo.value, exc)`` instead. | | exconly(self, tryshort: bool = False) -> str | Return the exception as a string. | | When 'tryshort' resolves to True, and the exception is an | AssertionError, only the actual exception part of the exception | representation is returned (so 'AssertionError: ' is removed from | the beginning). | | fill_unfilled(self, exc_info: Tuple[Type[+E], +E, traceback]) -> None | Fill an unfilled ExceptionInfo created with ``for_later()``. | | getrepr(self, showlocals: bool = False, style: '_TracebackStyle' = 'long', abspath: bool = False, tbfilter: Union[bool, Callable[[ForwardRef('ExceptionInfo[BaseException]')], _pytest._code.code.Traceback]] = True, funcargs: bool = False, truncate_locals: bool = True, chain: bool = True) -> Union[ForwardRef('ReprExceptionInfo'), ForwardRef('ExceptionChainRepr')] | Return str()able representation of this exception info. | | :param bool showlocals: | Show locals per traceback entry. | Ignored if ``style=="native"``. | | :param str style: | long|short|line|no|native|value traceback style. | | :param bool abspath: | If paths should be changed to absolute or left unchanged. | | :param tbfilter: | A filter for traceback entries. | | * If false, don't hide any entries. | * If true, hide internal entries and entries that contain a local | variable ``__tracebackhide__ = True``. | * If a callable, delegates the filtering to the callable. | | Ignored if ``style`` is ``"native"``. | | :param bool funcargs: | Show fixtures ("funcargs" for legacy purposes) per traceback entry. | | :param bool truncate_locals: | With ``showlocals==True``, make sure locals can be safely represented as strings. | | :param bool chain: | If chained exceptions in Python 3 should be shown. | | .. versionchanged:: 3.9 | | Added the ``chain`` parameter. | | match(self, regexp: Union[str, Pattern[str]]) -> 'Literal[True]' | Check whether the regular expression `regexp` matches the string | representation of the exception using :func:`python:re.search`. | | If it matches `True` is returned, otherwise an `AssertionError` is raised. | | ---------------------------------------------------------------------- | Class methods defined here: | | for_later() -> 'ExceptionInfo[E]' from builtins.type | Return an unfilled ExceptionInfo. | | from_current(exprinfo: Optional[str] = None) -> 'ExceptionInfo[BaseException]' from builtins.type | Return an ExceptionInfo matching the current traceback. | | .. warning:: | | Experimental API | | :param exprinfo: | A text string helping to determine if we should strip | ``AssertionError`` from the output. Defaults to the exception | message/``__str__()``. | | from_exc_info(exc_info: Tuple[Type[+E], +E, traceback], exprinfo: Optional[str] = None) -> 'ExceptionInfo[E]' from builtins.type | Like :func:`from_exception`, but using old-style exc_info tuple. | | from_exception(exception: +E, exprinfo: Optional[str] = None) -> 'ExceptionInfo[E]' from builtins.type | Return an ExceptionInfo for an existing exception. | | The exception must have a non-``None`` ``__traceback__`` attribute, | otherwise this function fails with an assertion error. This means that | the exception must have been raised, or added a traceback with the | :py:meth:`~BaseException.with_traceback()` method. | | :param exprinfo: | A text string helping to determine if we should strip | ``AssertionError`` from the output. Defaults to the exception | message/``__str__()``. | | .. versionadded:: 7.4 | | ---------------------------------------------------------------------- | Readonly properties defined here: | | tb | The exception raw traceback. | | type | The exception class. | | typename | The type name of the exception. | | value | The exception value. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | traceback | The traceback. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {'_assert_start_repr': typing.ClassVar, '_excinfo': ... | | __dataclass_fields__ = {'_assert_start_repr': Field(name='_assert_star... | | __dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,or... | | __final__ = True | | __hash__ = None | | __match_args__ = ('_excinfo', '_striptext', '_traceback') | | __orig_bases__ = (typing.Generic[+E],) | | __parameters__ = (+E,) | | ---------------------------------------------------------------------- | Class methods inherited from typing.Generic: | | __class_getitem__(...) from builtins.type | Parameterizes a generic class. | | At least, parameterizing a generic class is the *main* thing this | method does. For example, for some generic class `Foo`, this is called | when we do `Foo[int]` - there, with `cls=Foo` and `params=int`. | | However, note that this method is also called when defining generic | classes in the first place with `class Foo[T]: ...`. | | __init_subclass__(...) from builtins.type | Function to initialize subclasses. class ExitCode(enum.IntEnum) | ExitCode(*values) | | Encodes the valid exit codes by pytest. | | Currently users and plugins may supply other exit codes as well. | | .. versionadded:: 5.0 | | Method resolution order: | ExitCode | enum.IntEnum | builtins.int | enum.ReprEnum | enum.Enum | builtins.object | | Methods defined here: | | __format__(self, format_spec, /) | Convert to a string according to format_spec. | | __new__(cls, value) | Create and return a new object. See help(type) for accurate signature. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | INTERNAL_ERROR = | | INTERRUPTED = | | NO_TESTS_COLLECTED = | | OK = | | TESTS_FAILED = | | USAGE_ERROR = | | ---------------------------------------------------------------------- | Methods inherited from enum.IntEnum: | | __repr__(self) | Return repr(self). | | __str__ = __repr__(self, /) | Return repr(self). | | ---------------------------------------------------------------------- | Methods inherited from builtins.int: | | __abs__(self, /) | abs(self) | | __add__(self, value, /) | Return self+value. | | __and__(self, value, /) | Return self&value. | | __bool__(self, /) | True if self else False | | __ceil__(...) | Ceiling of an Integral returns itself. | | __divmod__(self, value, /) | Return divmod(self, value). | | __eq__(self, value, /) | Return self==value. | | __float__(self, /) | float(self) | | __floor__(...) | Flooring an Integral returns itself. | | __floordiv__(self, value, /) | Return self//value. | | __ge__(self, value, /) | Return self>=value. | | __getattribute__(self, name, /) | Return getattr(self, name). | | __getnewargs__(self, /) | | __gt__(self, value, /) | Return self>value. | | __hash__(self, /) | Return hash(self). | | __index__(self, /) | Return self converted to an integer, if self is suitable for use as an index into a list. | | __int__(self, /) | int(self) | | __invert__(self, /) | ~self | | __le__(self, value, /) | Return self<=value. | | __lshift__(self, value, /) | Return self<>self. | | __rshift__(self, value, /) | Return self>>value. | | __rsub__(self, value, /) | Return value-self. | | __rtruediv__(self, value, /) | Return value/self. | | __rxor__(self, value, /) | Return value^self. | | __sizeof__(self, /) | Returns size in memory, in bytes. | | __sub__(self, value, /) | Return self-value. | | __truediv__(self, value, /) | Return self/value. | | __trunc__(...) | Truncating an Integral returns itself. | | __xor__(self, value, /) | Return self^value. | | as_integer_ratio(self, /) | Return a pair of integers, whose ratio is equal to the original int. | | The ratio is in lowest terms and has a positive denominator. | | >>> (10).as_integer_ratio() | (10, 1) | >>> (-10).as_integer_ratio() | (-10, 1) | >>> (0).as_integer_ratio() | (0, 1) | | bit_count(self, /) | Number of ones in the binary representation of the absolute value of self. | | Also known as the population count. | | >>> bin(13) | '0b1101' | >>> (13).bit_count() | 3 | | bit_length(self, /) | Number of bits necessary to represent self in binary. | | >>> bin(37) | '0b100101' | >>> (37).bit_length() | 6 | | conjugate(...) | Returns self, the complex conjugate of any int. | | is_integer(self, /) | Returns True. Exists for duck type compatibility with float.is_integer. | | to_bytes(self, /, length=1, byteorder='big', *, signed=False) | Return an array of bytes representing an integer. | | length | Length of bytes object to use. An OverflowError is raised if the | integer is not representable with the given number of bytes. Default | is length 1. | byteorder | The byte order used to represent the integer. If byteorder is 'big', | the most significant byte is at the beginning of the byte array. If | byteorder is 'little', the most significant byte is at the end of the | byte array. To request the native byte order of the host system, use | `sys.byteorder' as the byte order value. Default is to use 'big'. | signed | Determines whether two's complement is used to represent the integer. | If signed is False and a negative integer is given, an OverflowError | is raised. | | ---------------------------------------------------------------------- | Class methods inherited from builtins.int: | | from_bytes(bytes, byteorder='big', *, signed=False) from enum.EnumType | Return the integer represented by the given array of bytes. | | bytes | Holds the array of bytes to convert. The argument must either | support the buffer protocol or be an iterable object producing bytes. | Bytes and bytearray are examples of built-in objects that support the | buffer protocol. | byteorder | The byte order used to represent the integer. If byteorder is 'big', | the most significant byte is at the beginning of the byte array. If | byteorder is 'little', the most significant byte is at the end of the | byte array. To request the native byte order of the host system, use | `sys.byteorder' as the byte order value. Default is to use 'big'. | signed | Indicates whether two's complement is used to represent the integer. | | ---------------------------------------------------------------------- | Data descriptors inherited from builtins.int: | | denominator | the denominator of a rational number in lowest terms | | imag | the imaginary part of a complex number | | numerator | the numerator of a rational number in lowest terms | | real | the real part of a complex number | | ---------------------------------------------------------------------- | Methods inherited from enum.Enum: | | __dir__(self) | Returns all members and all public methods | | __init__(self, *args, **kwds) | Initialize self. See help(type(self)) for accurate signature. | | __reduce_ex__(self, proto) | Helper for pickle. | | ---------------------------------------------------------------------- | Data descriptors inherited from enum.Enum: | | name | The name of the Enum member. | | value | The value of the Enum member. | | ---------------------------------------------------------------------- | Methods inherited from enum.EnumType: | | __contains__(value) from enum.EnumType | Return True if `value` is in `cls`. | | `value` is in `cls` if: | 1) `value` is a member of `cls`, or | 2) `value` is the value of one of the `cls`'s members. | | __getitem__(name) from enum.EnumType | Return the member matching `name`. | | __iter__() from enum.EnumType | Return members in definition order. | | __len__() from enum.EnumType | Return the number of members (no aliases) | | ---------------------------------------------------------------------- | Readonly properties inherited from enum.EnumType: | | __members__ | Returns a mapping of member name->value. | | This mapping lists all enum members, including aliases. Note that this | is a read-only view of the internal mapping. class File(FSCollector) | File(*k, **kw) | | Base class for collecting tests from a file. | | :ref:`non-python tests`. | | Method resolution order: | File | FSCollector | Collector | Node | builtins.object | | Data and other attributes defined here: | | __annotations__ = {} | | ---------------------------------------------------------------------- | Methods inherited from FSCollector: | | __init__(self, fspath: Optional[_pytest._py.path.LocalPath] = None, path_or_parent: Union[pathlib.Path, _pytest.nodes.Node, NoneType] = None, path: Optional[pathlib.Path] = None, name: Optional[str] = None, parent: Optional[_pytest.nodes.Node] = None, config: Optional[_pytest.config.Config] = None, session: Optional[ForwardRef('Session')] = None, nodeid: Optional[str] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | gethookproxy(self, fspath: 'os.PathLike[str]') | | isinitpath(self, path: Union[str, ForwardRef('os.PathLike[str]')]) -> bool | | ---------------------------------------------------------------------- | Class methods inherited from FSCollector: | | from_parent(parent, *, fspath: Optional[_pytest._py.path.LocalPath] = None, path: Optional[pathlib.Path] = None, **kw) from _pytest.nodes.NodeMeta | The public constructor. | | ---------------------------------------------------------------------- | Methods inherited from Collector: | | collect(self) -> Iterable[Union[ForwardRef('Item'), ForwardRef('Collector')]] | Collect children (items and collectors) for this collector. | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException]) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection failure. | | :param excinfo: Exception information for the failure. | | ---------------------------------------------------------------------- | Data descriptors inherited from Collector: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes inherited from Collector: | | CollectError = | An error during collection, contains a custom message. | | | ---------------------------------------------------------------------- | Methods inherited from Node: | | __hash__(self) -> int | Return hash(self). | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | setup(self) -> None | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Readonly properties inherited from Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class FixtureLookupError(builtins.LookupError) | FixtureLookupError(argname: Optional[str], request: _pytest.fixtures.FixtureRequest, msg: Optional[str] = None) -> None | | Could not return a requested fixture (missing or invalid). | | Method resolution order: | FixtureLookupError | builtins.LookupError | builtins.Exception | builtins.BaseException | builtins.object | | Methods defined here: | | __init__(self, argname: Optional[str], request: _pytest.fixtures.FixtureRequest, msg: Optional[str] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | formatrepr(self) -> 'FixtureLookupErrorRepr' | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __final__ = True | | ---------------------------------------------------------------------- | Static methods inherited from builtins.LookupError: | | __new__(*args, **kwargs) from builtins.type | Create and return a new object. See help(type) for accurate signature. | | ---------------------------------------------------------------------- | Methods inherited from builtins.BaseException: | | __delattr__(self, name, /) | Implement delattr(self, name). | | __getattribute__(self, name, /) | Return getattr(self, name). | | __reduce__(...) | Helper for pickle. | | __repr__(self, /) | Return repr(self). | | __setattr__(self, name, value, /) | Implement setattr(self, name, value). | | __setstate__(...) | | __str__(self, /) | Return str(self). | | add_note(...) | Exception.add_note(note) -- | add a note to the exception | | with_traceback(...) | Exception.with_traceback(tb) -- | set self.__traceback__ to tb and return self. | | ---------------------------------------------------------------------- | Data descriptors inherited from builtins.BaseException: | | __cause__ | exception cause | | __context__ | exception context | | __dict__ | | __suppress_context__ | | __traceback__ | | args class FixtureRequest(builtins.object) | FixtureRequest(pyfuncitem, *, _ispytest: bool = False) -> None | | A request for a fixture from a test or fixture function. | | A request object gives access to the requesting test context and has | an optional ``param`` attribute in case the fixture is parametrized | indirectly. | | Methods defined here: | | __init__(self, pyfuncitem, *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | __repr__(self) -> str | Return repr(self). | | addfinalizer(self, finalizer: Callable[[], object]) -> None | Add finalizer/teardown function to be called without arguments after | the last test within the requesting test context finished execution. | | applymarker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator]) -> None | Apply a marker to a single test function invocation. | | This method is useful if you don't want to have a keyword/marker | on all function invocations. | | :param marker: | An object created by a call to ``pytest.mark.NAME(...)``. | | getfixturevalue(self, argname: str) -> Any | Dynamically run a named fixture function. | | Declaring fixtures via function argument is recommended where possible. | But if you can only decide whether to use another fixture at test | setup time, you may use this function to retrieve it inside a fixture | or test function body. | | This method can be used during the test setup phase or the test run | phase, but during the test teardown phase a fixture's value may not | be available. | | :param argname: | The fixture name. | :raises pytest.FixtureLookupError: | If the given fixture could not be found. | | raiseerror(self, msg: Optional[str]) -> NoReturn | Raise a FixtureLookupError exception. | | :param msg: | An optional custom error message. | | ---------------------------------------------------------------------- | Readonly properties defined here: | | cls | Class (can be None) where the test function was collected. | | config | The pytest config object associated with this request. | | fixturenames | Names of all active fixtures in this request. | | function | Test function object if the request has a per-function scope. | | instance | Instance (can be None) on which test function was collected. | | keywords | Keywords/markers dictionary for the underlying node. | | module | Python module object where the test function was collected. | | node | Underlying collection node (depends on current request scope). | | path | Path where the test function was collected. | | scope | Scope string, one of "function", "class", "module", "package", "session". | | session | Pytest session object. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) class Function(PyobjMixin, _pytest.nodes.Item) | Function(*k, **kw) | | Item responsible for setting up and executing a Python test function. | | :param name: | The full function name, including any decorations like those | added by parametrization (``my_func[my_param]``). | :param parent: | The parent Node. | :param config: | The pytest Config object. | :param callspec: | If given, this is function has been parametrized and the callspec contains | meta information about the parametrization. | :param callobj: | If given, the object which will be called when the Function is invoked, | otherwise the callobj will be obtained from ``parent`` using ``originalname``. | :param keywords: | Keywords bound to the function object for "-k" matching. | :param session: | The pytest Session object. | :param fixtureinfo: | Fixture information already resolved at this fixture node.. | :param originalname: | The attribute name to use for accessing the underlying function object. | Defaults to ``name``. Set this if name is different from the original name, | for example when it contains decorations like those added by parametrization | (``my_func[my_param]``). | | Method resolution order: | Function | PyobjMixin | _pytest.nodes.Item | _pytest.nodes.Node | builtins.object | | Methods defined here: | | __init__(self, name: str, parent, config: Optional[_pytest.config.Config] = None, callspec: Optional[_pytest.python.CallSpec2] = None, callobj=, keywords: Optional[Mapping[str, Any]] = None, session: Optional[_pytest.main.Session] = None, fixtureinfo: Optional[_pytest.fixtures.FuncFixtureInfo] = None, originalname: Optional[str] = None) -> None | Initialize self. See help(type(self)) for accurate signature. | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException]) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection or test failure. | | .. seealso:: :ref:`non-python tests` | | :param excinfo: Exception information for the failure. | | runtest(self) -> None | Execute the underlying test function. | | setup(self) -> None | | ---------------------------------------------------------------------- | Class methods defined here: | | from_parent(parent, **kw) from _pytest.nodes.NodeMeta | The public constructor. | | ---------------------------------------------------------------------- | Readonly properties defined here: | | function | Underlying python 'function' object. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | ---------------------------------------------------------------------- | Methods inherited from PyobjMixin: | | getmodpath(self, stopatmodule: bool = True, includemodule: bool = False) -> str | Return Python path relative to the containing module. | | reportinfo(self) -> Tuple[Union[ForwardRef('os.PathLike[str]'), str], Optional[int], str] | | ---------------------------------------------------------------------- | Readonly properties inherited from PyobjMixin: | | cls | Python class object this node was collected from (can be None). | | instance | Python instance object the function is bound to. | | Returns None if not a test method, e.g. for a standalone test function, | a staticmethod, a class or a module. | | module | Python module object this node was collected from (can be None). | | ---------------------------------------------------------------------- | Data descriptors inherited from PyobjMixin: | | __weakref__ | list of weak references to the object (if defined) | | obj | Underlying Python object. | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Item: | | add_report_section(self, when: str, key: str, content: str) -> None | Add a new report section, similar to what's done internally to add | stdout and stderr captured output:: | | item.add_report_section("call", "stdout", "report section contents") | | :param str when: | One of the possible capture states, ``"setup"``, ``"call"``, ``"teardown"``. | :param str key: | Name of the section, can be customized at will. Pytest uses ``"stdout"`` and | ``"stderr"`` internally. | :param str content: | The full contents as a string. | | location = | Returns a tuple of ``(relfspath, lineno, testname)`` for this item | where ``relfspath`` is file path relative to ``config.rootpath`` | and lineno is a 0-based line number. | | ---------------------------------------------------------------------- | Data and other attributes inherited from _pytest.nodes.Item: | | nextitem = None | | ---------------------------------------------------------------------- | Methods inherited from _pytest.nodes.Node: | | __hash__(self) -> int | Return hash(self). | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Readonly properties inherited from _pytest.nodes.Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from _pytest.nodes.Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class HookRecorder(builtins.object) | HookRecorder(pluginmanager: _pytest.config.PytestPluginManager, *, _ispytest: bool = False) -> None | | Record all hooks called in a plugin manager. | | Hook recorders are created by :class:`Pytester`. | | This wraps all the hook calls in the plugin manager, recording each call | before propagating the normal calls. | | Methods defined here: | | __init__(self, pluginmanager: _pytest.config.PytestPluginManager, *, _ispytest: bool = False) -> None | Initialize self. See help(type(self)) for accurate signature. | | assert_contains(self, entries: Sequence[Tuple[str, str]]) -> None | | assertoutcome(self, passed: int = 0, skipped: int = 0, failed: int = 0) -> None | | clear(self) -> None | | countoutcomes(self) -> List[int] | | finish_recording(self) -> None | | getcall(self, name: str) -> _pytest.pytester.RecordedHookCall | | getcalls(self, names: Union[str, Iterable[str]]) -> List[_pytest.pytester.RecordedHookCall] | Get all recorded calls to hooks with the given names (or name). | | getfailedcollections(self) -> Sequence[_pytest.reports.CollectReport] | | getfailures(self, names: Union[str, Iterable[str]] = ('pytest_collectreport', 'pytest_runtest_logreport')) -> Sequence[Union[_pytest.reports.CollectReport, _pytest.reports.TestReport]] | | getreports(self, names: Union[str, Iterable[str]] = ('pytest_collectreport', 'pytest_runtest_logreport')) -> Sequence[Union[_pytest.reports.CollectReport, _pytest.reports.TestReport]] | | listoutcomes(self) -> Tuple[Sequence[_pytest.reports.TestReport], Sequence[Union[_pytest.reports.CollectReport, _pytest.reports.TestReport]], Sequence[Union[_pytest.reports.CollectReport, _pytest.reports.TestReport]]] | | matchreport(self, inamepart: str = '', names: Union[str, Iterable[str]] = ('pytest_runtest_logreport', 'pytest_collectreport'), when: Optional[str] = None) -> Union[_pytest.reports.CollectReport, _pytest.reports.TestReport] | Return a testreport whose dotted import path matches. | | popcall(self, name: str) -> _pytest.pytester.RecordedHookCall | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __dict__ | dictionary for instance variables (if defined) | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __final__ = True class Item(Node) | Item(*k, **kw) | | Base class of all test invocation items. | | Note that for a single function there might be multiple test invocation items. | | Method resolution order: | Item | Node | builtins.object | | Methods defined here: | | __init__(self, name, parent=None, config: Optional[_pytest.config.Config] = None, session: Optional[ForwardRef('Session')] = None, nodeid: Optional[str] = None, **kw) -> None | Initialize self. See help(type(self)) for accurate signature. | | add_report_section(self, when: str, key: str, content: str) -> None | Add a new report section, similar to what's done internally to add | stdout and stderr captured output:: | | item.add_report_section("call", "stdout", "report section contents") | | :param str when: | One of the possible capture states, ``"setup"``, ``"call"``, ``"teardown"``. | :param str key: | Name of the section, can be customized at will. Pytest uses ``"stdout"`` and | ``"stderr"`` internally. | :param str content: | The full contents as a string. | | location = | Returns a tuple of ``(relfspath, lineno, testname)`` for this item | where ``relfspath`` is file path relative to ``config.rootpath`` | and lineno is a 0-based line number. | | reportinfo(self) -> Tuple[Union[ForwardRef('os.PathLike[str]'), str], Optional[int], str] | Get location information for this item for test reports. | | Returns a tuple with three elements: | | - The path of the test (default ``self.path``) | - The 0-based line number of the test (default ``None``) | - A name of the test to be shown (default ``""``) | | .. seealso:: :ref:`non-python tests` | | runtest(self) -> None | Run the test case for this item. | | Must be implemented by subclasses. | | .. seealso:: :ref:`non-python tests` | | ---------------------------------------------------------------------- | Data descriptors defined here: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __annotations__ = {} | | nextitem = None | | ---------------------------------------------------------------------- | Methods inherited from Node: | | __hash__(self) -> int | Return hash(self). | | __repr__(self) -> str | Return repr(self). | | add_marker(self, marker: Union[str, _pytest.mark.structures.MarkDecorator], append: bool = True) -> None | Dynamically add a marker object to the node. | | :param marker: | The marker. | :param append: | Whether to append the marker, or prepend it. | | addfinalizer(self, fin: Callable[[], object]) -> None | Register a function to be called without arguments when this node is | finalized. | | This method can only be called when this node is active | in a setup chain, for example during self.setup(). | | get_closest_marker(self, name: str, default: Optional[_pytest.mark.structures.Mark] = None) -> Optional[_pytest.mark.structures.Mark] | Return the first marker matching the name, from closest (for | example function) to farther level (for example module level). | | :param default: Fallback return value if no marker was found. | :param name: Name to filter by. | | getparent(self, cls: Type[~_NodeType]) -> Optional[~_NodeType] | Get the next parent node (including self) which is an instance of | the given class. | | :param cls: The node class to search for. | :returns: The node, if found. | | iter_markers(self, name: Optional[str] = None) -> Iterator[_pytest.mark.structures.Mark] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of the markers of the node. | | iter_markers_with_node(self, name: Optional[str] = None) -> Iterator[Tuple[ForwardRef('Node'), _pytest.mark.structures.Mark]] | Iterate over all markers of the node. | | :param name: If given, filter the results by the name attribute. | :returns: An iterator of (node, mark) tuples. | | listchain(self) -> List[ForwardRef('Node')] | Return list of all parent collectors up to self, starting from | the root of collection tree. | | :returns: The nodes. | | listextrakeywords(self) -> Set[str] | Return a set of all extra keywords in self and any parents. | | listnames(self) -> List[str] | | repr_failure(self, excinfo: _pytest._code.code.ExceptionInfo[BaseException], style: 'Optional[_TracebackStyle]' = None) -> Union[str, _pytest._code.code.TerminalRepr] | Return a representation of a collection or test failure. | | .. seealso:: :ref:`non-python tests` | | :param excinfo: Exception information for the failure. | | setup(self) -> None | | teardown(self) -> None | | warn(self, warning: Warning) -> None | Issue a warning for this Node. | | Warnings will be displayed after the test session, unless explicitly suppressed. | | :param Warning warning: | The warning instance to issue. | | :raises ValueError: If ``warning`` instance is not a subclass of Warning. | | Example usage: | | .. code-block:: python | | node.warn(PytestWarning("some message")) | node.warn(UserWarning("some message")) | | .. versionchanged:: 6.2 | Any subclass of :class:`Warning` is now accepted, rather than only | :class:`PytestWarning ` subclasses. | | ---------------------------------------------------------------------- | Class methods inherited from Node: | | from_parent(parent: 'Node', **kw) from _pytest.nodes.NodeMeta | Public constructor for Nodes. | | This indirection got introduced in order to enable removing | the fragile logic from the node constructors. | | Subclasses can use ``super().from_parent(...)`` when overriding the | construction. | | :param parent: The parent node of this Node. | | ---------------------------------------------------------------------- | Readonly properties inherited from Node: | | ihook | fspath-sensitive hook proxy used to call pytest hooks. | | nodeid | A ::-separated string denoting its collection tree address. | | ---------------------------------------------------------------------- | Data descriptors inherited from Node: | | __dict__ | dictionary for instance variables (if defined) | | config | | name | | parent | | path | | session class LineMatcher(builtins.object) | LineMatcher(lines: List[str]) -> None | | Flexible matching of text. | | This is a convenience class to test large texts like the output of | commands. | | The constructor takes a list of lines without their trailing newlines, i.e. | ``text.splitlines()``. ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592242762112) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) __________________ test_no_recursion_index_on_recursion_error __________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 @pytest.mark.usefixtures("limited_recursion_depth") def test_no_recursion_index_on_recursion_error(): """ Ensure that we don't break in case we can't find the recursion index during a recursion error (#2486). """ class RecursionDepthError: def __getattr__(self, attr): return getattr(self, "_" + attr) with pytest.raises(RuntimeError) as excinfo: RecursionDepthError().trigger > assert "maximum recursion" in str(excinfo.getrepr()) /builddir/build/BUILD/pytest-7.4.3/testing/code/test_excinfo.py:1500: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:701: in getrepr return fmt.repr_excinfo(self) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:989: in repr_excinfo reprtraceback = self.repr_traceback(excinfo_) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:914: in repr_traceback self.repr_traceback_entry(entry, excinfo if last == entry else None) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:852: in repr_traceback_entry source = self._getentrysource(entry) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:754: in _getentrysource source = entry.getsource(self.astcache) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:262: in getsource astnode, _, end = getstatementrange_ast( /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py:187: in getstatementrange_ast start, end = get_statement_startend2(lineno, astnode) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py:150: in get_statement_startend2 for x in ast.walk(node): /usr/lib64/python3.12/ast.py:379: in walk todo.extend(iter_child_nodes(node)) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ node = def iter_child_nodes(node): """ Yield all direct child nodes of *node*, that is, all fields that are nodes and all items of fields that are lists of nodes. """ for name, field in iter_fields(node): if isinstance(field, AST): > yield field E Failed: Timeout >30.0s /usr/lib64/python3.12/ast.py:276: Failed ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) __________________ test_options_on_small_file_do_not_blow_up ___________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 pytester = def test_options_on_small_file_do_not_blow_up(pytester: Pytester) -> None: def runfiletest(opts: Sequence[str]) -> None: reprec = pytester.inline_run(*opts) passed, skipped, failed = reprec.countoutcomes() assert failed == 2 assert skipped == passed == 0 path = str( pytester.makepyfile( """ def test_f1(): assert 0 def test_f2(): assert 0 """ ) ) runfiletest([path]) runfiletest(["-l", path]) runfiletest(["-s", path]) runfiletest(["--tb=no", path]) runfiletest(["--tb=short", path]) runfiletest(["--tb=long", path]) > runfiletest(["--fulltrace", path]) /builddir/build/BUILD/pytest-7.4.3/testing/test_config.py:977: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ opts = ['--fulltrace', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0/test_options_on_small_file_do_not_blow_up.py'] def runfiletest(opts: Sequence[str]) -> None: reprec = pytester.inline_run(*opts) passed, skipped, failed = reprec.countoutcomes() > assert failed == 2 E assert 0 == 2 /builddir/build/BUILD/pytest-7.4.3/testing/test_config.py:959: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF [100%] =================================== FAILURES =================================== ___________________________________ test_f1 ____________________________________ > def test_f1(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:1: AssertionError ___________________________________ test_f2 ____________________________________ > def test_f2(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:2: AssertionError =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 1.02s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF [100%] =================================== FAILURES =================================== ___________________________________ test_f1 ____________________________________ > def test_f1(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:1: AssertionError ___________________________________ test_f2 ____________________________________ > def test_f2(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:2: AssertionError =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 0.76s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF =================================== FAILURES =================================== ___________________________________ test_f1 ____________________________________ > def test_f1(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:1: AssertionError ___________________________________ test_f2 ____________________________________ > def test_f2(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:2: AssertionError =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 0.83s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF [100%] =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 0.77s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF [100%] =================================== FAILURES =================================== ___________________________________ test_f1 ____________________________________ test_options_on_small_file_do_not_blow_up.py:1: in test_f1 def test_f1(): assert 0 E assert 0 ___________________________________ test_f2 ____________________________________ test_options_on_small_file_do_not_blow_up.py:2: in test_f2 def test_f2(): assert 0 E assert 0 =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 1.43s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py FF [100%] =================================== FAILURES =================================== ___________________________________ test_f1 ____________________________________ > def test_f1(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:1: AssertionError ___________________________________ test_f2 ____________________________________ > def test_f2(): assert 0 E assert 0 test_options_on_small_file_do_not_blow_up.py:2: AssertionError =========================== short test summary info ============================ FAILED test_options_on_small_file_do_not_blow_up.py::test_f1 - assert 0 FAILED test_options_on_small_file_do_not_blow_up.py::test_f2 - assert 0 ============================== 2 failed in 1.01s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_options_on_small_file_do_not_blow_up0 collected 2 items test_options_on_small_file_do_not_blow_up.py INTERNALERROR> config = <_pytest.config.Config object at 0xffffff7e495d60> INTERNALERROR> doit = INTERNALERROR> INTERNALERROR> def wrap_session( INTERNALERROR> config: Config, doit: Callable[[Config, "Session"], Optional[Union[int, ExitCode]]] INTERNALERROR> ) -> Union[int, ExitCode]: INTERNALERROR> """Skeleton command line program.""" INTERNALERROR> session = Session.from_config(config) INTERNALERROR> session.exitstatus = ExitCode.OK INTERNALERROR> initstate = 0 INTERNALERROR> try: INTERNALERROR> try: INTERNALERROR> config._do_configure() INTERNALERROR> initstate = 1 INTERNALERROR> config.hook.pytest_sessionstart(session=session) INTERNALERROR> initstate = 2 INTERNALERROR> > session.exitstatus = doit(config, session) or 0 INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py:271: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> config = <_pytest.config.Config object at 0xffffff7e495d60> INTERNALERROR> session = testsfailed=0 testscollected=2> INTERNALERROR> INTERNALERROR> def _main(config: Config, session: "Session") -> Optional[Union[int, ExitCode]]: INTERNALERROR> """Default command line protocol for initialization, session, INTERNALERROR> running tests and reporting.""" INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> > config.hook.pytest_runtestloop(session=session) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py:325: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> kwargs = {'session': testsfailed=0 testscollected=2>} INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def __call__(self, **kwargs: object) -> Any: INTERNALERROR> """Call the hook. INTERNALERROR> INTERNALERROR> Only accepts keyword arguments, which should match the hook INTERNALERROR> specification. INTERNALERROR> INTERNALERROR> Returns the result(s) of calling all registered plugins, see INTERNALERROR> :ref:`calling`. INTERNALERROR> """ INTERNALERROR> assert ( INTERNALERROR> not self.is_historic() INTERNALERROR> ), "Cannot directly call a historic hook - use call_historic instead." INTERNALERROR> self._verify_all_args_are_provided(kwargs) INTERNALERROR> firstresult = self.spec.opts.get("firstresult", False) if self.spec else False INTERNALERROR> > return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = <_pytest.config.PytestPluginManager object at 0xffffff7e4963c0> INTERNALERROR> hook_name = 'pytest_runtestloop' INTERNALERROR> methods = [>, >] INTERNALERROR> kwargs = {'session': testsfailed=0 testscollected=2>} INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def _hookexec( INTERNALERROR> self, INTERNALERROR> hook_name: str, INTERNALERROR> methods: Sequence[HookImpl], INTERNALERROR> kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> # called from all hookcaller instances. INTERNALERROR> # enable_tracing will set its own wrapping function at self._inner_hookexec INTERNALERROR> > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> hook_name = 'pytest_runtestloop' INTERNALERROR> hook_impls = [>, >] INTERNALERROR> caller_kwargs = {'session': testsfailed=0 testscollected=2>} INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def traced_hookexec( INTERNALERROR> hook_name: str, INTERNALERROR> hook_impls: Sequence[HookImpl], INTERNALERROR> caller_kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> before(hook_name, hook_impls, caller_kwargs) INTERNALERROR> outcome = Result.from_call( INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> after(outcome, hook_name, hook_impls, caller_kwargs) INTERNALERROR> > return outcome.get_result() INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:457: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> > lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:454: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> session = testsfailed=0 testscollected=2> INTERNALERROR> INTERNALERROR> def pytest_runtestloop(session: "Session") -> bool: INTERNALERROR> if session.testsfailed and not session.config.option.continue_on_collection_errors: INTERNALERROR> raise session.Interrupted( INTERNALERROR> "%d error%s during collection" INTERNALERROR> % (session.testsfailed, "s" if session.testsfailed != 1 else "") INTERNALERROR> ) INTERNALERROR> INTERNALERROR> if session.config.option.collectonly: INTERNALERROR> return True INTERNALERROR> INTERNALERROR> for i, item in enumerate(session.items): INTERNALERROR> nextitem = session.items[i + 1] if i + 1 < len(session.items) else None INTERNALERROR> > item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py:350: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> kwargs = {'item': , 'nextitem': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def __call__(self, **kwargs: object) -> Any: INTERNALERROR> """Call the hook. INTERNALERROR> INTERNALERROR> Only accepts keyword arguments, which should match the hook INTERNALERROR> specification. INTERNALERROR> INTERNALERROR> Returns the result(s) of calling all registered plugins, see INTERNALERROR> :ref:`calling`. INTERNALERROR> """ INTERNALERROR> assert ( INTERNALERROR> not self.is_historic() INTERNALERROR> ), "Cannot directly call a historic hook - use call_historic instead." INTERNALERROR> self._verify_all_args_are_provided(kwargs) INTERNALERROR> firstresult = self.spec.opts.get("firstresult", False) if self.spec else False INTERNALERROR> > return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = <_pytest.config.PytestPluginManager object at 0xffffff7e4963c0> INTERNALERROR> hook_name = 'pytest_runtest_protocol' INTERNALERROR> methods = [>] INTERNALERROR> kwargs = {'item': , 'nextitem': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def _hookexec( INTERNALERROR> self, INTERNALERROR> hook_name: str, INTERNALERROR> methods: Sequence[HookImpl], INTERNALERROR> kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> # called from all hookcaller instances. INTERNALERROR> # enable_tracing will set its own wrapping function at self._inner_hookexec INTERNALERROR> > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> hook_name = 'pytest_runtest_protocol' INTERNALERROR> hook_impls = [>] INTERNALERROR> caller_kwargs = {'item': , 'nextitem': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def traced_hookexec( INTERNALERROR> hook_name: str, INTERNALERROR> hook_impls: Sequence[HookImpl], INTERNALERROR> caller_kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> before(hook_name, hook_impls, caller_kwargs) INTERNALERROR> outcome = Result.from_call( INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> after(outcome, hook_name, hook_impls, caller_kwargs) INTERNALERROR> > return outcome.get_result() INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:457: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> > lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:454: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> item = , nextitem = INTERNALERROR> INTERNALERROR> def pytest_runtest_protocol(item: Item, nextitem: Optional[Item]) -> bool: INTERNALERROR> ihook = item.ihook INTERNALERROR> ihook.pytest_runtest_logstart(nodeid=item.nodeid, location=item.location) INTERNALERROR> > runtestprotocol(item, nextitem=nextitem) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:114: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> item = , log = True, nextitem = INTERNALERROR> INTERNALERROR> def runtestprotocol( INTERNALERROR> item: Item, log: bool = True, nextitem: Optional[Item] = None INTERNALERROR> ) -> List[TestReport]: INTERNALERROR> hasrequest = hasattr(item, "_request") INTERNALERROR> if hasrequest and not item._request: # type: ignore[attr-defined] INTERNALERROR> # This only happens if the item is re-run, as is done by INTERNALERROR> # pytest-rerunfailures. INTERNALERROR> item._initrequest() # type: ignore[attr-defined] INTERNALERROR> rep = call_and_report(item, "setup", log) INTERNALERROR> reports = [rep] INTERNALERROR> if rep.passed: INTERNALERROR> if item.config.getoption("setupshow", False): INTERNALERROR> show_test_item(item) INTERNALERROR> if not item.config.getoption("setuponly", False): INTERNALERROR> > reports.append(call_and_report(item, "call", log)) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:133: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> item = , when = 'call', log = True, kwds = {} INTERNALERROR> call = > INTERNALERROR> hook = <_pytest.config.compat.PathAwareHookProxy object at 0xffffff7e496390> INTERNALERROR> INTERNALERROR> def call_and_report( INTERNALERROR> item: Item, when: "Literal['setup', 'call', 'teardown']", log: bool = True, **kwds INTERNALERROR> ) -> TestReport: INTERNALERROR> call = call_runtest_hook(item, when, **kwds) INTERNALERROR> hook = item.ihook INTERNALERROR> > report: TestReport = hook.pytest_runtest_makereport(item=item, call=call) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:224: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> kwargs = {'call': >, 'item': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def __call__(self, **kwargs: object) -> Any: INTERNALERROR> """Call the hook. INTERNALERROR> INTERNALERROR> Only accepts keyword arguments, which should match the hook INTERNALERROR> specification. INTERNALERROR> INTERNALERROR> Returns the result(s) of calling all registered plugins, see INTERNALERROR> :ref:`calling`. INTERNALERROR> """ INTERNALERROR> assert ( INTERNALERROR> not self.is_historic() INTERNALERROR> ), "Cannot directly call a historic hook - use call_historic instead." INTERNALERROR> self._verify_all_args_are_provided(kwargs) INTERNALERROR> firstresult = self.spec.opts.get("firstresult", False) if self.spec else False INTERNALERROR> > return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = <_pytest.config.PytestPluginManager object at 0xffffff7e4963c0> INTERNALERROR> hook_name = 'pytest_runtest_makereport' INTERNALERROR> methods = [>] INTERNALERROR> kwargs = {'call': >, 'item': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def _hookexec( INTERNALERROR> self, INTERNALERROR> hook_name: str, INTERNALERROR> methods: Sequence[HookImpl], INTERNALERROR> kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> # called from all hookcaller instances. INTERNALERROR> # enable_tracing will set its own wrapping function at self._inner_hookexec INTERNALERROR> > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> hook_name = 'pytest_runtest_makereport' INTERNALERROR> hook_impls = [>] INTERNALERROR> caller_kwargs = {'call': >, 'item': } INTERNALERROR> firstresult = True INTERNALERROR> INTERNALERROR> def traced_hookexec( INTERNALERROR> hook_name: str, INTERNALERROR> hook_impls: Sequence[HookImpl], INTERNALERROR> caller_kwargs: Mapping[str, object], INTERNALERROR> firstresult: bool, INTERNALERROR> ) -> object | list[object]: INTERNALERROR> before(hook_name, hook_impls, caller_kwargs) INTERNALERROR> outcome = Result.from_call( INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> after(outcome, hook_name, hook_impls, caller_kwargs) INTERNALERROR> > return outcome.get_result() INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:457: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> > lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ) INTERNALERROR> INTERNALERROR> /usr/lib/python3.12/site-packages/pluggy/_manager.py:454: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> item = INTERNALERROR> call = > INTERNALERROR> INTERNALERROR> @hookimpl(hookwrapper=True) INTERNALERROR> def pytest_runtest_makereport(item: Item, call: CallInfo[None]): INTERNALERROR> outcome = yield INTERNALERROR> > rep = outcome.get_result() INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/skipping.py:266: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> item = INTERNALERROR> call = > INTERNALERROR> INTERNALERROR> def pytest_runtest_makereport(item: Item, call: CallInfo[None]) -> TestReport: INTERNALERROR> > return TestReport.from_item_and_call(item, call) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:368: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> cls = , item = INTERNALERROR> call = > INTERNALERROR> INTERNALERROR> @classmethod INTERNALERROR> def from_item_and_call(cls, item: Item, call: "CallInfo[None]") -> "TestReport": INTERNALERROR> """Create and fill a TestReport with standard item and call info. INTERNALERROR> INTERNALERROR> :param item: The item. INTERNALERROR> :param call: The call info. INTERNALERROR> """ INTERNALERROR> when = call.when INTERNALERROR> # Remove "collect" from the Literal type -- only for collection calls. INTERNALERROR> assert when != "collect" INTERNALERROR> duration = call.duration INTERNALERROR> start = call.start INTERNALERROR> stop = call.stop INTERNALERROR> keywords = {x: 1 for x in item.keywords} INTERNALERROR> excinfo = call.excinfo INTERNALERROR> sections = [] INTERNALERROR> if not call.excinfo: INTERNALERROR> outcome: Literal["passed", "failed", "skipped"] = "passed" INTERNALERROR> longrepr: Union[ INTERNALERROR> None, INTERNALERROR> ExceptionInfo[BaseException], INTERNALERROR> Tuple[str, int, str], INTERNALERROR> str, INTERNALERROR> TerminalRepr, INTERNALERROR> ] = None INTERNALERROR> else: INTERNALERROR> if not isinstance(excinfo, ExceptionInfo): INTERNALERROR> outcome = "failed" INTERNALERROR> longrepr = excinfo INTERNALERROR> elif isinstance(excinfo.value, skip.Exception): INTERNALERROR> outcome = "skipped" INTERNALERROR> r = excinfo._getreprcrash() INTERNALERROR> assert ( INTERNALERROR> r is not None INTERNALERROR> ), "There should always be a traceback entry for skipping a test." INTERNALERROR> if excinfo.value._use_item_location: INTERNALERROR> path, line = item.reportinfo()[:2] INTERNALERROR> assert line is not None INTERNALERROR> longrepr = os.fspath(path), line + 1, r.message INTERNALERROR> else: INTERNALERROR> longrepr = (str(r.path), r.lineno, r.message) INTERNALERROR> else: INTERNALERROR> outcome = "failed" INTERNALERROR> if call.when == "call": INTERNALERROR> > longrepr = item.repr_failure(excinfo) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/reports.py:362: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> excinfo = INTERNALERROR> INTERNALERROR> def repr_failure( # type: ignore[override] INTERNALERROR> self, INTERNALERROR> excinfo: ExceptionInfo[BaseException], INTERNALERROR> ) -> Union[str, TerminalRepr]: INTERNALERROR> style = self.config.getoption("tbstyle", "auto") INTERNALERROR> if style == "auto": INTERNALERROR> style = "long" INTERNALERROR> > return self._repr_failure_py(excinfo, style=style) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:1833: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> excinfo = , style = 'long' INTERNALERROR> INTERNALERROR> def _repr_failure_py( INTERNALERROR> self, INTERNALERROR> excinfo: ExceptionInfo[BaseException], INTERNALERROR> style: "Optional[_TracebackStyle]" = None, INTERNALERROR> ) -> TerminalRepr: INTERNALERROR> from _pytest.fixtures import FixtureLookupError INTERNALERROR> INTERNALERROR> if isinstance(excinfo.value, ConftestImportFailure): INTERNALERROR> excinfo = ExceptionInfo.from_exc_info(excinfo.value.excinfo) INTERNALERROR> if isinstance(excinfo.value, fail.Exception): INTERNALERROR> if not excinfo.value.pytrace: INTERNALERROR> style = "value" INTERNALERROR> if isinstance(excinfo.value, FixtureLookupError): INTERNALERROR> return excinfo.value.formatrepr() INTERNALERROR> INTERNALERROR> tbfilter: Union[bool, Callable[[ExceptionInfo[BaseException]], Traceback]] INTERNALERROR> if self.config.getoption("fulltrace", False): INTERNALERROR> style = "long" INTERNALERROR> tbfilter = False INTERNALERROR> else: INTERNALERROR> tbfilter = self._traceback_filter INTERNALERROR> if style == "auto": INTERNALERROR> style = "long" INTERNALERROR> # XXX should excinfo.getrepr record all data and toterminal() process it? INTERNALERROR> if style is None: INTERNALERROR> if self.config.getoption("tbstyle", "auto") == "short": INTERNALERROR> style = "short" INTERNALERROR> else: INTERNALERROR> style = "long" INTERNALERROR> INTERNALERROR> if self.config.getoption("verbose", 0) > 1: INTERNALERROR> truncate_locals = False INTERNALERROR> else: INTERNALERROR> truncate_locals = True INTERNALERROR> INTERNALERROR> # excinfo.getrepr() formats paths relative to the CWD if `abspath` is False. INTERNALERROR> # It is possible for a fixture/test to change the CWD while this code runs, which INTERNALERROR> # would then result in the user seeing confusing paths in the failure message. INTERNALERROR> # To fix this, if the CWD changed, always display the full absolute path. INTERNALERROR> # It will be better to just always display paths relative to invocation_dir, but INTERNALERROR> # this requires a lot of plumbing (#6428). INTERNALERROR> try: INTERNALERROR> abspath = Path(os.getcwd()) != self.config.invocation_params.dir INTERNALERROR> except OSError: INTERNALERROR> abspath = True INTERNALERROR> INTERNALERROR> > return excinfo.getrepr( INTERNALERROR> funcargs=True, INTERNALERROR> abspath=abspath, INTERNALERROR> showlocals=self.config.getoption("showlocals", False), INTERNALERROR> style=style, INTERNALERROR> tbfilter=tbfilter, INTERNALERROR> truncate_locals=truncate_locals, INTERNALERROR> ) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/nodes.py:486: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = , showlocals = False INTERNALERROR> style = 'long', abspath = False, tbfilter = False, funcargs = True INTERNALERROR> truncate_locals = True, chain = True INTERNALERROR> INTERNALERROR> def getrepr( INTERNALERROR> self, INTERNALERROR> showlocals: bool = False, INTERNALERROR> style: "_TracebackStyle" = "long", INTERNALERROR> abspath: bool = False, INTERNALERROR> tbfilter: Union[ INTERNALERROR> bool, Callable[["ExceptionInfo[BaseException]"], Traceback] INTERNALERROR> ] = True, INTERNALERROR> funcargs: bool = False, INTERNALERROR> truncate_locals: bool = True, INTERNALERROR> chain: bool = True, INTERNALERROR> ) -> Union["ReprExceptionInfo", "ExceptionChainRepr"]: INTERNALERROR> """Return str()able representation of this exception info. INTERNALERROR> INTERNALERROR> :param bool showlocals: INTERNALERROR> Show locals per traceback entry. INTERNALERROR> Ignored if ``style=="native"``. INTERNALERROR> INTERNALERROR> :param str style: INTERNALERROR> long|short|line|no|native|value traceback style. INTERNALERROR> INTERNALERROR> :param bool abspath: INTERNALERROR> If paths should be changed to absolute or left unchanged. INTERNALERROR> INTERNALERROR> :param tbfilter: INTERNALERROR> A filter for traceback entries. INTERNALERROR> INTERNALERROR> * If false, don't hide any entries. INTERNALERROR> * If true, hide internal entries and entries that contain a local INTERNALERROR> variable ``__tracebackhide__ = True``. INTERNALERROR> * If a callable, delegates the filtering to the callable. INTERNALERROR> INTERNALERROR> Ignored if ``style`` is ``"native"``. INTERNALERROR> INTERNALERROR> :param bool funcargs: INTERNALERROR> Show fixtures ("funcargs" for legacy purposes) per traceback entry. INTERNALERROR> INTERNALERROR> :param bool truncate_locals: INTERNALERROR> With ``showlocals==True``, make sure locals can be safely represented as strings. INTERNALERROR> INTERNALERROR> :param bool chain: INTERNALERROR> If chained exceptions in Python 3 should be shown. INTERNALERROR> INTERNALERROR> .. versionchanged:: 3.9 INTERNALERROR> INTERNALERROR> Added the ``chain`` parameter. INTERNALERROR> """ INTERNALERROR> if style == "native": INTERNALERROR> return ReprExceptionInfo( INTERNALERROR> reprtraceback=ReprTracebackNative( INTERNALERROR> traceback.format_exception( INTERNALERROR> self.type, INTERNALERROR> self.value, INTERNALERROR> self.traceback[0]._rawentry if self.traceback else None, INTERNALERROR> ) INTERNALERROR> ), INTERNALERROR> reprcrash=self._getreprcrash(), INTERNALERROR> ) INTERNALERROR> INTERNALERROR> fmt = FormattedExcinfo( INTERNALERROR> showlocals=showlocals, INTERNALERROR> style=style, INTERNALERROR> abspath=abspath, INTERNALERROR> tbfilter=tbfilter, INTERNALERROR> funcargs=funcargs, INTERNALERROR> truncate_locals=truncate_locals, INTERNALERROR> chain=chain, INTERNALERROR> ) INTERNALERROR> > return fmt.repr_excinfo(self) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:701: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = FormattedExcinfo(showlocals=False, style='long', abspath=False, tbfilter=False, funcargs=True, truncate_locals=True, chain=True) INTERNALERROR> excinfo = INTERNALERROR> INTERNALERROR> def repr_excinfo( INTERNALERROR> self, excinfo: ExceptionInfo[BaseException] INTERNALERROR> ) -> "ExceptionChainRepr": INTERNALERROR> repr_chain: List[ INTERNALERROR> Tuple[ReprTraceback, Optional[ReprFileLocation], Optional[str]] INTERNALERROR> ] = [] INTERNALERROR> e: Optional[BaseException] = excinfo.value INTERNALERROR> excinfo_: Optional[ExceptionInfo[BaseException]] = excinfo INTERNALERROR> descr = None INTERNALERROR> seen: Set[int] = set() INTERNALERROR> while e is not None and id(e) not in seen: INTERNALERROR> seen.add(id(e)) INTERNALERROR> INTERNALERROR> if excinfo_: INTERNALERROR> # Fall back to native traceback as a temporary workaround until INTERNALERROR> # full support for exception groups added to ExceptionInfo. INTERNALERROR> # See https://github.com/pytest-dev/pytest/issues/9159 INTERNALERROR> if isinstance(e, BaseExceptionGroup): INTERNALERROR> reprtraceback: Union[ INTERNALERROR> ReprTracebackNative, ReprTraceback INTERNALERROR> ] = ReprTracebackNative( INTERNALERROR> traceback.format_exception( INTERNALERROR> type(excinfo_.value), INTERNALERROR> excinfo_.value, INTERNALERROR> excinfo_.traceback[0]._rawentry, INTERNALERROR> ) INTERNALERROR> ) INTERNALERROR> else: INTERNALERROR> > reprtraceback = self.repr_traceback(excinfo_) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:989: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = FormattedExcinfo(showlocals=False, style='long', abspath=False, tbfilter=False, funcargs=True, truncate_locals=True, chain=True) INTERNALERROR> excinfo = INTERNALERROR> INTERNALERROR> def repr_traceback(self, excinfo: ExceptionInfo[BaseException]) -> "ReprTraceback": INTERNALERROR> traceback = excinfo.traceback INTERNALERROR> if callable(self.tbfilter): INTERNALERROR> traceback = self.tbfilter(excinfo) INTERNALERROR> elif self.tbfilter: INTERNALERROR> traceback = traceback.filter(excinfo) INTERNALERROR> INTERNALERROR> if isinstance(excinfo.value, RecursionError): INTERNALERROR> traceback, extraline = self._truncate_recursive_traceback(traceback) INTERNALERROR> else: INTERNALERROR> extraline = None INTERNALERROR> INTERNALERROR> if not traceback: INTERNALERROR> if extraline is None: INTERNALERROR> extraline = "All traceback entries are hidden. Pass `--full-trace` to see hidden and internal frames." INTERNALERROR> entries = [self.repr_traceback_entry(None, excinfo)] INTERNALERROR> return ReprTraceback(entries, extraline, style=self.style) INTERNALERROR> INTERNALERROR> last = traceback[-1] INTERNALERROR> if self.style == "value": INTERNALERROR> entries = [self.repr_traceback_entry(last, excinfo)] INTERNALERROR> return ReprTraceback(entries, None, style=self.style) INTERNALERROR> INTERNALERROR> entries = [ INTERNALERROR> > self.repr_traceback_entry(entry, excinfo if last == entry else None) INTERNALERROR> for entry in traceback INTERNALERROR> ] INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:914: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = FormattedExcinfo(showlocals=False, style='long', abspath=False, tbfilter=False, funcargs=True, truncate_locals=True, chain=True) INTERNALERROR> entry = INTERNALERROR> excinfo = None INTERNALERROR> INTERNALERROR> def repr_traceback_entry( INTERNALERROR> self, INTERNALERROR> entry: Optional[TracebackEntry], INTERNALERROR> excinfo: Optional[ExceptionInfo[BaseException]] = None, INTERNALERROR> ) -> "ReprEntry": INTERNALERROR> lines: List[str] = [] INTERNALERROR> style = ( INTERNALERROR> entry._repr_style INTERNALERROR> if entry is not None and entry._repr_style is not None INTERNALERROR> else self.style INTERNALERROR> ) INTERNALERROR> if style in ("short", "long") and entry is not None: INTERNALERROR> > source = self._getentrysource(entry) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:852: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = FormattedExcinfo(showlocals=False, style='long', abspath=False, tbfilter=False, funcargs=True, truncate_locals=True, chain=True) INTERNALERROR> entry = INTERNALERROR> INTERNALERROR> def _getentrysource(self, entry: TracebackEntry) -> Optional["Source"]: INTERNALERROR> > source = entry.getsource(self.astcache) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:754: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> self = INTERNALERROR> astcache = {PosixPath('/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py'):...35ffd0>, PosixPath('/usr/lib/python3.12/site-packages/pluggy/_hooks.py'): , ...} INTERNALERROR> INTERNALERROR> def getsource( INTERNALERROR> self, astcache: Optional[Dict[Union[str, Path], ast.AST]] = None INTERNALERROR> ) -> Optional["Source"]: INTERNALERROR> """Return failing source code.""" INTERNALERROR> # we use the passed in astcache to not reparse asttrees INTERNALERROR> # within exception info printing INTERNALERROR> source = self.frame.code.fullsource INTERNALERROR> if source is None: INTERNALERROR> return None INTERNALERROR> key = astnode = None INTERNALERROR> if astcache is not None: INTERNALERROR> key = self.frame.code.path INTERNALERROR> if key is not None: INTERNALERROR> astnode = astcache.get(key, None) INTERNALERROR> start = self.getfirstlinesource() INTERNALERROR> try: INTERNALERROR> > astnode, _, end = getstatementrange_ast( INTERNALERROR> self.lineno, source, astnode=astnode INTERNALERROR> ) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:262: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> lineno = 112, source = <_pytest._code.source.Source object at 0xffffff7e66cdd0> INTERNALERROR> assertion = False, astnode = INTERNALERROR> INTERNALERROR> def getstatementrange_ast( INTERNALERROR> lineno: int, INTERNALERROR> source: Source, INTERNALERROR> assertion: bool = False, INTERNALERROR> astnode: Optional[ast.AST] = None, INTERNALERROR> ) -> Tuple[ast.AST, int, int]: INTERNALERROR> if astnode is None: INTERNALERROR> content = str(source) INTERNALERROR> # See #4260: INTERNALERROR> # Don't produce duplicate warnings when compiling source to find AST. INTERNALERROR> with warnings.catch_warnings(): INTERNALERROR> warnings.simplefilter("ignore") INTERNALERROR> astnode = ast.parse(content, "source", "exec") INTERNALERROR> INTERNALERROR> > start, end = get_statement_startend2(lineno, astnode) INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py:187: INTERNALERROR> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ INTERNALERROR> INTERNALERROR> lineno = 112, node = INTERNALERROR> INTERNALERROR> def get_statement_startend2(lineno: int, node: ast.AST) -> Tuple[int, Optional[int]]: INTERNALERROR> # Flatten all statements and except handlers into one lineno-list. INTERNALERROR> # AST's line numbers start indexing at 1. INTERNALERROR> values: List[int] = [] INTERNALERROR> for x in ast.walk(node): INTERNALERROR> if isinstance(x, (ast.stmt, ast.ExceptHandler)): INTERNALERROR> # Before Python 3.8, the lineno of a decorated class or function pointed at the decorator. INTERNALERROR> # Since Python 3.8, the lineno points to the class/def, so need to include the decorators. INTERNALERROR> if isinstance(x, (ast.ClassDef, ast.FunctionDef, ast.AsyncFunctionDef)): INTERNALERROR> for d in x.decorator_list: INTERNALERROR> values.append(d.lineno - 1) INTERNALERROR> values.append(x.lineno - 1) INTERNALERROR> for name in ("finalbody", "orelse"): INTERNALERROR> > val: Optional[List[ast.stmt]] = getattr(x, name, None) INTERNALERROR> E Failed: Timeout >30.0s INTERNALERROR> INTERNALERROR> /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py:159: Failed ============================ no tests ran in 30.22s ============================ ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592295190912) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _______ TestImportHookInstallation.test_installed_plugin_rewrite[plain] ________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = mode = 'plain' monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff8de5bdd0> @pytest.mark.parametrize("mode", ["plain", "rewrite"]) def test_installed_plugin_rewrite( self, pytester: Pytester, mode, monkeypatch ) -> None: monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) # Make sure the hook is installed early enough so that plugins # installed via setuptools are rewritten. pytester.mkdir("hampkg") contents = { "hampkg/__init__.py": """\ import pytest @pytest.fixture def check_first2(): def check(values, value): assert values.pop(0) == value return check """, "spamplugin.py": """\ import pytest from hampkg import check_first2 @pytest.fixture def check_first(): def check(values, value): assert values.pop(0) == value return check """, "mainwrapper.py": """\ import pytest from _pytest.compat import importlib_metadata class DummyEntryPoint(object): name = 'spam' module_name = 'spam.py' group = 'pytest11' def load(self): import spamplugin return spamplugin class DummyDistInfo(object): version = '1.0' files = ('spamplugin.py', 'hampkg/__init__.py') entry_points = (DummyEntryPoint(),) metadata = {'name': 'foo'} def distributions(): return (DummyDistInfo(),) importlib_metadata.distributions = distributions pytest.main() """, "test_foo.py": """\ def test(check_first): check_first([10, 30], 30) def test2(check_first2): check_first([10, 30], 30) """, } pytester.makepyfile(**contents) > result = pytester.run( sys.executable, "mainwrapper.py", "-s", "--assert=%s" % mode ) /builddir/build/BUILD/pytest-7.4.3/testing/test_assertion.py:235: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 mainwrapper.py -s --assert=plain in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_installed_plugin_rewrite0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592242762112) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ___________________ test_crash_during_shutdown_not_captured ____________________ [gw1] linux -- Python 3.12.0 /usr/bin/python3 pytester = def test_crash_during_shutdown_not_captured(pytester: Pytester) -> None: """ Check that pytest leaves faulthandler disabled if it was not enabled during configure. This prevents us from seeing crashes during interpreter shutdown (see #8260). """ setup_crashing_test(pytester) args = (sys.executable, "-mpytest") > result = pytester.run(*args) /builddir/build/BUILD/pytest-7.4.3/testing/test_faulthandler.py:52: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_crash_during_shutdown_not_captured0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592124760448) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _________________________ test_random_report_log_xdist _________________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff73affd40> run_and_parse = def test_random_report_log_xdist( pytester: Pytester, monkeypatch: MonkeyPatch, run_and_parse: RunAndParse ) -> None: """`xdist` calls pytest_runtest_logreport as they are executed by the workers, with nodes from several nodes overlapping, so junitxml must cope with that to produce correct reports (#1064).""" pytest.importorskip("xdist") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) pytester.makepyfile( """ import pytest, time @pytest.mark.parametrize('i', list(range(30))) def test_x(i): assert i != 22 """ ) _, dom = run_and_parse("-n2") suite_node = dom.find_first_by_tag("testsuite") failed = [] for case_node in suite_node.find_by_tag("testcase"): if case_node.find_first_by_tag("failure"): failed.append(case_node["name"]) > assert failed == ["test_x[22]"] E AssertionError: assert [] == ['test_x[22]'] E Right contains one more item: 'test_x[22]' E Use -v to get more diff /builddir/build/BUILD/pytest-7.4.3/testing/test_junitxml.py:1389: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_random_report_log_xdist0 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 2/2 workers INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once INTERNALERROR> eventcall = self.queue.get(timeout=2.0) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get INTERNALERROR> self.not_empty.wait(remaining) INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait INTERNALERROR> gotit = waiter.acquire(True, timeout) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================ no tests ran in 27.49s ============================ ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591911338368) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591902945664) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _______________________________ test_argcomplete _______________________________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff92b44140> def test_argcomplete(pytester: Pytester, monkeypatch: MonkeyPatch) -> None: try: # New in Python 3.11, ignores utf-8 mode encoding = locale.getencoding() # type: ignore[attr-defined] except AttributeError: encoding = locale.getpreferredencoding(False) try: bash_version = subprocess.run( ["bash", "--version"], stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, check=True, text=True, encoding=encoding, ).stdout except (OSError, subprocess.CalledProcessError): pytest.skip("bash is not available") if "GNU bash" not in bash_version: # See #7518. pytest.skip("not a real bash") script = str(pytester.path.joinpath("test_argcomplete")) with open(str(script), "w", encoding="utf-8") as fp: # redirect output from argcomplete to stdin and stderr is not trivial # http://stackoverflow.com/q/12589419/1307905 # so we use bash fp.write( 'COMP_WORDBREAKS="$COMP_WORDBREAKS" {} -m pytest 8>&1 9>&2'.format( shlex.quote(sys.executable) ) ) # alternative would be extended Pytester.{run(),_run(),popen()} to be able # to handle a keyword argument env that replaces os.environ in popen or # extends the copy, advantage: could not forget to restore monkeypatch.setenv("_ARGCOMPLETE", "1") monkeypatch.setenv("_ARGCOMPLETE_IFS", "\x0b") monkeypatch.setenv("COMP_WORDBREAKS", " \\t\\n\"\\'><=;|&(:") arg = "--fu" monkeypatch.setenv("COMP_LINE", "pytest " + arg) monkeypatch.setenv("COMP_POINT", str(len("pytest " + arg))) result = pytester.run("bash", str(script), arg) if result.ret == 255: # argcomplete not found pytest.skip("argcomplete not available") elif not result.stdout.str(): pytest.skip( "bash provided no output on stdout, argcomplete not available? (stderr={!r})".format( result.stderr.str() ) ) else: result.stdout.fnmatch_lines(["--funcargs", "--fulltrace"]) os.mkdir("test_argcomplete.d") arg = "test_argc" monkeypatch.setenv("COMP_LINE", "pytest " + arg) monkeypatch.setenv("COMP_POINT", str(len("pytest " + arg))) > result = pytester.run("bash", str(script), arg) /builddir/build/BUILD/pytest-7.4.3/testing/test_parseopt.py:350: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: bash /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_argcomplete0/test_argcomplete --fu in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_argcomplete0 --funcargs --fulltrace --full-trace running: bash /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_argcomplete0/test_argcomplete test_argc in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_argcomplete0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592330842496) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ____________________________ test_runs_twice_xdist _____________________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff823cdc70> run_and_parse = def test_runs_twice_xdist( pytester: Pytester, monkeypatch: MonkeyPatch, run_and_parse: RunAndParse ) -> None: pytest.importorskip("xdist") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD") f = pytester.makepyfile( """ def test_pass(): pass """ ) result, dom = run_and_parse(f, "--dist", "each", "--tx", "2*popen") > result.stdout.no_fnmatch_line("*INTERNALERROR*") E Failed: nomatch: '*INTERNALERROR*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_runs_twice_xdist0' E and: 'plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0' E and: 'created: 2/2 workers' E fnmatch: '*INTERNALERROR*' E with: 'INTERNALERROR> Traceback (most recent call last):' /builddir/build/BUILD/pytest-7.4.3/testing/test_junitxml.py:1436: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_runs_twice_xdist0 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 2/2 workers INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once INTERNALERROR> eventcall = self.queue.get(timeout=2.0) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get INTERNALERROR> self.not_empty.wait(remaining) INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait INTERNALERROR> gotit = waiter.acquire(True, timeout) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================ no tests ran in 26.86s ============================ ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591672332672) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591919731072) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ____________ TestPytestPluginManager.test_pluginmanager_ENV_startup ____________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 cls = func = . at 0xffffff92db49a0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:262: in lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: in __call__ return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:88: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: yield if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib64/python3.12/subprocess.py", line 1127, in __del__ E _warn("subprocess %s is still running" % self.pid, E ResourceWarning: subprocess 779587 is still running /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_pluginmanager_ENV_startup0 collected 1 item test_pluginmanager_ENV_startup.py . [100%] ============================== 1 passed in 0.55s =============================== __________________ TestProgressOutputStyle.test_xdist_normal ___________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = many_tests_files = None pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff73aff0b0> def test_xdist_normal( self, many_tests_files, pytester: Pytester, monkeypatch ) -> None: pytest.importorskip("xdist") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) output = pytester.runpytest("-n2") > output.stdout.re_match_lines([r"\.{20} \s+ \[100%\]"]) E Failed: nomatch: '\\.{20} \\s+ \\[100%\\]' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_xdist_normal0' E and: 'plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0' E and: 'created: 2/2 workers' E and: '2 workers [20 items]' E and: '' E and: '..........INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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 "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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.12/site-packages/pluggy/_hooks.py", line 493, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop' E and: 'INTERNALERROR> self.loop_once()' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 148, in loop_once' E and: 'INTERNALERROR> call(**kwargs)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 295, in worker_runtest_protocol_complete' E and: 'INTERNALERROR> self.sched.mark_test_complete(node, item_index, duration)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 153, in mark_test_complete' E and: 'INTERNALERROR> self.check_schedule(node, duration=duration)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 191, in check_schedule' E and: 'INTERNALERROR> self._send_tests(node, min(num_send, maxschedchunk))' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 290, in _send_tests' E and: 'INTERNALERROR> node.send_runtest_some(tests_per_node)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/workermanage.py", line 298, in send_runtest_some' E and: 'INTERNALERROR> self.sendcommand("runtests", indices=indices)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/workermanage.py", line 317, in sendcommand' E and: 'INTERNALERROR> self.channel.send((name, kwargs))' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 729, in send' E and: 'INTERNALERROR> self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item))' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1371, in dumps_internal' E and: 'INTERNALERROR> return _Serializer().save(obj)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1389, in save' E and: 'INTERNALERROR> self._save(obj)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1407, in _save' E and: 'INTERNALERROR> dispatch(self, obj)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1494, in save_tuple' E and: 'INTERNALERROR> self._save(item)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1407, in _save' E and: 'INTERNALERROR> dispatch(self, obj)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1489, in save_dict' E and: 'INTERNALERROR> for key, value in d.items():' E and: 'INTERNALERROR> ^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler' E and: 'INTERNALERROR> timeout_sigalrm(item, settings)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm' E and: 'INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail' E and: 'INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace)' E and: 'INTERNALERROR> Failed: Timeout >30.0s' E and: '' E and: '============================= 10 passed in 29.52s ==============================' E remains unmatched: '\\.{20} \\s+ \\[100%\\]' /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:2178: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_xdist_normal0 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 2/2 workers 2 workers [20 items] ..........INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 148, in loop_once INTERNALERROR> call(**kwargs) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 295, in worker_runtest_protocol_complete INTERNALERROR> self.sched.mark_test_complete(node, item_index, duration) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 153, in mark_test_complete INTERNALERROR> self.check_schedule(node, duration=duration) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 191, in check_schedule INTERNALERROR> self._send_tests(node, min(num_send, maxschedchunk)) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/scheduler/load.py", line 290, in _send_tests INTERNALERROR> node.send_runtest_some(tests_per_node) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/workermanage.py", line 298, in send_runtest_some INTERNALERROR> self.sendcommand("runtests", indices=indices) INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/workermanage.py", line 317, in sendcommand INTERNALERROR> self.channel.send((name, kwargs)) INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 729, in send INTERNALERROR> self.gateway._send(Message.CHANNEL_DATA, self.id, dumps_internal(item)) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1371, in dumps_internal INTERNALERROR> return _Serializer().save(obj) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1389, in save INTERNALERROR> self._save(obj) INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1407, in _save INTERNALERROR> dispatch(self, obj) INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1494, in save_tuple INTERNALERROR> self._save(item) INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1407, in _save INTERNALERROR> dispatch(self, obj) INTERNALERROR> File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 1489, in save_dict INTERNALERROR> for key, value in d.items(): INTERNALERROR> ^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================= 10 passed in 29.52s ============================== ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591902945664) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591680725376) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _______________ TestCollectonly.test_collect_only_summary_status _______________ [gw3] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_collect_only_summary_status(self, pytester: Pytester) -> None: """Custom status depending on test selection using -k or -m. #7701.""" pytester.makepyfile( test_collect_foo=""" def test_foo(): pass """, test_collect_bar=""" def test_foobar(): pass def test_bar(): pass """, ) result = pytester.runpytest("--collect-only") result.stdout.fnmatch_lines("*== 3 tests collected in * ==*") result = pytester.runpytest("--collect-only", "test_collect_foo.py") result.stdout.fnmatch_lines("*== 1 test collected in * ==*") result = pytester.runpytest("--collect-only", "-k", "foo") result.stdout.fnmatch_lines("*== 2/3 tests collected (1 deselected) in * ==*") result = pytester.runpytest("--collect-only", "-k", "test_bar") result.stdout.fnmatch_lines("*== 1/3 tests collected (2 deselected) in * ==*") result = pytester.runpytest("--collect-only", "-k", "invalid") result.stdout.fnmatch_lines("*== no tests collected (3 deselected) in * ==*") pytester.mkdir("no_tests_here") result = pytester.runpytest("--collect-only", "no_tests_here") result.stdout.fnmatch_lines("*== no tests collected in * ==*") pytester.makepyfile( test_contains_error=""" raise RuntimeError """, ) result = pytester.runpytest("--collect-only") result.stdout.fnmatch_lines("*== 3 tests collected, 1 error in * ==*") result = pytester.runpytest("--collect-only", "-k", "foo") > result.stdout.fnmatch_lines( "*== 2/3 tests collected (1 deselected), 1 error in * ==*" ) E Failed: nomatch: '*== 2/3 tests collected (1 deselected), 1 error in * ==*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0' E and: 'collected 3 items' E and: '' E and: '' E and: ' ' E and: ' ' E and: '' E and: ' ' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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 "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 324, in _main' E and: 'INTERNALERROR> config.hook.pytest_collection(session=session)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 335, in pytest_collection' E and: 'INTERNALERROR> session.perform_collect()' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 675, in perform_collect' E and: 'INTERNALERROR> self.items.extend(self.genitems(node))' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 842, in genitems' E and: 'INTERNALERROR> rep = collect_one_node(node)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py", line 547, in collect_one_node' E and: 'INTERNALERROR> rep: CollectReport = ihook.pytest_make_collect_report(collector=collector)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 130, in _multicall' E and: 'INTERNALERROR> teardown[0].send(outcome)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/capture.py", line 859, in pytest_make_collect_report' E and: 'INTERNALERROR> rep = outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py", line 391, in pytest_make_collect_report' E and: 'INTERNALERROR> errorinfo = collector.repr_failure(call.excinfo)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/nodes.py", line 562, in repr_failure' E and: 'INTERNALERROR> return self._repr_failure_py(excinfo, style=tbstyle)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/nodes.py", line 486, in _repr_failure_py' E and: 'INTERNALERROR> return excinfo.getrepr(' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 701, in getrepr' E and: 'INTERNALERROR> return fmt.repr_excinfo(self)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 989, in repr_excinfo' E and: 'INTERNALERROR> reprtraceback = self.repr_traceback(excinfo_)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 914, in repr_traceback' E and: 'INTERNALERROR> self.repr_traceback_entry(entry, excinfo if last == entry else None)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 852, in repr_traceback_entry' E and: 'INTERNALERROR> source = self._getentrysource(entry)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 754, in _getentrysource' E and: 'INTERNALERROR> source = entry.getsource(self.astcache)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 262, in getsource' E and: 'INTERNALERROR> astnode, _, end = getstatementrange_ast(' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py", line 187, in getstatementrange_ast' E and: 'INTERNALERROR> start, end = get_statement_startend2(lineno, astnode)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py", line 151, in get_statement_startend2' E and: 'INTERNALERROR> if isinstance(x, (ast.stmt, ast.ExceptHandler)):' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler' E and: 'INTERNALERROR> timeout_sigalrm(item, settings)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm' E and: 'INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail' E and: 'INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace)' E and: 'INTERNALERROR> Failed: Timeout >30.0s' E and: '' E and: '========================== 3 tests collected in 6.86s ==========================' E remains unmatched: '*== 2/3 tests collected (1 deselected), 1 error in * ==*' /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:605: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items ========================== 3 tests collected in 0.34s ========================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 1 item ========================== 1 test collected in 0.06s =========================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items / 1 deselected / 2 selected ================= 2/3 tests collected (1 deselected) in 0.37s ================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items / 2 deselected / 1 selected ================= 1/3 tests collected (2 deselected) in 0.20s ================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items / 3 deselected / 0 selected ================== no tests collected (3 deselected) in 0.11s ================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 0 items ========================= no tests collected in 0.03s ========================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items / 1 error ==================================== ERRORS ==================================== ___________________ ERROR collecting test_contains_error.py ____________________ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:341: in from_call result: Optional[TResult] = func() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:372: in call = CallInfo.from_call(lambda: list(collector.collect()), "collect") /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:531: in collect self._inject_setup_module_fixture() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture self.obj, ("setUpModule", "setup_module") /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:310: in obj self._obj = obj = self._getobj() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:528: in _getobj return self._importtestmodule() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:617: in _importtestmodule mod = import_path(self.path, mode=importmode, root=self.config.rootpath) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/pathlib.py:567: in import_path importlib.import_module(module_name) /usr/lib64/python3.12/importlib/__init__.py:90: in import_module return _bootstrap._gcd_import(name[level:], package, level) :1381: in _gcd_import ??? :1354: in _find_and_load ??? :1325: in _find_and_load_unlocked ??? :929: in _load_unlocked ??? /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/assertion/rewrite.py:186: in exec_module exec(co, module.__dict__) test_contains_error.py:1: in raise RuntimeError E RuntimeError =========================== short test summary info ============================ ERROR test_contains_error.py - RuntimeError !!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!! ===================== 3 tests collected, 1 error in 9.01s ====================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_collect_only_summary_status0 collected 3 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 675, in perform_collect INTERNALERROR> self.items.extend(self.genitems(node)) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 842, in genitems INTERNALERROR> rep = collect_one_node(node) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py", line 547, in collect_one_node INTERNALERROR> rep: CollectReport = ihook.pytest_make_collect_report(collector=collector) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 130, in _multicall INTERNALERROR> teardown[0].send(outcome) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/capture.py", line 859, in pytest_make_collect_report INTERNALERROR> rep = outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py", line 391, in pytest_make_collect_report INTERNALERROR> errorinfo = collector.repr_failure(call.excinfo) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/nodes.py", line 562, in repr_failure INTERNALERROR> return self._repr_failure_py(excinfo, style=tbstyle) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/nodes.py", line 486, in _repr_failure_py INTERNALERROR> return excinfo.getrepr( INTERNALERROR> ^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 701, in getrepr INTERNALERROR> return fmt.repr_excinfo(self) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 989, in repr_excinfo INTERNALERROR> reprtraceback = self.repr_traceback(excinfo_) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 914, in repr_traceback INTERNALERROR> self.repr_traceback_entry(entry, excinfo if last == entry else None) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 852, in repr_traceback_entry INTERNALERROR> source = self._getentrysource(entry) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 754, in _getentrysource INTERNALERROR> source = entry.getsource(self.astcache) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py", line 262, in getsource INTERNALERROR> astnode, _, end = getstatementrange_ast( INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py", line 187, in getstatementrange_ast INTERNALERROR> start, end = get_statement_startend2(lineno, astnode) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/source.py", line 151, in get_statement_startend2 INTERNALERROR> if isinstance(x, (ast.stmt, ast.ExceptHandler)): INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ========================== 3 tests collected in 6.86s ========================== __________________ TestProgressOutputStyle.test_xdist_verbose __________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = many_tests_files = None pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff73de9850> def test_xdist_verbose( self, many_tests_files, pytester: Pytester, monkeypatch ) -> None: pytest.importorskip("xdist") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) output = pytester.runpytest("-n2", "-v") > output.stdout.re_match_lines_random( [ r"\[gw\d\] \[\s*\d+%\] PASSED test_bar.py::test_bar\[1\]", r"\[gw\d\] \[\s*\d+%\] PASSED test_foo.py::test_foo\[1\]", r"\[gw\d\] \[\s*\d+%\] PASSED test_foobar.py::test_foobar\[1\]", ] ) E Failed: line '\\[gw\\d\\] \\[\\s*\\d+%\\] PASSED test_bar.py::test_bar\\[1\\]' not found in output /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:2200: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 -- /usr/bin/python3 cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/builddir/build/BUILD/pytest-7.4.3/.hypothesis/examples') rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_xdist_verbose0 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 2/2 workers INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once INTERNALERROR> eventcall = self.queue.get(timeout=2.0) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get INTERNALERROR> self.not_empty.wait(remaining) INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait INTERNALERROR> gotit = waiter.acquire(True, timeout) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================ no tests ran in 36.00s ============================ ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591672332672) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591919731072) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ____________________________ test_resource_warning _____________________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff7e5dc260> def test_resource_warning(pytester: Pytester, monkeypatch: pytest.MonkeyPatch) -> None: # Some platforms (notably PyPy) don't have tracemalloc. # We choose to explicitly not skip this in case tracemalloc is not # available, using `importorskip("tracemalloc")` for example, # because we want to ensure the same code path does not break in those platforms. try: import tracemalloc # noqa has_tracemalloc = True except ImportError: has_tracemalloc = False # Explicitly disable PYTHONTRACEMALLOC in case pytest's test suite is running # with it enabled. monkeypatch.delenv("PYTHONTRACEMALLOC", raising=False) pytester.makepyfile( """ def open_file(p): f = p.open("r", encoding="utf-8") assert p.read_text() == "hello" def test_resource_warning(tmp_path): p = tmp_path.joinpath("foo.txt") p.write_text("hello", encoding="utf-8") open_file(p) """ ) result = pytester.run(sys.executable, "-Xdev", "-m", "pytest") expected_extra = ( [ "*ResourceWarning* unclosed file*", "*Enable tracemalloc to get traceback where the object was allocated*", "*See https* for more info.", ] if has_tracemalloc else [] ) result.stdout.fnmatch_lines([*expected_extra, "*1 passed*"]) monkeypatch.setenv("PYTHONTRACEMALLOC", "20") > result = pytester.run(sys.executable, "-Xdev", "-m", "pytest") /builddir/build/BUILD/pytest-7.4.3/testing/test_warnings.py:836: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -Xdev -m pytest in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_resource_warning0 ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_resource_warning0 collected 1 item test_resource_warning.py . [100%] =============================== warnings summary =============================== test_resource_warning.py::test_resource_warning /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_resource_warning0/test_resource_warning.py:8: ResourceWarning: unclosed file <_io.TextIOWrapper name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/tmp-test_resource_warning0/pytest-of-mockbuild/pytest-0/test_resource_warning0/foo.txt' mode='r' encoding='utf-8'> open_file(p) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ========================= 1 passed, 1 warning in 0.79s ========================= running: /usr/bin/python3 -Xdev -m pytest in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_resource_warning0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592295190912) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ___________________________ test_match_raises_error ____________________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 cls = func = . at 0xffffff7e52f060> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:262: in lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: in __call__ return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:88: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: yield if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib64/python3.12/subprocess.py", line 1127, in __del__ E _warn("subprocess %s is still running" % self.pid, E ResourceWarning: subprocess 779655 is still running /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_match_raises_error0 collected 1 item test_match_raises_error.py F [100%] =================================== FAILURES =================================== ______________________________ test_division_zero ______________________________ test_match_raises_error.py:5: in test_division_zero excinfo.match(r'[123]+') E AssertionError: Regex pattern did not match. E Regex: '[123]+' E Input: 'division by zero' =========================== short test summary info ============================ FAILED test_match_raises_error.py::test_division_zero - AssertionError: Regex... ============================== 1 failed in 0.65s =============================== ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_match_raises_error0 collected 1 item test_match_raises_error.py F [100%] =================================== FAILURES =================================== ______________________________ test_division_zero ______________________________ cls = func = . at 0xffffff7da9b060> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > lambda: ihook(item=item, **kwds), when=when, reraise=reraise ) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:262: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'item': }, firstresult = False def __call__(self, **kwargs: object) -> Any: """Call the hook. Only accepts keyword arguments, which should match the hook specification. Returns the result(s) of calling all registered plugins, see :ref:`calling`. """ assert ( not self.is_historic() ), "Cannot directly call a historic hook - use call_historic instead." self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False > return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0xffffff7e4e49b0> hook_name = 'pytest_runtest_call' methods = [>] kwargs = {'item': }, firstresult = False def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': }, firstresult = False def traced_hookexec( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: before(hook_name, hook_impls, caller_kwargs) outcome = Result.from_call( lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ) after(outcome, hook_name, hook_impls, caller_kwargs) > return outcome.get_result() /usr/lib/python3.12/site-packages/pluggy/_manager.py:457: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def get_result(self) -> ResultType: """Get the result(s) for this hook call. If the hook was marked as a ``firstresult`` only a single value will be returned, otherwise a list of results. """ __tracebackhide__ = True exc = self._exception if exc is None: return cast(ResultType, self._result) else: > raise exc.with_traceback(exc.__traceback__) /usr/lib/python3.12/site-packages/pluggy/_result.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = func = .traced_hookexec.. at 0xffffff7da99c60> @classmethod def from_call(cls, func: Callable[[], ResultType]) -> Result[ResultType]: """:meta private:""" __tracebackhide__ = True result = exception = None try: > result = func() /usr/lib/python3.12/site-packages/pluggy/_result.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ) /usr/lib/python3.12/site-packages/pluggy/_manager.py:454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': }, firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from HookCaller.__call__(). """ __tracebackhide__ = True results: list[object] = [] exception = None only_new_style_wrappers = True try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen,)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: # Fast path - only new-style wrappers, no Result. if only_new_style_wrappers: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: teardown.throw(exception) # type: ignore[union-attr] else: teardown.send(result) # type: ignore[union-attr] # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() # type: ignore[union-attr] except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield") # type: ignore[arg-type] if exception is not None: raise exception.with_traceback(exception.__traceback__) else: return result # Slow path - need to support old-style wrappers. else: if firstresult: # first result hooks return a single value outcome: Result[object | list[object]] = Result( results[0] if results else None, exception ) else: outcome = Result(results, exception) # run all wrapper post-yield blocks for teardown in reversed(teardowns): if isinstance(teardown, tuple): try: teardown[0].send(outcome) _raise_wrapfail(teardown[0], "has second yield") except StopIteration: pass else: try: if outcome._exception is not None: teardown.throw(outcome._exception) else: teardown.send(outcome._result) # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() except StopIteration as si: outcome.force_result(si.value) continue except BaseException as e: outcome.force_exception(e) continue _raise_wrapfail(teardown, "has second yield") > return outcome.get_result() /usr/lib/python3.12/site-packages/pluggy/_callers.py:152: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def get_result(self) -> ResultType: """Get the result(s) for this hook call. If the hook was marked as a ``firstresult`` only a single value will be returned, otherwise a list of results. """ __tracebackhide__ = True exc = self._exception if exc is None: return cast(ResultType, self._result) else: > raise exc.with_traceback(exc.__traceback__) /usr/lib/python3.12/site-packages/pluggy/_result.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_runtest_call' hook_impls = [>] caller_kwargs = {'item': }, firstresult = False def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from HookCaller.__call__(). """ __tracebackhide__ = True results: list[object] = [] exception = None only_new_style_wrappers = True try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen,)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) /usr/lib/python3.12/site-packages/pluggy/_callers.py:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback except AttributeError: pass try: item.runtest() except Exception as e: # Store trace info to allow postmortem debugging sys.last_type = type(e) sys.last_value = e assert e.__traceback__ is not None # Skip *this* frame sys.last_traceback = e.__traceback__.tb_next > raise e /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ item = def pytest_runtest_call(item: Item) -> None: _update_current_test_var(item, "call") try: del sys.last_type del sys.last_value del sys.last_traceback except AttributeError: pass try: > item.runtest() /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/runner.py:169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def runtest(self) -> None: """Execute the underlying test function.""" > self.ihook.pytest_pyfunc_call(pyfuncitem=self) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:1792: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = kwargs = {'pyfuncitem': }, firstresult = True def __call__(self, **kwargs: object) -> Any: """Call the hook. Only accepts keyword arguments, which should match the hook specification. Returns the result(s) of calling all registered plugins, see :ref:`calling`. """ assert ( not self.is_historic() ), "Cannot directly call a historic hook - use call_historic instead." self._verify_all_args_are_provided(kwargs) firstresult = self.spec.opts.get("firstresult", False) if self.spec else False > return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_hooks.py:493: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.config.PytestPluginManager object at 0xffffff7e4e49b0> hook_name = 'pytest_pyfunc_call' methods = [>] kwargs = {'pyfuncitem': }, firstresult = True def _hookexec( self, hook_name: str, methods: Sequence[HookImpl], kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: # called from all hookcaller instances. # enable_tracing will set its own wrapping function at self._inner_hookexec > return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:115: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_pyfunc_call' hook_impls = [>] caller_kwargs = {'pyfuncitem': } firstresult = True def traced_hookexec( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: before(hook_name, hook_impls, caller_kwargs) outcome = Result.from_call( lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ) after(outcome, hook_name, hook_impls, caller_kwargs) > return outcome.get_result() /usr/lib/python3.12/site-packages/pluggy/_manager.py:457: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def get_result(self) -> ResultType: """Get the result(s) for this hook call. If the hook was marked as a ``firstresult`` only a single value will be returned, otherwise a list of results. """ __tracebackhide__ = True exc = self._exception if exc is None: return cast(ResultType, self._result) else: > raise exc.with_traceback(exc.__traceback__) /usr/lib/python3.12/site-packages/pluggy/_result.py:114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = func = .traced_hookexec.. at 0xffffff7da993a0> @classmethod def from_call(cls, func: Callable[[], ResultType]) -> Result[ResultType]: """:meta private:""" __tracebackhide__ = True result = exception = None try: > result = func() /usr/lib/python3.12/site-packages/pluggy/_result.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) ) /usr/lib/python3.12/site-packages/pluggy/_manager.py:454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_pyfunc_call' hook_impls = [>] caller_kwargs = {'pyfuncitem': } firstresult = True def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from HookCaller.__call__(). """ __tracebackhide__ = True results: list[object] = [] exception = None only_new_style_wrappers = True try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen,)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: res = hook_impl.function(*args) if res is not None: results.append(res) if firstresult: # halt further impl calls break except BaseException as exc: exception = exc finally: # Fast path - only new-style wrappers, no Result. if only_new_style_wrappers: if firstresult: # first result hooks return a single value result = results[0] if results else None else: result = results # run all wrapper post-yield blocks for teardown in reversed(teardowns): try: if exception is not None: teardown.throw(exception) # type: ignore[union-attr] else: teardown.send(result) # type: ignore[union-attr] # Following is unreachable for a well behaved hook wrapper. # Try to force finalizers otherwise postponed till GC action. # Note: close() may raise if generator handles GeneratorExit. teardown.close() # type: ignore[union-attr] except StopIteration as si: result = si.value exception = None continue except BaseException as e: exception = e continue _raise_wrapfail(teardown, "has second yield") # type: ignore[arg-type] if exception is not None: > raise exception.with_traceback(exception.__traceback__) /usr/lib/python3.12/site-packages/pluggy/_callers.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ hook_name = 'pytest_pyfunc_call' hook_impls = [>] caller_kwargs = {'pyfuncitem': } firstresult = True def _multicall( hook_name: str, hook_impls: Sequence[HookImpl], caller_kwargs: Mapping[str, object], firstresult: bool, ) -> object | list[object]: """Execute a call into multiple python functions/methods and return the result(s). ``caller_kwargs`` comes from HookCaller.__call__(). """ __tracebackhide__ = True results: list[object] = [] exception = None only_new_style_wrappers = True try: # run impl and wrapper setup functions in a loop teardowns: list[Teardown] = [] try: for hook_impl in reversed(hook_impls): try: args = [caller_kwargs[argname] for argname in hook_impl.argnames] except KeyError: for argname in hook_impl.argnames: if argname not in caller_kwargs: raise HookCallError( f"hook call must provide argument {argname!r}" ) if hook_impl.hookwrapper: only_new_style_wrappers = False try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) wrapper_gen = cast(Generator[None, Result[object], None], res) next(wrapper_gen) # first yield teardowns.append((wrapper_gen,)) except StopIteration: _raise_wrapfail(wrapper_gen, "did not yield") elif hook_impl.wrapper: try: # If this cast is not valid, a type error is raised below, # which is the desired response. res = hook_impl.function(*args) function_gen = cast(Generator[None, object, object], res) next(function_gen) # first yield teardowns.append(function_gen) except StopIteration: _raise_wrapfail(function_gen, "did not yield") else: > res = hook_impl.function(*args) /usr/lib/python3.12/site-packages/pluggy/_callers.py:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pyfuncitem = @hookimpl(trylast=True) def pytest_pyfunc_call(pyfuncitem: "Function") -> Optional[object]: testfunction = pyfuncitem.obj if is_async_function(testfunction): async_warn_and_skip(pyfuncitem.nodeid) funcargs = pyfuncitem.funcargs testargs = {arg: funcargs[arg] for arg in pyfuncitem._fixtureinfo.argnames} > result = testfunction(**testargs) /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/python.py:194: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def test_division_zero(): with pytest.raises(ZeroDivisionError) as excinfo: 0 / 0 > excinfo.match(r'[123]+') test_match_raises_error.py:5: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = regexp = '[123]+' def match(self, regexp: Union[str, Pattern[str]]) -> "Literal[True]": """Check whether the regular expression `regexp` matches the string representation of the exception using :func:`python:re.search`. If it matches `True` is returned, otherwise an `AssertionError` is raised. """ __tracebackhide__ = True value = str(self.value) msg = f"Regex pattern did not match.\n Regex: {regexp!r}\n Input: {value!r}" if regexp == value: msg += "\n Did you mean to `re.escape()` the regex?" > assert re.search(regexp, value), msg E AssertionError: Regex pattern did not match. E Regex: '[123]+' E Input: 'division by zero' /builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/_code/code.py:714: AssertionError =========================== short test summary info ============================ FAILED test_match_raises_error.py::test_division_zero - AssertionError: Regex... ============================== 1 failed in 9.08s =============================== __________________ TestProgressWithTeardown.test_xdist_normal __________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = many_files = None pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff8228e6c0> def test_xdist_normal(self, many_files, pytester: Pytester, monkeypatch) -> None: pytest.importorskip("xdist") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD", raising=False) output = pytester.runpytest("-n2") > output.stdout.re_match_lines([r"[\.E]{40} \s+ \[100%\]"]) E Failed: nomatch: '[\\.E]{40} \\s+ \\[100%\\]' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0' E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_xdist_normal1' E and: 'plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0' E and: 'created: 2/2 workers' E and: '2 workers [20 items]' E and: '' E and: '..INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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 "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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.12/site-packages/pluggy/_hooks.py", line 493, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop' E and: 'INTERNALERROR> self.loop_once()' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once' E and: 'INTERNALERROR> eventcall = self.queue.get(timeout=2.0)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get' E and: 'INTERNALERROR> self.not_empty.wait(remaining)' E and: 'INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait' E and: 'INTERNALERROR> gotit = waiter.acquire(True, timeout)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler' E and: 'INTERNALERROR> timeout_sigalrm(item, settings)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm' E and: 'INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail' E and: 'INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace)' E and: 'INTERNALERROR> Failed: Timeout >30.0s' E and: '' E and: '============================== 2 passed in 30.48s ==============================' E remains unmatched: '[\\.E]{40} \\s+ \\[100%\\]' /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:2342: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_xdist_normal1 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 2/2 workers 2 workers [20 items] ..INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once INTERNALERROR> eventcall = self.queue.get(timeout=2.0) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get INTERNALERROR> self.not_empty.wait(remaining) INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait INTERNALERROR> gotit = waiter.acquire(True, timeout) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================== 2 passed in 30.48s ============================== ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591672332672) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057591680725376) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _____________ TestTerminalFunctional.test_verbose_reporting_xdist ______________ [gw3] linux -- Python 3.12.0 /usr/bin/python3 self = verbose_testfile = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_verbose_reporting_xdist0/test_verbose_reporting_xdist.py') monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffffb0a87410> pytester = pytestconfig = <_pytest.config.Config object at 0xffffffb369fbc0> def test_verbose_reporting_xdist( self, verbose_testfile, monkeypatch: MonkeyPatch, pytester: Pytester, pytestconfig, ) -> None: if not pytestconfig.pluginmanager.get_plugin("xdist"): pytest.skip("xdist plugin not installed") monkeypatch.delenv("PYTEST_DISABLE_PLUGIN_AUTOLOAD") result = pytester.runpytest( verbose_testfile, "-v", "-n 1", "-Walways::pytest.PytestWarning" ) > result.stdout.fnmatch_lines( ["*FAIL*test_verbose_reporting_xdist.py::test_fail*"] ) E Failed: nomatch: '*FAIL*test_verbose_reporting_xdist.py::test_fail*' E and: '============================= test session starts ==============================' E and: 'platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 -- /usr/bin/python3' E and: 'cachedir: .pytest_cache' E and: "hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/builddir/build/BUILD/pytest-7.4.3/.hypothesis/examples')" E and: 'rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_verbose_reporting_xdist0' E and: 'plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0' E and: 'created: 1/1 worker' E and: 'INTERNALERROR> Traceback (most recent call last):' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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 "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/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.12/site-packages/pluggy/_hooks.py", line 493, in __call__' E and: 'INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec' E and: 'INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call' E and: 'INTERNALERROR> result = func()' E and: 'INTERNALERROR> ^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in ' E and: 'INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall' E and: 'INTERNALERROR> return outcome.get_result()' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result' E and: 'INTERNALERROR> raise exc.with_traceback(exc.__traceback__)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall' E and: 'INTERNALERROR> res = hook_impl.function(*args)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop' E and: 'INTERNALERROR> self.loop_once()' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once' E and: 'INTERNALERROR> eventcall = self.queue.get(timeout=2.0)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get' E and: 'INTERNALERROR> self.not_empty.wait(remaining)' E and: 'INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait' E and: 'INTERNALERROR> gotit = waiter.acquire(True, timeout)' E and: 'INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler' E and: 'INTERNALERROR> timeout_sigalrm(item, settings)' E and: 'INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm' E and: 'INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout)' E and: 'INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail' E and: 'INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace)' E and: 'INTERNALERROR> Failed: Timeout >30.0s' E and: '' E and: '============================ no tests ran in 29.89s ============================' E remains unmatched: '*FAIL*test_verbose_reporting_xdist.py::test_fail*' /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:1087: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 -- /usr/bin/python3 cachedir: .pytest_cache hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/builddir/build/BUILD/pytest-7.4.3/.hypothesis/examples') rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_verbose_reporting_xdist0 plugins: xdist-3.5.0, timeout-2.2.0, hypothesis-6.82.0 created: 1/1 worker INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/main.py", line 325, in _main INTERNALERROR> config.hook.pytest_runtestloop(session=session) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 493, in __call__ INTERNALERROR> return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 115, in _hookexec INTERNALERROR> return self._inner_hookexec(hook_name, methods, kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> ^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 123, in pytest_runtestloop INTERNALERROR> self.loop_once() INTERNALERROR> File "/usr/lib/python3.12/site-packages/xdist/dsession.py", line 139, in loop_once INTERNALERROR> eventcall = self.queue.get(timeout=2.0) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.12/queue.py", line 180, in get INTERNALERROR> self.not_empty.wait(remaining) INTERNALERROR> File "/usr/lib64/python3.12/threading.py", line 338, in wait INTERNALERROR> gotit = waiter.acquire(True, timeout) INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 264, in handler INTERNALERROR> timeout_sigalrm(item, settings) INTERNALERROR> File "/usr/lib/python3.12/site-packages/pytest_timeout.py", line 448, in timeout_sigalrm INTERNALERROR> pytest.fail("Timeout >%ss" % settings.timeout) INTERNALERROR> File "/builddir/build/BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/outcomes.py", line 198, in fail INTERNALERROR> raise Failed(msg=reason, pytrace=pytrace) INTERNALERROR> Failed: Timeout >30.0s ============================ no tests ran in 29.89s ============================ ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592628638080) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592762855808) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ___________________ TestPDB.test_pdb_print_captured_logs[no] ___________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = showcapture = 'no' @pytest.mark.parametrize("showcapture", ["all", "no", "log"]) def test_pdb_print_captured_logs(self, pytester, showcapture: str) -> None: p1 = pytester.makepyfile( """ def test_1(): import logging logging.warning("get " + "rekt") assert False """ ) child = pytester.spawn_pytest(f"--show-capture={showcapture} --pdb {p1}") if showcapture in ("all", "log"): child.expect("captured log") child.expect("get rekt") > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:274: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs0/temp-pexpect', '--show-capture=no', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs0/test_pdb_print_captured_logs.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779697 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT __________________ TestPDB.test_pdb_print_captured_logs[log] ___________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = showcapture = 'log' @pytest.mark.parametrize("showcapture", ["all", "no", "log"]) def test_pdb_print_captured_logs(self, pytester, showcapture: str) -> None: p1 = pytester.makepyfile( """ def test_1(): import logging logging.warning("get " + "rekt") assert False """ ) child = pytester.spawn_pytest(f"--show-capture={showcapture} --pdb {p1}") if showcapture in ("all", "log"): > child.expect("captured log") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:272: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs1/temp-pexpect', '--show-capture=log', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs1/test_pdb_print_captured_logs.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779705 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs1/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'captured log') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________________ TestPDB.test_pdb_unittest_postmortem _____________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_unittest_postmortem(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import unittest class Blub(unittest.TestCase): def tearDown(self): self.filename = None def test_false(self): self.filename = 'debug' + '.me' assert 0 """ ) child = pytester.spawn_pytest(f"--pdb {p1}") > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:190: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_postmortem0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_postmortem0/test_pdb_unittest_postmortem.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779710 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_postmortem0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ________________ TestPDB.test_pdb_print_captured_logs_nologging ________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_print_captured_logs_nologging(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def test_1(): import logging logging.warning("get " + "rekt") assert False """ ) child = pytester.spawn_pytest("--show-capture=all --pdb -p no:logging %s" % p1) > child.expect("get rekt") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:290: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs_nologging0/temp-pexpect', '--show-capture=all', '--pdb', '-p', 'no:logging', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs_nologging0/test_pdb_print_captured_logs_nologging.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779712 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_print_captured_logs_nologging0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'get rekt') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _______ TestLoggingInteraction.test_logging_and_immediate_setupteardown ________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_logging_and_immediate_setupteardown(self, pytester: Pytester) -> None: p = pytester.makepyfile( """\ import logging def setup_function(function): logging.warning("hello1") def test_logging(): logging.warning("hello2") assert 0 def teardown_function(function): logging.warning("hello3") assert 0 """ ) for optargs in (("--capture=sys",), ("--capture=fd",)): print(optargs) > result = pytester.runpytest_subprocess(p, *optargs) /builddir/build/BUILD/pytest-7.4.3/testing/test_capture.py:326: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- ('--capture=sys',) running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0/runpytest-0 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0/test_logging_and_immediate_setupteardown.py --capture=sys in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0 ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0 collected 1 item test_logging_and_immediate_setupteardown.py FE [100%] ==================================== ERRORS ==================================== ______________________ ERROR at teardown of test_logging _______________________ function = def teardown_function(function): logging.warning("hello3") > assert 0 E assert 0 test_logging_and_immediate_setupteardown.py:11: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING root:test_logging_and_immediate_setupteardown.py:3 hello1 ------------------------------ Captured log call ------------------------------- WARNING root:test_logging_and_immediate_setupteardown.py:6 hello2 ---------------------------- Captured log teardown ----------------------------- WARNING root:test_logging_and_immediate_setupteardown.py:10 hello3 =================================== FAILURES =================================== _________________________________ test_logging _________________________________ def test_logging(): logging.warning("hello2") > assert 0 E assert 0 test_logging_and_immediate_setupteardown.py:7: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING root:test_logging_and_immediate_setupteardown.py:3 hello1 ------------------------------ Captured log call ------------------------------- WARNING root:test_logging_and_immediate_setupteardown.py:6 hello2 =========================== short test summary info ============================ FAILED test_logging_and_immediate_setupteardown.py::test_logging - assert 0 ERROR test_logging_and_immediate_setupteardown.py::test_logging - assert 0 ========================== 1 failed, 1 error in 1.93s ========================== ('--capture=fd',) running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0/runpytest-1 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0/test_logging_and_immediate_setupteardown.py --capture=fd in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_immediate_setupteardown0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592330842496) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ________________________ TestPDB.test_pdb_unittest_skip ________________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_unittest_skip(self, pytester: Pytester) -> None: """Test for issue #2137""" p1 = pytester.makepyfile( """ import unittest @unittest.skipIf(True, 'Skipping also with pdb active') class MyTestCase(unittest.TestCase): def test_one(self): assert 0 """ ) child = pytester.spawn_pytest(f"-rs --pdb {p1}") > child.expect("Skipping also with pdb active") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:209: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_skip0/temp-pexpect', '-rs', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_skip0/test_pdb_unittest_skip.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779719 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_unittest_skip0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Skipping also with pdb active') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ____________________ TestPDB.test_pdb_interaction_exception ____________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_interaction_exception(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest def globalfunc(): pass def test_1(): pytest.raises(ValueError, globalfunc) """ ) child = pytester.spawn_pytest("--pdb %s" % p1) > child.expect(".*def test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:310: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_exception0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_exception0/test_pdb_interaction_exception.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779720 E child_fd: 19 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_exception0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'.*def test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________ TestPDB.test_pdb_interaction_on_collection_issue181 ______________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_interaction_on_collection_issue181(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest xxx """ ) child = pytester.spawn_pytest("--pdb %s" % p1) # child.expect(".*import pytest.*") > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:328: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_collection_issue1810/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_collection_issue1810/test_pdb_interaction_on_collection_issue181.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779726 E child_fd: 20 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_collection_issue1810/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ______________ TestPDB.test_pdb_print_captured_stdout_and_stderr _______________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_print_captured_stdout_and_stderr(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def test_1(): import sys sys.stderr.write("get\\x20rekt") print("get\\x20rekt") assert False def test_not_called_due_to_quit(): pass """ ) child = pytester.spawn_pytest("--pdb %s" % p1) > child.expect("captured stdout") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:228: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_stdout_and_stderr0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_stdout_and_stderr0/test_pdb_print_captured_stdout_and_stderr.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779725 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_stdout_and_stderr0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'captured stdout') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________ TestLoggingInteraction.test_logging_and_crossscope_fixtures __________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_logging_and_crossscope_fixtures(self, pytester: Pytester) -> None: p = pytester.makepyfile( """\ import logging def setup_module(function): logging.warning("hello1") def test_logging(): logging.warning("hello2") assert 0 def teardown_module(function): logging.warning("hello3") assert 0 """ ) for optargs in (("--capture=sys",), ("--capture=fd",)): print(optargs) > result = pytester.runpytest_subprocess(p, *optargs) /builddir/build/BUILD/pytest-7.4.3/testing/test_capture.py:352: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- ('--capture=sys',) running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0/runpytest-0 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0/test_logging_and_crossscope_fixtures.py --capture=sys in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0 ============================= test session starts ============================== platform linux -- Python 3.12.0, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0 collected 1 item test_logging_and_crossscope_fixtures.py FE [100%] ==================================== ERRORS ==================================== ______________________ ERROR at teardown of test_logging _______________________ function = def teardown_module(function): logging.warning("hello3") > assert 0 E assert 0 test_logging_and_crossscope_fixtures.py:11: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING root:test_logging_and_crossscope_fixtures.py:3 hello1 ------------------------------ Captured log call ------------------------------- WARNING root:test_logging_and_crossscope_fixtures.py:6 hello2 ---------------------------- Captured log teardown ----------------------------- WARNING root:test_logging_and_crossscope_fixtures.py:10 hello3 =================================== FAILURES =================================== _________________________________ test_logging _________________________________ def test_logging(): logging.warning("hello2") > assert 0 E assert 0 test_logging_and_crossscope_fixtures.py:7: AssertionError ------------------------------ Captured log setup ------------------------------ WARNING root:test_logging_and_crossscope_fixtures.py:3 hello1 ------------------------------ Captured log call ------------------------------- WARNING root:test_logging_and_crossscope_fixtures.py:6 hello2 =========================== short test summary info ============================ FAILED test_logging_and_crossscope_fixtures.py::test_logging - assert 0 ERROR test_logging_and_crossscope_fixtures.py::test_logging - assert 0 ========================== 1 failed, 1 error in 1.90s ========================== ('--capture=fd',) running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0/runpytest-1 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0/test_logging_and_crossscope_fixtures.py --capture=fd in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_and_crossscope_fixtures0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592330842496) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ________________ TestPDB.test_pdb_interaction_on_internal_error ________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_interaction_on_internal_error(self, pytester: Pytester) -> None: pytester.makeconftest( """ def pytest_runtest_protocol(): 0/0 """ ) p1 = pytester.makepyfile("def test_func(): pass") child = pytester.spawn_pytest("--pdb %s" % p1) > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:342: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_internal_error0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_internal_error0/test_pdb_interaction_on_internal_error.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779735 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_interaction_on_internal_error0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ______________________ TestPDB.test_pdb_set_trace_kwargs _______________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_set_trace_kwargs(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest def test_1(): i = 0 print("hello17") pytest.set_trace(header="== my_header ==") x = 3 assert 0 """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("== my_header ==") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:413: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_kwargs0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_kwargs0/test_pdb_set_trace_kwargs.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779734 E child_fd: 23 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_kwargs0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'== my_header ==') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________ TestPDB.test_pdb_dont_print_empty_captured_stdout_and_stderr _________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_dont_print_empty_captured_stdout_and_stderr( self, pytester: Pytester ) -> None: p1 = pytester.makepyfile( """ def test_1(): assert False """ ) child = pytester.spawn_pytest("--pdb %s" % p1) > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_dont_print_empty_captured_stdout_and_stderr0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_dont_print_empty_captured_stdout_and_stderr0/test_pdb_dont_print_empty_captured_stdout_and_stderr.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779736 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_dont_print_empty_captured_stdout_and_stderr0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________________ TestRewriteOnImport.test_pyc_vs_pyo ______________________ [gw3] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffffb1270bf0> @pytest.mark.skipif('"__pypy__" in sys.modules') def test_pyc_vs_pyo(self, pytester: Pytester, monkeypatch) -> None: pytester.makepyfile( """ import pytest def test_optimized(): "hello" assert test_optimized.__doc__ is None""" ) p = make_numbered_dir(root=Path(pytester.path), prefix="runpytest-") tmp = "--basetemp=%s" % p monkeypatch.setenv("PYTHONOPTIMIZE", "2") monkeypatch.delenv("PYTHONDONTWRITEBYTECODE", raising=False) monkeypatch.delenv("PYTHONPYCACHEPREFIX", raising=False) > assert pytester.runpytest_subprocess(tmp).ret == 0 /builddir/build/BUILD/pytest-7.4.3/testing/test_assertrewrite.py:893: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_pyc_vs_pyo0/runpytest-1 --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_pyc_vs_pyo0/runpytest-0 in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw3/test_pyc_vs_pyo0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592762855808) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) ___________________ TestPDB.test_pdb_set_trace_interception ____________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_set_trace_interception(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pdb def test_1(): pdb.set_trace() """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_interception0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_interception0/test_pdb_set_trace_interception.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779742 E child_fd: 24 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_set_trace_interception0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT __________________ TestPDB.test_pdb_print_captured_logs[all] ___________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = showcapture = 'all' @pytest.mark.parametrize("showcapture", ["all", "no", "log"]) def test_pdb_print_captured_logs(self, pytester, showcapture: str) -> None: p1 = pytester.makepyfile( """ def test_1(): import logging logging.warning("get " + "rekt") assert False """ ) child = pytester.spawn_pytest(f"--show-capture={showcapture} --pdb {p1}") if showcapture in ("all", "log"): > child.expect("captured log") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:272: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_logs0/temp-pexpect', '--show-capture=all', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_logs0/test_pdb_print_captured_logs.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779743 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_print_captured_logs0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'captured log') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________________________ TestPDB.test_pdb_and_capsys __________________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_and_capsys(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest def test_1(capsys): print("hello1") pytest.set_trace() """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:451: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_and_capsys0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_and_capsys0/test_pdb_and_capsys.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779749 E child_fd: 25 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_and_capsys0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ________ TestPDB.test_pdb_continue_with_recursive_debug[-p no:capture] _________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = capture_arg = '-p no:capture' pytester = @pytest.mark.parametrize("capture_arg", ("", "-s", "-p no:capture")) def test_pdb_continue_with_recursive_debug( self, capture_arg, pytester: Pytester ) -> None: """Full coverage for do_debug without capturing. This is very similar to test_pdb_interaction_continue_recursive in general, but mocks out ``pdb.set_trace`` for providing more coverage. """ p1 = pytester.makepyfile( """ try: input = raw_input except NameError: pass def set_trace(): __import__('pdb').set_trace() def test_1(monkeypatch): import _pytest.debugging class pytestPDBTest(_pytest.debugging.pytestPDB): @classmethod def set_trace(cls, *args, **kwargs): # Init PytestPdbWrapper to handle capturing. _pdb = cls._init_pdb("set_trace", *args, **kwargs) # Mock out pdb.Pdb.do_continue. import pdb pdb.Pdb.do_continue = lambda self, arg: None print("===" + " SET_TRACE ===") assert input() == "debug set_trace()" # Simulate PytestPdbWrapper.do_debug cls._recursive_debug += 1 print("ENTERING RECURSIVE DEBUGGER") print("===" + " SET_TRACE_2 ===") assert input() == "c" _pdb.do_continue("") print("===" + " SET_TRACE_3 ===") # Simulate PytestPdbWrapper.do_debug print("LEAVING RECURSIVE DEBUGGER") cls._recursive_debug -= 1 print("===" + " SET_TRACE_4 ===") assert input() == "c" _pdb.do_continue("") def do_continue(self, arg): print("=== do_continue") monkeypatch.setattr(_pytest.debugging, "pytestPDB", pytestPDBTest) import pdb monkeypatch.setattr(pdb, "set_trace", pytestPDBTest.set_trace) set_trace() """ ) child = pytester.spawn_pytest(f"--tb=short {p1} {capture_arg}") > child.expect("=== SET_TRACE ===") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:736: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_continue_with_recursive_debug0/temp-pexpect', '--tb=short', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_continue_with_recursive_debug0/test_pdb_continue_with_recursive_debug.py', '-p', 'no:capture'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779750 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_continue_with_recursive_debug0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'=== SET_TRACE ===') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________________ TestPDB.test_doctest_set_trace_quit ______________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_doctest_set_trace_quit(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def function_1(): ''' >>> __import__('pdb').set_trace() ''' """ ) # NOTE: does not use pytest.set_trace, but Python's patched pdb, # therefore "-s" is required. child = pytester.spawn_pytest("--doctest-modules --pdb -s %s" % p1) > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:535: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_doctest_set_trace_quit0/temp-pexpect', '--doctest-modules', '--pdb', '-s', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_doctest_set_trace_quit0/test_doctest_set_trace_quit.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779753 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_doctest_set_trace_quit0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ________________ TestPDB.test_pdb_with_caplog_on_pdb_invocation ________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_with_caplog_on_pdb_invocation(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def test_1(capsys, caplog): import logging logging.getLogger(__name__).warning("some_warning") assert 0 """ ) child = pytester.spawn_pytest("--pdb %s" % str(p1)) child.send("caplog.record_tuples\n") > child.expect_exact( "[('test_pdb_with_caplog_on_pdb_invocation', 30, 'some_warning')]" ) /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:469: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:421: in expect_exact return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_with_caplog_on_pdb_invocation0/temp-pexpect', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_with_caplog_on_pdb_invocation0/test_pdb_with_caplog_on_pdb_invocation.py'] E buffer (last 100 chars): b'caplog.record_tuples\r\n' E before (last 100 chars): b'caplog.record_tuples\r\n' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779756 E child_fd: 22 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_with_caplog_on_pdb_invocation0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_string: E 0: b"[('test_pdb_with_caplog_on_pdb_invocation', 30, 'some_warning')]" /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ______________________ TestPDB.test_pdb_used_outside_test ______________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_used_outside_test(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest pytest.set_trace() x = 5 """ ) child = pytester.spawn(f"{sys.executable} {p1}") > child.expect("x = 5") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:774: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_used_outside_test0/test_pdb_used_outside_test.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779757 E child_fd: 19 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_used_outside_test0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'x = 5') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT __________________ TestPDB.test_pdb_custom_cls_with_set_trace __________________ [gw1] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff863b5550> def test_pdb_custom_cls_with_set_trace( self, pytester: Pytester, monkeypatch: MonkeyPatch, ) -> None: pytester.makepyfile( custom_pdb=""" class CustomPdb(object): def __init__(self, *args, **kwargs): skip = kwargs.pop("skip") assert skip == ["foo.*"] print("__init__") super(CustomPdb, self).__init__(*args, **kwargs) def set_trace(*args, **kwargs): print('custom set_trace>') """ ) p1 = pytester.makepyfile( """ import pytest def test_foo(): pytest.set_trace(skip=['foo.*']) """ ) monkeypatch.setenv("PYTHONPATH", str(pytester.path)) child = pytester.spawn_pytest("--pdbcls=custom_pdb:CustomPdb %s" % str(p1)) > child.expect("__init__") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:922: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_pdb_custom_cls_with_set_trace0/temp-pexpect', '--pdbcls=custom_pdb:CustomPdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_pdb_custom_cls_with_set_trace0/test_pdb_custom_cls_with_set_trace.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779759 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_pdb_custom_cls_with_set_trace0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'__init__') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ___________________ TestPDB.test_pdb_used_in_generate_tests ____________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_used_in_generate_tests(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest def pytest_generate_tests(metafunc): pytest.set_trace() x = 5 def test_foo(a): pass """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("x = 5") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:791: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_used_in_generate_tests0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_used_in_generate_tests0/test_pdb_used_in_generate_tests.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779764 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_used_in_generate_tests0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'x = 5') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________________ TestPDB.test_set_trace_capturing_afterwards __________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_set_trace_capturing_afterwards(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pdb def test_1(): pdb.set_trace() def test_2(): print("hello") assert 0 """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:488: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_set_trace_capturing_afterwards0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_set_trace_capturing_afterwards0/test_set_trace_capturing_afterwards.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779762 E child_fd: 23 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_set_trace_capturing_afterwards0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT __________ TestDebuggingBreakpoints.test_sys_breakpoint_interception ___________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = @pytest.mark.skipif( not _ENVIRON_PYTHONBREAKPOINT == "", reason="Requires breakpoint() default value", ) def test_sys_breakpoint_interception(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def test_1(): breakpoint() """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:1017: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_sys_breakpoint_interception0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_sys_breakpoint_interception0/test_sys_breakpoint_interception.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779766 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_sys_breakpoint_interception0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ____________ TestLoggingInteraction.test_logging_after_cap_stopped _____________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_logging_after_cap_stopped(self, pytester: Pytester) -> None: pytester.makeconftest( """\ import pytest import logging log = logging.getLogger(__name__) @pytest.fixture def log_on_teardown(): yield log.warning('Logging on teardown') """ ) # make sure that logging is still captured in tests p = pytester.makepyfile( """\ def test_hello(log_on_teardown): import logging logging.warning("hello433") assert 1 raise KeyboardInterrupt() """ ) > result = pytester.runpytest_subprocess(p, "--log-cli-level", "info") /builddir/build/BUILD/pytest-7.4.3/testing/test_capture.py:420: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_after_cap_stopped0/stdout') mode = 'r', buffering = -1, encoding = 'utf8', errors = None, newline = None def open(self, mode='r', buffering=-1, encoding=None, errors=None, newline=None): """ Open the file pointed by this path and return a file object, as the built-in open() function does. """ if "b" not in mode: > encoding = io.text_encoding(encoding) E Failed: Timeout >30.0s /usr/lib64/python3.12/pathlib.py:1013: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_after_cap_stopped0/runpytest-0 /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_after_cap_stopped0/test_logging_after_cap_stopped.py --log-cli-level info in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_logging_after_cap_stopped0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592330842496) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _____________________ TestPDB.test_pdb_interaction_doctest _____________________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_interaction_doctest(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def function_1(): ''' >>> i = 0 >>> assert i == 1 ''' """ ) child = pytester.spawn_pytest("--doctest-modules --pdb %s" % p1) > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:508: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_interaction_doctest0/temp-pexpect', '--doctest-modules', '--pdb', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_interaction_doctest0/test_pdb_interaction_doctest.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779771 E child_fd: 24 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_pdb_interaction_doctest0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________________ test_quit_with_swallowed_SystemExit ______________________ [gw5] linux -- Python 3.12.0 /usr/bin/python3 pytester = def test_quit_with_swallowed_SystemExit(pytester: Pytester) -> None: """Test that debugging's pytest_configure is re-entrant.""" p1 = pytester.makepyfile( """ def call_pdb_set_trace(): __import__('pdb').set_trace() def test_1(): try: call_pdb_set_trace() except SystemExit: pass def test_2(): pass """ ) child = pytester.spawn_pytest(str(p1)) > child.expect("Pdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:1176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw5/test_quit_with_swallowed_SystemExit0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw5/test_quit_with_swallowed_SystemExit0/test_quit_with_swallowed_SystemExit.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779775 E child_fd: 22 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw5/test_quit_with_swallowed_SystemExit0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'Pdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _______________________ TestPDB.test_pdb_without_capture _______________________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_without_capture(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ import pytest def test_1(): pytest.set_trace() """ ) child = pytester.spawn_pytest("-s %s" % p1) > child.expect(r">>> PDB set_trace >>>") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:665: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_without_capture0/temp-pexpect', '-s', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_without_capture0/test_pdb_without_capture.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779777 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_without_capture0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'>>> PDB set_trace >>>') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________________ TestPDB.test_pdb_collection_failure_is_shown _________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_pdb_collection_failure_is_shown(self, pytester: Pytester) -> None: p1 = pytester.makepyfile("xxx") > result = pytester.runpytest_subprocess("--pdb", p1) /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:798: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_collection_failure_is_shown0/runpytest-0 --pdb /tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_collection_failure_is_shown0/test_pdb_collection_failure_is_shown.py in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_pdb_collection_failure_is_shown0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592079184256) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) _______________ TestPDB.test_pdb_continue_with_recursive_debug[] _______________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = , capture_arg = '' pytester = @pytest.mark.parametrize("capture_arg", ("", "-s", "-p no:capture")) def test_pdb_continue_with_recursive_debug( self, capture_arg, pytester: Pytester ) -> None: """Full coverage for do_debug without capturing. This is very similar to test_pdb_interaction_continue_recursive in general, but mocks out ``pdb.set_trace`` for providing more coverage. """ p1 = pytester.makepyfile( """ try: input = raw_input except NameError: pass def set_trace(): __import__('pdb').set_trace() def test_1(monkeypatch): import _pytest.debugging class pytestPDBTest(_pytest.debugging.pytestPDB): @classmethod def set_trace(cls, *args, **kwargs): # Init PytestPdbWrapper to handle capturing. _pdb = cls._init_pdb("set_trace", *args, **kwargs) # Mock out pdb.Pdb.do_continue. import pdb pdb.Pdb.do_continue = lambda self, arg: None print("===" + " SET_TRACE ===") assert input() == "debug set_trace()" # Simulate PytestPdbWrapper.do_debug cls._recursive_debug += 1 print("ENTERING RECURSIVE DEBUGGER") print("===" + " SET_TRACE_2 ===") assert input() == "c" _pdb.do_continue("") print("===" + " SET_TRACE_3 ===") # Simulate PytestPdbWrapper.do_debug print("LEAVING RECURSIVE DEBUGGER") cls._recursive_debug -= 1 print("===" + " SET_TRACE_4 ===") assert input() == "c" _pdb.do_continue("") def do_continue(self, arg): print("=== do_continue") monkeypatch.setattr(_pytest.debugging, "pytestPDB", pytestPDBTest) import pdb monkeypatch.setattr(pdb, "set_trace", pytestPDBTest.set_trace) set_trace() """ ) child = pytester.spawn_pytest(f"--tb=short {p1} {capture_arg}") > child.expect("=== SET_TRACE ===") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:736: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug0/temp-pexpect', '--tb=short', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug0/test_pdb_continue_with_recursive_debug.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779783 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'=== SET_TRACE ===') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT __________________ TestTraceOption.test_trace_sets_breakpoint __________________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_trace_sets_breakpoint(self, pytester: Pytester) -> None: p1 = pytester.makepyfile( """ def test_1(): assert True def test_2(): pass def test_3(): pass """ ) child = pytester.spawn_pytest("--trace " + str(p1)) > child.expect("test_1") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:1060: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_sets_breakpoint0/temp-pexpect', '--trace', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_sets_breakpoint0/test_trace_sets_breakpoint.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779782 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_sets_breakpoint0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'test_1') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________ TestPDB.test_enter_leave_pdb_hooks_are_called[False] _____________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = , post_mortem = False pytester = @pytest.mark.parametrize("post_mortem", (False, True)) def test_enter_leave_pdb_hooks_are_called( self, post_mortem, pytester: Pytester ) -> None: pytester.makeconftest( """ mypdb = None def pytest_configure(config): config.testing_verification = 'configured' def pytest_enter_pdb(config, pdb): assert config.testing_verification == 'configured' print('enter_pdb_hook') global mypdb mypdb = pdb mypdb.set_attribute = "bar" def pytest_leave_pdb(config, pdb): assert config.testing_verification == 'configured' print('leave_pdb_hook') global mypdb assert mypdb is pdb assert mypdb.set_attribute == "bar" """ ) p1 = pytester.makepyfile( """ import pytest def test_set_trace(): pytest.set_trace() assert 0 def test_post_mortem(): assert 0 """ ) if post_mortem: child = pytester.spawn_pytest(str(p1) + " --pdb -s -k test_post_mortem") else: child = pytester.spawn_pytest(str(p1) + " -k test_set_trace") > child.expect("enter_pdb_hook") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:847: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called0/test_enter_leave_pdb_hooks_are_called.py', '-k', 'test_set_trace'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779789 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'enter_pdb_hook') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ______________ TestPDB.test_pdb_continue_with_recursive_debug[-s] ______________ [gw2] linux -- Python 3.12.0 /usr/bin/python3 self = , capture_arg = '-s' pytester = @pytest.mark.parametrize("capture_arg", ("", "-s", "-p no:capture")) def test_pdb_continue_with_recursive_debug( self, capture_arg, pytester: Pytester ) -> None: """Full coverage for do_debug without capturing. This is very similar to test_pdb_interaction_continue_recursive in general, but mocks out ``pdb.set_trace`` for providing more coverage. """ p1 = pytester.makepyfile( """ try: input = raw_input except NameError: pass def set_trace(): __import__('pdb').set_trace() def test_1(monkeypatch): import _pytest.debugging class pytestPDBTest(_pytest.debugging.pytestPDB): @classmethod def set_trace(cls, *args, **kwargs): # Init PytestPdbWrapper to handle capturing. _pdb = cls._init_pdb("set_trace", *args, **kwargs) # Mock out pdb.Pdb.do_continue. import pdb pdb.Pdb.do_continue = lambda self, arg: None print("===" + " SET_TRACE ===") assert input() == "debug set_trace()" # Simulate PytestPdbWrapper.do_debug cls._recursive_debug += 1 print("ENTERING RECURSIVE DEBUGGER") print("===" + " SET_TRACE_2 ===") assert input() == "c" _pdb.do_continue("") print("===" + " SET_TRACE_3 ===") # Simulate PytestPdbWrapper.do_debug print("LEAVING RECURSIVE DEBUGGER") cls._recursive_debug -= 1 print("===" + " SET_TRACE_4 ===") assert input() == "c" _pdb.do_continue("") def do_continue(self, arg): print("=== do_continue") monkeypatch.setattr(_pytest.debugging, "pytestPDB", pytestPDBTest) import pdb monkeypatch.setattr(pdb, "set_trace", pytestPDBTest.set_trace) set_trace() """ ) child = pytester.spawn_pytest(f"--tb=short {p1} {capture_arg}") > child.expect("=== SET_TRACE ===") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:736: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug1/temp-pexpect', '--tb=short', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug1/test_pdb_continue_with_recursive_debug.py', '-s'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779791 E child_fd: 19 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_pdb_continue_with_recursive_debug1/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'=== SET_TRACE ===') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ____ TestTraceOption.test_trace_with_parametrize_handles_shared_fixtureinfo ____ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_trace_with_parametrize_handles_shared_fixtureinfo( self, pytester: Pytester ) -> None: p1 = pytester.makepyfile( """ import pytest @pytest.mark.parametrize('myparam', [1,2]) def test_1(myparam, request): assert myparam in (1, 2) assert request.function.__name__ == "test_1" @pytest.mark.parametrize('func', [1,2]) def test_func(func, request): assert func in (1, 2) assert request.function.__name__ == "test_func" @pytest.mark.parametrize('myparam', [1,2]) def test_func_kw(myparam, request, func="func_kw"): assert myparam in (1, 2) assert func == "func_kw" assert request.function.__name__ == "test_func_kw" """ ) child = pytester.spawn_pytest("--trace " + str(p1)) for func, argname in [ ("test_1", "myparam"), ("test_func", "func"), ("test_func_kw", "myparam"), ]: > child.expect_exact("> PDB runcall (IO-capturing turned off) >") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:1104: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:421: in expect_exact return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_with_parametrize_handles_shared_fixtureinfo0/temp-pexpect', '--trace', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_with_parametrize_handles_shared_fixtureinfo0/test_trace_with_parametrize_handles_shared_fixtureinfo.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779792 E child_fd: 18 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_trace_with_parametrize_handles_shared_fixtureinfo0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_string: E 0: b'> PDB runcall (IO-capturing turned off) >' /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________ TestPDB.test_enter_leave_pdb_hooks_are_called[True] ______________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = , post_mortem = True pytester = @pytest.mark.parametrize("post_mortem", (False, True)) def test_enter_leave_pdb_hooks_are_called( self, post_mortem, pytester: Pytester ) -> None: pytester.makeconftest( """ mypdb = None def pytest_configure(config): config.testing_verification = 'configured' def pytest_enter_pdb(config, pdb): assert config.testing_verification == 'configured' print('enter_pdb_hook') global mypdb mypdb = pdb mypdb.set_attribute = "bar" def pytest_leave_pdb(config, pdb): assert config.testing_verification == 'configured' print('leave_pdb_hook') global mypdb assert mypdb is pdb assert mypdb.set_attribute == "bar" """ ) p1 = pytester.makepyfile( """ import pytest def test_set_trace(): pytest.set_trace() assert 0 def test_post_mortem(): assert 0 """ ) if post_mortem: child = pytester.spawn_pytest(str(p1) + " --pdb -s -k test_post_mortem") else: child = pytester.spawn_pytest(str(p1) + " -k test_set_trace") > child.expect("enter_pdb_hook") /builddir/build/BUILD/pytest-7.4.3/testing/test_debugging.py:847: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called1/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called1/test_enter_leave_pdb_hooks_are_called.py', '--pdb', '-s', '-k', 'test_post_mortem'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779798 E child_fd: 20 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_enter_leave_pdb_hooks_are_called1/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'enter_pdb_hook') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT ___________________________ test_spawn_uses_tmphome ____________________________ [gw0] linux -- Python 3.12.0 /usr/bin/python3 pytester = def test_spawn_uses_tmphome(pytester: Pytester) -> None: tmphome = str(pytester.path) assert os.environ.get("HOME") == tmphome pytester._monkeypatch.setenv("CUSTOMENV", "42") p1 = pytester.makepyfile( """ import os def test(): assert os.environ["HOME"] == {tmphome!r} assert os.environ["CUSTOMENV"] == "42" """.format( tmphome=tmphome ) ) child = pytester.spawn_pytest(str(p1)) > out = child.read() /builddir/build/BUILD/pytest-7.4.3/testing/test_pytester.py:731: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:444: in read self.expect(self.delimiter) /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_spawn_uses_tmphome0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_spawn_uses_tmphome0/test_spawn_uses_tmphome.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779876 E child_fd: 16 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_spawn_uses_tmphome0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: EOF /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _________ TestTerminal.test_runtest_location_shown_before_test_starts __________ [gw5] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_runtest_location_shown_before_test_starts( self, pytester: Pytester ) -> None: pytester.makepyfile( """ def test_1(): import time time.sleep(20) """ ) child = pytester.spawn_pytest("") > child.expect(".*test_runtest_location.*py") /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:150: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw5/test_runtest_location_shown_before_test_starts0/temp-pexpect'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779880 E child_fd: 25 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw5/test_runtest_location_shown_before_test_starts0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'.*test_runtest_location.*py') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________ TestTerminal.test_report_collect_after_half_a_second _____________ [gw6] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff8ff9c8c0> def test_report_collect_after_half_a_second( self, pytester: Pytester, monkeypatch: MonkeyPatch ) -> None: """Test for "collecting" being updated after 0.5s""" pytester.makepyfile( **{ "test1.py": """ import _pytest.terminal _pytest.terminal.REPORT_COLLECTING_RESOLUTION = 0 def test_1(): pass """, "test2.py": "def test_2(): pass", } ) # Explicitly test colored output. monkeypatch.setenv("PY_COLORS", "1") child = pytester.spawn_pytest("-v test1.py test2.py") > child.expect(r"collecting \.\.\.") /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_report_collect_after_half_a_second0/temp-pexpect', '-v', 'test1.py', 'test2.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779881 E child_fd: 22 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_report_collect_after_half_a_second0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'collecting \\.\\.\\.') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _______________________ TestTrialUnittest.test_trial_pdb _______________________ [gw4] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = def test_trial_pdb(self, pytester: Pytester) -> None: p = pytester.makepyfile( """ from twisted.trial import unittest import pytest class TC(unittest.TestCase): def test_hello(self): assert 0, "hellopdb" """ ) child = pytester.spawn_pytest(str(p)) > child.expect("hellopdb") /builddir/build/BUILD/pytest-7.4.3/testing/test_unittest.py:610: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:343: in expect return self.expect_list(compiled_pattern_list, /usr/lib/python3.12/site-packages/pexpect/spawnbase.py:372: in expect_list return exp.expect_loop(timeout) /usr/lib/python3.12/site-packages/pexpect/expect.py:181: in expect_loop return self.timeout(e) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = err = TIMEOUT('Timeout exceeded.') def timeout(self, err=None): spawn = self.spawn spawn.before = spawn._before.getvalue() spawn.after = TIMEOUT index = self.searcher.timeout_index if index >= 0: spawn.match = TIMEOUT spawn.match_index = index return index else: spawn.match = None spawn.match_index = None msg = str(spawn) msg += '\nsearcher: %s' % self.searcher if err is not None: msg = str(err) + '\n' + msg exc = TIMEOUT(msg) exc.__cause__ = None # in Python 3.x we can use "raise exc from None" > raise exc E pexpect.exceptions.TIMEOUT: Timeout exceeded. E E command: /usr/bin/python3 E args: ['/usr/bin/python3', '-mpytest', '--basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_trial_pdb0/temp-pexpect', '/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_trial_pdb0/test_trial_pdb.py'] E buffer (last 100 chars): b'' E before (last 100 chars): '' E after: E match: None E match_index: None E exitstatus: None E flag_eof: False E pid: 779884 E child_fd: 17 E closed: False E timeout: 10.0 E delimiter: E logfile: <_io.BufferedWriter name='/tmp/pytest-of-mockbuild/pytest-0/popen-gw4/test_trial_pdb0/spawn.out'> E logfile_read: None E logfile_send: None E maxread: 2000 E ignorecase: False E searchwindowsize: None E delaybeforesend: 0.05 E delayafterclose: 0.1 E delayafterterminate: 0.1 E searcher: searcher_re: E 0: re.compile(b'hellopdb') /usr/lib/python3.12/site-packages/pexpect/expect.py:144: TIMEOUT _____________ TestCodeHighlight.test_code_highlight_invalid_theme ______________ [gw7] linux -- Python 3.12.0 /usr/bin/python3 self = pytester = color_mapping = .ColorMapping'> monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0xffffff73afa0f0> def test_code_highlight_invalid_theme( self, pytester: Pytester, color_mapping, monkeypatch: MonkeyPatch ) -> None: pytester.makepyfile( """ def test_foo(): assert 1 == 10 """ ) monkeypatch.setenv("PYTEST_THEME", "invalid") > result = pytester.runpytest_subprocess("--color=yes") /builddir/build/BUILD/pytest-7.4.3/testing/test_terminal.py:2572: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.12/subprocess.py:1264: in wait return self._wait(timeout=timeout) /usr/lib64/python3.12/subprocess.py:2046: in _wait (pid, sts) = self._try_wait(0) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = wait_flags = 0 def _try_wait(self, wait_flags): """All callers to this function MUST hold self._waitpid_lock.""" try: > (pid, sts) = os.waitpid(self.pid, wait_flags) E Failed: Timeout >30.0s /usr/lib64/python3.12/subprocess.py:2004: Failed ----------------------------- Captured stdout call ----------------------------- running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_code_highlight_invalid_theme0/runpytest-0 --color=yes in: /tmp/pytest-of-mockbuild/pytest-0/popen-gw7/test_code_highlight_invalid_theme0 ----------------------------- Captured stderr call ----------------------------- ~~~~~~~~~~~~~~~~~~~~ Stack of (72057592043266432) ~~~~~~~~~~~~~~~~~~~~ File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 285, in _perform_spawn reply.run() File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 220, in run self._result = func(*args, **kwargs) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 967, in _thread_receiver msg = Message.from_io(io) File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 432, in from_io header = io.read(9) # type 1, channel 4, payload 4 File "/usr/lib/python3.12/site-packages/execnet/gateway_base.py", line 400, in read data = self._read(numbytes - len(buf)) =========================== short test summary info ============================ SKIPPED [1] testing/test_pathlib.py:459: Windows only SKIPPED [1] testing/_py/test_local.py:462: sys.version_info < (3,6) SKIPPED [1] testing/_py/test_local.py:467: sys.version_info < (3,6) SKIPPED [1] testing/_py/test_local.py:667: case insensitive only on windows SKIPPED [1] testing/test_tmpdir.py:361: win only SKIPPED [1] testing/test_capture.py:1447: only on windows SKIPPED [1] testing/test_findpaths.py:140: condition: sys.platform != 'win32' SKIPPED [1] testing/_py/test_local.py:888: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1240: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1246: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1258: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1264: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1269: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1277: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/_py/test_local.py:1284: condition: not (sys.platform == 'win32' or getattr(os, '_name', None) == 'nt') SKIPPED [1] testing/test_conftest.py:374: only relevant for case insensitive file systems SKIPPED [1] ../../BUILDROOT/pytest-7.4.3-3.fc40.noarch/usr/lib/python3.12/site-packages/_pytest/pathlib.py:466: symlinks not supported: [Errno 17] File exists: '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_collect_symlink_dir0/symlink_dir' -> '/tmp/pytest-of-mockbuild/pytest-0/popen-gw6/test_collect_symlink_dir0/dir' SKIPPED [1] testing/test_config.py:1894: does not work with xdist currently SKIPPED [3] testing/test_warnings.py:521: not relevant until pytest 8.0 SKIPPED [9] testing/code/test_excinfo.py:1586: could not import 'exceptiongroup': No module named 'exceptiongroup' SKIPPED [1] testing/test_unittest.py:1327: could not import 'asynctest': No module named 'asynctest' SKIPPED [1] testing/test_compat.py:95: couroutine removed SKIPPED [1] testing/test_faulthandler.py:71: sometimes crashes on CI (#7022) = 58 failed, 3358 passed, 33 skipped, 18 xfailed, 2 errors in 1720.31s (0:28:40) = RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.3iGpA0 (%check) Bad exit status from /var/tmp/rpm-tmp.3iGpA0 (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # bash --login -c /usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.11/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.11/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 -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/pytest.spec