Mock Version: 5.6 Mock Version: 5.6 Mock Version: 5.6 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-split.spec'], chrootPath='/var/lib/mock/f41-build-51902493-6216000/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '8919518f08f44e8aac0a8ed4594e5620', '-D', '/var/lib/mock/f41-build-51902493-6216000/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-split.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1718841600 Wrote: /builddir/build/SRPMS/python-pytest-split-0.8.2-2.fc41.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/python-pytest-split.spec'], chrootPath='/var/lib/mock/f41-build-51902493-6216000/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'c308f44d64174a5ab64ac2b3fc1a2ad9', '-D', '/var/lib/mock/f41-build-51902493-6216000/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-split.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1718841600 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.dwpfW0 + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + test -d /builddir/build/BUILD/python-pytest-split-0.8.2-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-pytest-split-0.8.2-build + /usr/bin/rm -rf /builddir/build/BUILD/python-pytest-split-0.8.2-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-pytest-split-0.8.2-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-pytest-split-0.8.2-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.O7bwJE + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + rm -rf pytest-split-0.8.2 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/0.8.2.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd pytest-split-0.8.2 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/01-fix-license-file-name.patch + /usr/bin/patch -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.wZlQeC + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + cd pytest-split-0.8.2 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir --output /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling pytest (>=5,<9) from hook generated metadata: Requires-Dist (pytest-split) Requirement satisfied: pytest (>=5,<9) (installed: pytest 7.4.3) + cat /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires + rm -rfv pytest_split-0.8.2.dist-info/ removed 'pytest_split-0.8.2.dist-info/entry_points.txt' removed 'pytest_split-0.8.2.dist-info/WHEEL' removed 'pytest_split-0.8.2.dist-info/METADATA' removed 'pytest_split-0.8.2.dist-info/LICENSE' removed directory 'pytest_split-0.8.2.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-pytest-split-0.8.2-2.fc41.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 --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-split.spec'], chrootPath='/var/lib/mock/f41-build-51902493-6216000/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueraiseExc=FalseprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '66e72159caad4f44ad38af9ee42ece24', '-D', '/var/lib/mock/f41-build-51902493-6216000/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -br --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-pytest-split.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1718841600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.QMQE0p + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + cd pytest-split-0.8.2 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir --output /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling pytest (>=5,<9) from hook generated metadata: Requires-Dist (pytest-split) Requirement satisfied: pytest (>=5,<9) (installed: pytest 7.4.3) + cat /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires + rm -rfv pytest_split-0.8.2.dist-info/ removed 'pytest_split-0.8.2.dist-info/entry_points.txt' removed 'pytest_split-0.8.2.dist-info/WHEEL' removed 'pytest_split-0.8.2.dist-info/METADATA' removed 'pytest_split-0.8.2.dist-info/LICENSE' removed directory 'pytest_split-0.8.2.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-pytest-split-0.8.2-2.fc41.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 /builddir/build/SPECS/python-pytest-split.spec'], chrootPath='/var/lib/mock/f41-build-51902493-6216000/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=201600uid=1000gid=425user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=False) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '7918306ddcb0474c95a9e9da6f371912', '-D', '/var/lib/mock/f41-build-51902493-6216000/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/fuse', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-pytest-split.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False Building target platforms: noarch Building for target noarch setting SOURCE_DATE_EPOCH=1718841600 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.1Dluml + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + cd pytest-split-0.8.2 + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + echo -n + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + RPM_TOXENV=py313 + HOSTNAME=rpmbuild + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_buildrequires.py --generate-extras --python3_pkgversion 3 --wheeldir /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir --output /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires Handling poetry-core>=1.0.0 from build-system.requires Requirement satisfied: poetry-core>=1.0.0 (installed: poetry-core 1.9.0) Handling pytest (>=5,<9) from hook generated metadata: Requires-Dist (pytest-split) Requirement satisfied: pytest (>=5,<9) (installed: pytest 7.4.3) + cat /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-buildrequires + rm -rfv pytest_split-0.8.2.dist-info/ removed 'pytest_split-0.8.2.dist-info/entry_points.txt' removed 'pytest_split-0.8.2.dist-info/WHEEL' removed 'pytest_split-0.8.2.dist-info/METADATA' removed 'pytest_split-0.8.2.dist-info/LICENSE' removed directory 'pytest_split-0.8.2.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.FL8VWS + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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-split-0.8.2 + mkdir -p /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir Processing /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: pytest-split Building wheel for pytest-split (pyproject.toml): started Running command Building wheel for pytest-split (pyproject.toml) Building wheel for pytest-split (pyproject.toml): finished with status 'done' Created wheel for pytest-split: filename=pytest_split-0.8.2-py3-none-any.whl size=11679 sha256=19e0620bebbebbb84f230366935c48f161f9aebae5a8163064dcb2262bafb5ec Stored in directory: /builddir/.cache/pip/wheels/00/d2/ce/26e2ed39443f32ad2ae1f908f024533a0c700d8612bdba2f32 Successfully built pytest-split + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.YWynQt + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + '[' /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-pytest-split-0.8.2-build + mkdir /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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-split-0.8.2 ++ ls /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir/pytest_split-0.8.2-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=pytest_split==0.8.2 + '[' -z pytest_split==0.8.2 ']' + TMPDIR=/builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT --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/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir pytest_split==0.8.2 Using pip 24.1.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/pyproject-wheeldir Processing ./pyproject-wheeldir/pytest_split-0.8.2-py3-none-any.whl Installing collected packages: pytest_split Creating /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin/slowest-tests to 755 Successfully installed pytest_split-0.8.2 + '[' -d /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin/slowest-tests /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin/slowest-tests: updating + rm -rfv /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT --record /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/RECORD --output /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-record + rm -fv /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/RECORD removed '/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/REQUESTED removed '/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split-0.8.2.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-pytest-split-0.8.2-build/python-pytest-split-0.8.2-2.fc41.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + mkdir -p /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/share/man/man1 + PYTHONPATH=/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages + help2man --version-string 0.8.2 /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin/slowest-tests + gzip + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip /usr/bin/strip + /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump + /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 -j12 Bytecompiling .py files below /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j12 /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/__pycache__/cli.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/__pycache__/ipynb_compatibility.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/__pycache__/algorithms.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/__pycache__/plugin.cpython-313.pyc: rewriting with normalized contents Scanned 12 directories and 23 files, processed 5 inodes, 5 modified (0 replaced + 5 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.qjhlUb + umask 022 + cd /builddir/build/BUILD/python-pytest-split-0.8.2-build + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + export FFLAGS + FCFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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 --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-split-0.8.2 + PATH=/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages + _PYTHONSITE=/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + /usr/bin/python3 -sP /usr/lib/rpm/redhat/import_all_modules.py pytest_split Check import: pytest_split + CFLAGS='-O2 -flto=auto -ffat-lto-objects -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 -mbranch-protection=standard -fasynchronous-unwind-tables -fstack-clash-protection -fno-omit-frame-pointer -mno-omit-leaf-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/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=12 + /usr/bin/pytest --no-cov tests ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2 configfile: pyproject.toml plugins: split-0.8.2, cov-4.0.0 collected 70 items tests/test_algorithms.py sssFFFFFF [ 12%] tests/test_cli.py . [ 14%] tests/test_ipynb.py F [ 15%] tests/test_plugin.py .....FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF... [ 88%] ..FF.FFF [100%] =================================== FAILURES =================================== ________ TestAlgorithms.test__split_test_handles_large_duration_at_end _________ self = def test__split_test_handles_large_duration_at_end(self): """NOTE: only least_duration does this correctly""" durations = {"a": 1, "b": 1, "c": 1, "d": 3} items = [item(x) for x in ["a", "b", "c", "d"]] > algo = Algorithms["least_duration"].value tests/test_algorithms.py:66: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'least_duration' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'least_duration' /usr/lib64/python3.13/enum.py:782: KeyError _ TestAlgorithms.test__split_tests_calculates_avg_test_duration_only_on_present_tests[duration_based_chunks-expected0] _ self = algo_name = 'duration_based_chunks' expected = [[item(nodeid='a'), item(nodeid='b')], [item(nodeid='c'), item(nodeid='d')]] @pytest.mark.parametrize( ("algo_name", "expected"), [ ("duration_based_chunks", [[item("a"), item("b")], [item("c"), item("d")]]), ("least_duration", [[item("a"), item("c")], [item("b"), item("d")]]), ], ) def test__split_tests_calculates_avg_test_duration_only_on_present_tests( self, algo_name, expected ): # If the algo includes test e's duration to calculate the averge then # a will be expected to take a long time, and so 'a' will become its # own group. Intended behaviour is that a gets estimated duration 1 and # this will create more balanced groups. durations = {"b": 1, "c": 1, "d": 1, "e": 10000} items = [item(x) for x in ["a", "b", "c", "d"]] > algo = Algorithms[algo_name].value tests/test_algorithms.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'duration_based_chunks' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'duration_based_chunks' /usr/lib64/python3.13/enum.py:782: KeyError _ TestAlgorithms.test__split_tests_calculates_avg_test_duration_only_on_present_tests[least_duration-expected1] _ self = algo_name = 'least_duration' expected = [[item(nodeid='a'), item(nodeid='c')], [item(nodeid='b'), item(nodeid='d')]] @pytest.mark.parametrize( ("algo_name", "expected"), [ ("duration_based_chunks", [[item("a"), item("b")], [item("c"), item("d")]]), ("least_duration", [[item("a"), item("c")], [item("b"), item("d")]]), ], ) def test__split_tests_calculates_avg_test_duration_only_on_present_tests( self, algo_name, expected ): # If the algo includes test e's duration to calculate the averge then # a will be expected to take a long time, and so 'a' will become its # own group. Intended behaviour is that a gets estimated duration 1 and # this will create more balanced groups. durations = {"b": 1, "c": 1, "d": 1, "e": 10000} items = [item(x) for x in ["a", "b", "c", "d"]] > algo = Algorithms[algo_name].value tests/test_algorithms.py:89: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'least_duration' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'least_duration' /usr/lib64/python3.13/enum.py:782: KeyError _ TestAlgorithms.test__split_tests_maintains_relative_order_of_tests[duration_based_chunks-expected0] _ self = algo_name = 'duration_based_chunks' expected = [[item(nodeid='a'), item(nodeid='b'), item(nodeid='c'), item(nodeid='d'), item(nodeid='e')], []] @pytest.mark.parametrize( ("algo_name", "expected"), [ ( "duration_based_chunks", [[item("a"), item("b"), item("c"), item("d"), item("e")], []], ), ( "least_duration", [[item("e")], [item("a"), item("b"), item("c"), item("d")]], ), ], ) def test__split_tests_maintains_relative_order_of_tests(self, algo_name, expected): durations = {"a": 2, "b": 3, "c": 4, "d": 5, "e": 10000} items = [item(x) for x in ["a", "b", "c", "d", "e"]] > algo = Algorithms[algo_name].value tests/test_algorithms.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'duration_based_chunks' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'duration_based_chunks' /usr/lib64/python3.13/enum.py:782: KeyError _ TestAlgorithms.test__split_tests_maintains_relative_order_of_tests[least_duration-expected1] _ self = algo_name = 'least_duration' expected = [[item(nodeid='e')], [item(nodeid='a'), item(nodeid='b'), item(nodeid='c'), item(nodeid='d')]] @pytest.mark.parametrize( ("algo_name", "expected"), [ ( "duration_based_chunks", [[item("a"), item("b"), item("c"), item("d"), item("e")], []], ), ( "least_duration", [[item("e")], [item("a"), item("b"), item("c"), item("d")]], ), ], ) def test__split_tests_maintains_relative_order_of_tests(self, algo_name, expected): durations = {"a": 2, "b": 3, "c": 4, "d": 5, "e": 10000} items = [item(x) for x in ["a", "b", "c", "d", "e"]] > algo = Algorithms[algo_name].value tests/test_algorithms.py:113: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'least_duration' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'least_duration' /usr/lib64/python3.13/enum.py:782: KeyError ________ TestAlgorithms.test__split_tests_same_set_regardless_of_order _________ self = def test__split_tests_same_set_regardless_of_order(self): """NOTE: only least_duration does this correctly""" tests = ["a", "b", "c", "d", "e", "f", "g"] durations = {t: 1 for t in tests} items = [item(t) for t in tests] > algo = Algorithms["least_duration"].value tests/test_algorithms.py:126: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'least_duration' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'least_duration' /usr/lib64/python3.13/enum.py:782: KeyError _______ TestIPyNb.test_ensure_ipynb_compatibility[duration_based_chunks] _______ self = algo_name = 'duration_based_chunks' @pytest.mark.parametrize("algo_name", ["duration_based_chunks"]) def test_ensure_ipynb_compatibility(self, algo_name): durations = { "temp/nbs/test_1.ipynb::Cell 0": 1, "temp/nbs/test_1.ipynb::Cell 1": 1, "temp/nbs/test_1.ipynb::Cell 2": 1, "temp/nbs/test_2.ipynb::Cell 0": 3, "temp/nbs/test_2.ipynb::Cell 1": 5, "temp/nbs/test_2.ipynb::Cell 2": 1, "temp/nbs/test_2.ipynb::Cell 3": 4, "temp/nbs/test_3.ipynb::Cell 0": 5, "temp/nbs/test_3.ipynb::Cell 1": 1, "temp/nbs/test_3.ipynb::Cell 2": 1, "temp/nbs/test_3.ipynb::Cell 3": 2, "temp/nbs/test_3.ipynb::Cell 4": 1, "temp/nbs/test_4.ipynb::Cell 0": 1, "temp/nbs/test_4.ipynb::Cell 1": 1, "temp/nbs/test_4.ipynb::Cell 2": 3, } items = [item(x) for x in durations] > algo = Algorithms[algo_name].value tests/test_ipynb.py:31: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ cls = , name = 'duration_based_chunks' def __getitem__(cls, name): """ Return the member matching `name`. """ > return cls._member_map_[name] E KeyError: 'duration_based_chunks' /usr/lib64/python3.13/enum.py:782: KeyError _ TestSplitToSuites.test_it_splits[0-1-1-duration_based_chunks-expected0-True] _ self = test_idx = 0, splits = 1, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_0_1_1_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[1-1-1-duration_based_chunks-expected1-False] _ self = test_idx = 1, splits = 1, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_1_1_1_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) ____ TestSplitToSuites.test_it_splits[2-1-1-least_duration-expected2-True] _____ self = test_idx = 2, splits = 1, group = 1, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_2_1_1_least_dur0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ____ TestSplitToSuites.test_it_splits[3-1-1-least_duration-expected3-False] ____ self = test_idx = 3, splits = 1, group = 1, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_3_1_1_least_dur0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) _ TestSplitToSuites.test_it_splits[4-2-1-duration_based_chunks-expected4-True] _ self = test_idx = 4, splits = 2, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_4_2_1_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[5-2-1-duration_based_chunks-expected5-False] _ self = test_idx = 5, splits = 2, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5', 'test_6', ...] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_5_2_1_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[6-2-2-duration_based_chunks-expected6-True] _ self = test_idx = 6, splits = 2, group = 2, algo = 'duration_based_chunks' expected = ['test_8', 'test_9', 'test_10'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_6_2_2_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[7-2-2-duration_based_chunks-expected7-False] _ self = test_idx = 7, splits = 2, group = 2, algo = 'duration_based_chunks' expected = ['test_8', 'test_9', 'test_10'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_7_2_2_duration_0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) ____ TestSplitToSuites.test_it_splits[8-2-1-least_duration-expected8-True] _____ self = test_idx = 8, splits = 2, group = 1, algo = 'least_duration' expected = ['test_3', 'test_5', 'test_7', 'test_9', 'test_10'] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_8_2_1_least_dur0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ____ TestSplitToSuites.test_it_splits[9-2-1-least_duration-expected9-False] ____ self = test_idx = 9, splits = 2, group = 1, algo = 'least_duration' expected = ['test_3', 'test_5', 'test_7', 'test_9', 'test_10'] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_9_2_1_least_dur0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[10-2-2-least_duration-expected10-True] ____ self = test_idx = 10, splits = 2, group = 2, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_4', 'test_6', 'test_8'] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_10_2_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[11-2-2-least_duration-expected11-False] ___ self = test_idx = 11, splits = 2, group = 2, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_4', 'test_6', 'test_8'] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_11_2_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) _ TestSplitToSuites.test_it_splits[12-3-1-duration_based_chunks-expected12-True] _ self = test_idx = 12, splits = 3, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5'] legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_12_3_1_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[13-3-1-duration_based_chunks-expected13-False] _ self = test_idx = 13, splits = 3, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4', 'test_5'] legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_13_3_1_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[14-3-2-duration_based_chunks-expected14-True] _ self = test_idx = 14, splits = 3, group = 2, algo = 'duration_based_chunks' expected = ['test_6', 'test_7', 'test_8'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_14_3_2_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[15-3-2-duration_based_chunks-expected15-False] _ self = test_idx = 15, splits = 3, group = 2, algo = 'duration_based_chunks' expected = ['test_6', 'test_7', 'test_8'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_15_3_2_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[16-3-3-duration_based_chunks-expected16-True] _ self = test_idx = 16, splits = 3, group = 3, algo = 'duration_based_chunks' expected = ['test_9', 'test_10'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_16_3_3_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[17-3-3-duration_based_chunks-expected17-False] _ self = test_idx = 17, splits = 3, group = 3, algo = 'duration_based_chunks' expected = ['test_9', 'test_10'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_17_3_3_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) ___ TestSplitToSuites.test_it_splits[18-3-1-least_duration-expected18-True] ____ self = test_idx = 18, splits = 3, group = 1, algo = 'least_duration' expected = ['test_3', 'test_8', 'test_10'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_18_3_1_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[19-3-1-least_duration-expected19-False] ___ self = test_idx = 19, splits = 3, group = 1, algo = 'least_duration' expected = ['test_3', 'test_8', 'test_10'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_19_3_1_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[20-3-2-least_duration-expected20-True] ____ self = test_idx = 20, splits = 3, group = 2, algo = 'least_duration' expected = ['test_4', 'test_6', 'test_9'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_20_3_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[21-3-2-least_duration-expected21-False] ___ self = test_idx = 21, splits = 3, group = 2, algo = 'least_duration' expected = ['test_4', 'test_6', 'test_9'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_21_3_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[22-3-3-least_duration-expected22-True] ____ self = test_idx = 22, splits = 3, group = 3, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_5', 'test_7'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_22_3_3_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[23-3-3-least_duration-expected23-False] ___ self = test_idx = 23, splits = 3, group = 3, algo = 'least_duration' expected = ['test_1', 'test_2', 'test_5', 'test_7'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_23_3_3_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) _ TestSplitToSuites.test_it_splits[24-4-1-duration_based_chunks-expected24-True] _ self = test_idx = 24, splits = 4, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_24_4_1_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[25-4-1-duration_based_chunks-expected25-False] _ self = test_idx = 25, splits = 4, group = 1, algo = 'duration_based_chunks' expected = ['test_1', 'test_2', 'test_3', 'test_4'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_25_4_1_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[26-4-2-duration_based_chunks-expected26-True] _ self = test_idx = 26, splits = 4, group = 2, algo = 'duration_based_chunks' expected = ['test_5', 'test_6', 'test_7'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_26_4_2_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[27-4-2-duration_based_chunks-expected27-False] _ self = test_idx = 27, splits = 4, group = 2, algo = 'duration_based_chunks' expected = ['test_5', 'test_6', 'test_7'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_27_4_2_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[28-4-3-duration_based_chunks-expected28-True] _ self = test_idx = 28, splits = 4, group = 3, algo = 'duration_based_chunks' expected = ['test_8', 'test_9'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_28_4_3_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[29-4-3-duration_based_chunks-expected29-False] _ self = test_idx = 29, splits = 4, group = 3, algo = 'duration_based_chunks' expected = ['test_8', 'test_9'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_29_4_3_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[30-4-4-duration_based_chunks-expected30-True] _ self = test_idx = 30, splits = 4, group = 4, algo = 'duration_based_chunks' expected = ['test_10'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_30_4_4_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) _ TestSplitToSuites.test_it_splits[31-4-4-duration_based_chunks-expected31-False] _ self = test_idx = 31, splits = 4, group = 4, algo = 'duration_based_chunks' expected = ['test_10'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_31_4_4_duration0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'duration_based_chunks' (choose from ) ___ TestSplitToSuites.test_it_splits[32-4-1-least_duration-expected32-True] ____ self = test_idx = 32, splits = 4, group = 1, algo = 'least_duration' expected = ['test_9', 'test_10'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_32_4_1_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[33-4-1-least_duration-expected33-False] ___ self = test_idx = 33, splits = 4, group = 1, algo = 'least_duration' expected = ['test_9', 'test_10'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_33_4_1_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[34-4-2-least_duration-expected34-True] ____ self = test_idx = 34, splits = 4, group = 2, algo = 'least_duration' expected = ['test_1', 'test_4', 'test_6'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_34_4_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[35-4-2-least_duration-expected35-False] ___ self = test_idx = 35, splits = 4, group = 2, algo = 'least_duration' expected = ['test_1', 'test_4', 'test_6'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_35_4_2_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[36-4-3-least_duration-expected36-True] ____ self = test_idx = 36, splits = 4, group = 3, algo = 'least_duration' expected = ['test_2', 'test_5', 'test_7'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_36_4_3_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[37-4-3-least_duration-expected37-False] ___ self = test_idx = 37, splits = 4, group = 3, algo = 'least_duration' expected = ['test_2', 'test_5', 'test_7'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_37_4_3_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[38-4-4-least_duration-expected38-True] ____ self = test_idx = 38, splits = 4, group = 4, algo = 'least_duration' expected = ['test_3', 'test_8'], legacy_flag = True example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_38_4_4_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ___ TestSplitToSuites.test_it_splits[39-4-4-least_duration-expected39-False] ___ self = test_idx = 39, splits = 4, group = 4, algo = 'least_duration' expected = ['test_3', 'test_8'], legacy_flag = False example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_39_4_4_least_du0/.durations' @pytest.mark.parametrize( ("test_idx", "splits", "group", "algo", "expected", "legacy_flag"), enumerated_params, ) def test_it_splits( # noqa: PLR0913 self, test_idx, splits, group, algo, expected, legacy_flag, example_suite, durations_path, ): durations = { **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 1 for num in range(1, 6) }, **{ f"test_it_splits{test_idx}/test_it_splits.py::test_{num}": 2 for num in range(6, 11) }, } if legacy_flag: # formats durations to legacy format durations = [list(tup) for tup in durations.items()] # type: ignore[assignment] with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", str(splits), "--group", str(group), "--durations-path", durations_path, "--splitting-algorithm", algo, ) > result.assertoutcome(passed=len(expected)) E AttributeError: type object 'reprec' has no attribute 'assertoutcome' /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:216: AttributeError ----------------------------- Captured stderr call ----------------------------- ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...] pytest: error: argument --splitting-algorithm: invalid choice: 'least_duration' (choose from ) ____ TestSplitToSuites.test_it_adapts_splits_based_on_new_and_deleted_tests ____ self = example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_adapts_splits_based_on0/.durations' def test_it_adapts_splits_based_on_new_and_deleted_tests( self, example_suite, durations_path ): # Only 4/10 tests listed here, avg duration 1 sec test_path = ( "test_it_adapts_splits_based_on_new_and_deleted_tests0/" "test_it_adapts_splits_based_on_new_and_deleted_tests.py::{}" ) durations = { test_path.format("test_1"): 1, test_path.format("test_5"): 2.6, test_path.format("test_6"): 0.2, test_path.format("test_10"): 0.2, test_path.format("test_THIS_IS_NOT_IN_THE_SUITE"): 1000, } with open(durations_path, "w") as f: json.dump(durations, f) result = example_suite.inline_run( "--splits", "3", "--group", "1", "--durations-path", durations_path ) > result.assertoutcome(passed=4) E AssertionError: ([], [], []) E assert {'failed': 0,... 'skipped': 0} == {'failed': 0,... 'skipped': 0} E Omitting 2 identical items, use -vv to show E Differing items: E {'passed': 0} != {'passed': 4} E Use -v to get more diff /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:241: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= ________ TestSplitToSuites.test_handles_case_of_no_durations_for_group _________ self = example_suite = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_handles_case_of_no_durati0/.durations' def test_handles_case_of_no_durations_for_group( self, example_suite, durations_path ): with open(durations_path, "w") as f: json.dump({}, f) result = example_suite.inline_run( "--splits", "1", "--group", "1", "--durations-path", durations_path ) > assert result.ret == ExitCode.OK E assert == E + where = <_pytest.pytester.HookRecorder object at 0xffff9a4af570>.ret E + and = ExitCode.OK /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:265: AssertionError ----------------------------- Captured stdout call ----------------------------- [pytest-split] No test durations found. Pytest-split will split tests evenly when no durations are found. [pytest-split] You can expect better results in consequent runs, when test timings have been documented. ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= __________ TestSplitToSuites.test_it_splits_with_other_collect_hooks ___________ self = testdir = durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_it_splits_with_other_coll0/.durations' def test_it_splits_with_other_collect_hooks(self, testdir, durations_path): expected_tests_per_group = [ ["test_1", "test_2", "test_3"], ["test_4", "test_5"], ] tests_to_run = "".join( f"@pytest.mark.mark_one\ndef test_{num}(): pass\n" for num in range(1, 6) ) tests_to_exclude = "".join(f"def test_{num}(): pass\n" for num in range(6, 11)) testdir.makepyfile(f"import pytest\n{tests_to_run}\n{tests_to_exclude}") durations = ( { **{ f"test_it_splits_when_paired_with_marker_expressions.py::test_{num}": 1 for num in range(1, 3) }, **{ f"test_it_splits_when_paired_with_marker_expressions.py::test_{num}": 2 for num in range(3, 6) }, }, ) with open(durations_path, "w") as f: json.dump(durations[0], f) results = [ testdir.inline_run( "--splits", 2, "--group", group, "--durations-path", durations_path, "-m mark_one", ) for group in range(1, 3) ] for result, expected_tests in zip(results, expected_tests_per_group): > result.assertoutcome(passed=len(expected_tests)) E AssertionError: ([], [], []) E assert {'failed': 0,... 'skipped': 0} == {'failed': 0,... 'skipped': 0} E Omitting 2 identical items, use -vv to show E Differing items: E {'passed': 0} != {'passed': 3} E Use -v to get more diff /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:309: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items / 5 deselected / 5 selected INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ====================== 5 deselected, 5 warnings in 0.01s ======================= ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items / 5 deselected / 5 selected INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ====================== 5 deselected, 5 warnings in 0.01s ======================= ____ TestRaisesUsageErrors.test_returns_nonzero_when_invalid_algorithm_name ____ self = example_suite = capsys = <_pytest.capture.CaptureFixture object at 0xffff998928d0> def test_returns_nonzero_when_invalid_algorithm_name(self, example_suite, capsys): result = example_suite.inline_run( "--splits", "0", "--group", "1", "--splitting-algorithm", "NON_EXISTENT" ) assert result.ret == ExitCode.USAGE_ERROR outerr = capsys.readouterr() > assert ( "argument --splitting-algorithm: invalid choice: 'NON_EXISTENT' " "(choose from 'duration_based_chunks', 'least_duration')" ) in outerr.err E assert "argument --splitting-algorithm: invalid choice: 'NON_EXISTENT' (choose from 'duration_based_chunks', 'least_duration')" in "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: argument --splitting-algorithm: invalid choice: 'NON_EXISTENT' (choose from )\n\n" E + where "ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: argument --splitting-algorithm: invalid choice: 'NON_EXISTENT' (choose from )\n\n" = CaptureResult(out='', err="ERROR: usage: pytest [options] [file_or_dir] [file_or_dir] [...]\npytest: error: argument --splitting-algorithm: invalid choice: 'NON_EXISTENT' (choose from )\n\n").err /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:356: AssertionError __ TestHasExpectedOutput.test_prints_splitting_summary_when_durations_present __ self = example_suite = capsys = <_pytest.capture.CaptureFixture object at 0xffff99a55370> durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_prints_splitting_summary_0/.durations' def test_prints_splitting_summary_when_durations_present( self, example_suite, capsys, durations_path ): test_name = "test_prints_splitting_summary_when_durations_present" with open(durations_path, "w") as f: json.dump([[f"{test_name}0/{test_name}.py::test_1", 0.5]], f) result = example_suite.inline_run( "--splits", "1", "--group", "1", "--durations-path", durations_path ) > assert result.ret == ExitCode.OK E assert == E + where = <_pytest.pytester.HookRecorder object at 0xffff9a1acc50>.ret E + and = ExitCode.OK /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:372: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= _ TestHasExpectedOutput.test_prints_correct_number_of_selected_and_deselected_tests _ self = example_suite = capsys = <_pytest.capture.CaptureFixture object at 0xffff9a1ac450> durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_prints_correct_number_of_0/.durations' def test_prints_correct_number_of_selected_and_deselected_tests( self, example_suite, capsys, durations_path ): test_name = "test_prints_splitting_summary_when_durations_present" with open(durations_path, "w") as f: json.dump([[f"{test_name}0/{test_name}.py::test_1", 0.5]], f) result = example_suite.inline_run( "--splits", "5", "--group", "1", "--durations-path", durations_path ) > assert result.ret == ExitCode.OK E assert == E + where = <_pytest.pytester.HookRecorder object at 0xffff9a9e58b0>.ret E + and = ExitCode.OK /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:395: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= _____________ TestHasExpectedOutput.test_prints_estimated_duration _____________ self = example_suite = capsys = <_pytest.capture.CaptureFixture object at 0xffff9a1ac250> durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_prints_estimated_duration1/.durations' def test_prints_estimated_duration(self, example_suite, capsys, durations_path): test_name = "test_prints_estimated_duration" with open(durations_path, "w") as f: json.dump([[f"{test_name}0/{test_name}.py::test_1", 0.5]], f) result = example_suite.inline_run( "--splits", "5", "--group", "1", "--durations-path", durations_path ) > assert result.ret == ExitCode.OK E assert == E + where = <_pytest.pytester.HookRecorder object at 0xffff99cb5e10>.ret E + and = ExitCode.OK /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:407: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= _______________ TestHasExpectedOutput.test_prints_used_algorithm _______________ self = example_suite = capsys = <_pytest.capture.CaptureFixture object at 0xffff99f22300> durations_path = '/tmp/pytest-of-mockbuild/pytest-0/test_prints_used_algorithm1/.durations' def test_prints_used_algorithm(self, example_suite, capsys, durations_path): test_name = "test_prints_used_algorithm" with open(durations_path, "w") as f: json.dump([[f"{test_name}0/{test_name}.py::test_1", 0.5]], f) result = example_suite.inline_run( "--splits", "5", "--group", "1", "--durations-path", durations_path ) > assert result.ret == ExitCode.OK E assert == E + where = <_pytest.pytester.HookRecorder object at 0xffff99cb7bd0>.ret E + and = ExitCode.OK /builddir/build/BUILD/python-pytest-split-0.8.2-build/pytest-split-0.8.2/tests/test_plugin.py:422: AssertionError ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.13.0b3, pytest-7.4.3, pluggy-1.3.0 rootdir: /tmp/pytest-of-mockbuild/pytest-0 plugins: split-0.8.2, cov-4.0.0 collected 10 items INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 271, in wrap_session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> ~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 324, in _main INTERNALERROR> config.hook.pytest_collection(session=session) INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 335, in pytest_collection INTERNALERROR> session.perform_collect() INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/_pytest/main.py", line 678, in perform_collect INTERNALERROR> hook.pytest_collection_modifyitems( INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ INTERNALERROR> session=self, config=self.config, items=items INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> ) INTERNALERROR> ^ INTERNALERROR> File "/usr/lib/python3.13/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.13/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.13/site-packages/pluggy/_manager.py", line 457, in traced_hookexec INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 76, in from_call INTERNALERROR> result = func() INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_manager.py", line 454, in INTERNALERROR> lambda: oldcall(hook_name, hook_impls, caller_kwargs, firstresult) INTERNALERROR> ~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 152, in _multicall INTERNALERROR> return outcome.get_result() INTERNALERROR> ~~~~~~~~~~~~~~~~~~^^ INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_result.py", line 114, in get_result INTERNALERROR> raise exc.with_traceback(exc.__traceback__) INTERNALERROR> File "/usr/lib/python3.13/site-packages/pluggy/_callers.py", line 77, in _multicall INTERNALERROR> res = hook_impl.function(*args) INTERNALERROR> File "/builddir/build/BUILD/python-pytest-split-0.8.2-build/BUILDROOT/usr/lib/python3.13/site-packages/pytest_split/plugin.py", line 164, in pytest_collection_modifyitems INTERNALERROR> algo = algorithms.Algorithms[config.option.splitting_algorithm].value INTERNALERROR> ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/usr/lib64/python3.13/enum.py", line 782, in __getitem__ INTERNALERROR> return cls._member_map_[name] INTERNALERROR> ~~~~~~~~~~~~~~~~^^^^^^ INTERNALERROR> KeyError: 'duration_based_chunks' ============================ no tests ran in 0.01s ============================= =========================== short test summary info ============================ FAILED tests/test_algorithms.py::TestAlgorithms::test__split_test_handles_large_duration_at_end FAILED tests/test_algorithms.py::TestAlgorithms::test__split_tests_calculates_avg_test_duration_only_on_present_tests[duration_based_chunks-expected0] FAILED tests/test_algorithms.py::TestAlgorithms::test__split_tests_calculates_avg_test_duration_only_on_present_tests[least_duration-expected1] FAILED tests/test_algorithms.py::TestAlgorithms::test__split_tests_maintains_relative_order_of_tests[duration_based_chunks-expected0] FAILED tests/test_algorithms.py::TestAlgorithms::test__split_tests_maintains_relative_order_of_tests[least_duration-expected1] FAILED tests/test_algorithms.py::TestAlgorithms::test__split_tests_same_set_regardless_of_order FAILED tests/test_ipynb.py::TestIPyNb::test_ensure_ipynb_compatibility[duration_based_chunks] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[0-1-1-duration_based_chunks-expected0-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[1-1-1-duration_based_chunks-expected1-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[2-1-1-least_duration-expected2-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[3-1-1-least_duration-expected3-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[4-2-1-duration_based_chunks-expected4-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[5-2-1-duration_based_chunks-expected5-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[6-2-2-duration_based_chunks-expected6-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[7-2-2-duration_based_chunks-expected7-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[8-2-1-least_duration-expected8-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[9-2-1-least_duration-expected9-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[10-2-2-least_duration-expected10-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[11-2-2-least_duration-expected11-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[12-3-1-duration_based_chunks-expected12-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[13-3-1-duration_based_chunks-expected13-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[14-3-2-duration_based_chunks-expected14-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[15-3-2-duration_based_chunks-expected15-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[16-3-3-duration_based_chunks-expected16-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[17-3-3-duration_based_chunks-expected17-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[18-3-1-least_duration-expected18-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[19-3-1-least_duration-expected19-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[20-3-2-least_duration-expected20-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[21-3-2-least_duration-expected21-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[22-3-3-least_duration-expected22-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[23-3-3-least_duration-expected23-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[24-4-1-duration_based_chunks-expected24-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[25-4-1-duration_based_chunks-expected25-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[26-4-2-duration_based_chunks-expected26-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[27-4-2-duration_based_chunks-expected27-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[28-4-3-duration_based_chunks-expected28-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[29-4-3-duration_based_chunks-expected29-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[30-4-4-duration_based_chunks-expected30-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[31-4-4-duration_based_chunks-expected31-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[32-4-1-least_duration-expected32-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[33-4-1-least_duration-expected33-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[34-4-2-least_duration-expected34-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[35-4-2-least_duration-expected35-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[36-4-3-least_duration-expected36-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[37-4-3-least_duration-expected37-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[38-4-4-least_duration-expected38-True] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits[39-4-4-least_duration-expected39-False] FAILED tests/test_plugin.py::TestSplitToSuites::test_it_adapts_splits_based_on_new_and_deleted_tests FAILED tests/test_plugin.py::TestSplitToSuites::test_handles_case_of_no_durations_for_group FAILED tests/test_plugin.py::TestSplitToSuites::test_it_splits_with_other_collect_hooks FAILED tests/test_plugin.py::TestRaisesUsageErrors::test_returns_nonzero_when_invalid_algorithm_name FAILED tests/test_plugin.py::TestHasExpectedOutput::test_prints_splitting_summary_when_durations_present FAILED tests/test_plugin.py::TestHasExpectedOutput::test_prints_correct_number_of_selected_and_deselected_tests FAILED tests/test_plugin.py::TestHasExpectedOutput::test_prints_estimated_duration FAILED tests/test_plugin.py::TestHasExpectedOutput::test_prints_used_algorithm =================== 55 failed, 12 passed, 3 skipped in 2.19s =================== error: Bad exit status from /var/tmp/rpm-tmp.qjhlUb (%check) Bad exit status from /var/tmp/rpm-tmp.qjhlUb (%check) RPM build errors: Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M 7918306ddcb0474c95a9e9da6f371912 -D /var/lib/mock/f41-build-51902493-6216000/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin \'--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"\' \'--setenv=PS1= \\s-\\v\\$ \' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c \'/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-pytest-split.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/mockbuild/util.py", line 612, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (cmd_pretty(command, env), output), child.returncode) mockbuild.exception.Error: Command failed: # /usr/bin/systemd-nspawn -q -M 7918306ddcb0474c95a9e9da6f371912 -D /var/lib/mock/f41-build-51902493-6216000/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.59e9r2kz:/etc/resolv.conf --bind=/dev/btrfs-control --bind=/dev/mapper/control --bind=/dev/fuse --bind=/dev/loop-control --bind=/dev/loop0 --bind=/dev/loop1 --bind=/dev/loop2 --bind=/dev/loop3 --bind=/dev/loop4 --bind=/dev/loop5 --bind=/dev/loop6 --bind=/dev/loop7 --bind=/dev/loop8 --bind=/dev/loop9 --bind=/dev/loop10 --bind=/dev/loop11 --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;\007"' '--setenv=PS1= \s-\v\$ ' --setenv=LANG=C.UTF-8 --resolv-conf=off bash --login -c '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch /builddir/build/SPECS/python-pytest-split.spec'