Mock Version: 5.9 Mock Version: 5.9 Mock Version: 5.9 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --noclean --target noarch --nodeps /builddir/build/SPECS/python-etcd.spec'], chrootPath='/var/lib/mock/f42-build-3352227-45014/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=993gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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', 'f109586a8566409c9ca3dc42b973ebec', '-D', '/var/lib/mock/f42-build-3352227-45014/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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-etcd.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=1737158400 Wrote: /builddir/build/SRPMS/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.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-etcd.spec'], chrootPath='/var/lib/mock/f42-build-3352227-45014/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=993gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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', '14d8384f577d4bccb6e7571ea5257c28', '-D', '/var/lib/mock/f42-build-3352227-45014/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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-etcd.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=1737158400 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.lseZJH + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + test -d /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + /usr/bin/rm -rf /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + /usr/bin/mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.f9MTIR + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + rm -rf python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/288.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/289.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/290.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.EqW63W + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + cd python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir --output /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires Handling setuptools >= 40.8 from default build backend Requirement not satisfied: setuptools >= 40.8 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.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-etcd.spec'], chrootPath='/var/lib/mock/f42-build-3352227-45014/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=993gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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', 'd1b6f5b2d4594956bc0b3d8d6688e097', '-D', '/var/lib/mock/f42-build-3352227-45014/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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-etcd.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=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.Wbd0pd + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + cd python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir --output /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 74.1.3) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running egg_info creating src/python_etcd.egg-info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' running dist_info creating python_etcd.egg-info writing python_etcd.egg-info/PKG-INFO writing dependency_links to python_etcd.egg-info/dependency_links.txt writing requirements to python_etcd.egg-info/requires.txt writing top-level names to python_etcd.egg-info/top_level.txt writing manifest file 'python_etcd.egg-info/SOURCES.txt' reading manifest file 'python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'python_etcd.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/python_etcd-0.5.0.dist-info' Handling urllib3 >=1.7.1 from hook generated metadata: Requires-Dist (python-etcd) Requirement not satisfied: urllib3 >=1.7.1 Handling dnspython >=1.13.0 from hook generated metadata: Requires-Dist (python-etcd) Requirement not satisfied: dnspython >=1.13.0 + cat /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires + rm -rfv python_etcd-0.5.0.dist-info/ removed 'python_etcd-0.5.0.dist-info/top_level.txt' removed 'python_etcd-0.5.0.dist-info/LICENSE.txt' removed 'python_etcd-0.5.0.dist-info/AUTHORS' removed 'python_etcd-0.5.0.dist-info/METADATA' removed directory 'python_etcd-0.5.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.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-etcd.spec'], chrootPath='/var/lib/mock/f42-build-3352227-45014/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=993gid=135user='mockbuild'unshare_net=TrueraiseExc=FalseprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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', '68c20bdff74546c19e04a1abe7a0dbfb', '-D', '/var/lib/mock/f42-build-3352227-45014/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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-etcd.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=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.B84ogX + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + cd python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir --output /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 74.1.3) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running egg_info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' running dist_info writing python_etcd.egg-info/PKG-INFO writing dependency_links to python_etcd.egg-info/dependency_links.txt writing requirements to python_etcd.egg-info/requires.txt writing top-level names to python_etcd.egg-info/top_level.txt reading manifest file 'python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'python_etcd.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/python_etcd-0.5.0.dist-info' Handling urllib3 >=1.7.1 from hook generated metadata: Requires-Dist (python-etcd) Requirement satisfied: urllib3 >=1.7.1 (installed: urllib3 2.3.0) Handling dnspython >=1.13.0 from hook generated metadata: Requires-Dist (python-etcd) Requirement satisfied: dnspython >=1.13.0 (installed: dnspython 2.7.0) + cat /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires + rm -rfv python_etcd-0.5.0.dist-info/ removed 'python_etcd-0.5.0.dist-info/top_level.txt' removed 'python_etcd-0.5.0.dist-info/LICENSE.txt' removed 'python_etcd-0.5.0.dist-info/AUTHORS' removed 'python_etcd-0.5.0.dist-info/METADATA' removed directory 'python_etcd-0.5.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.buildreqs.nosrc.rpm Child return code was: 11 Dynamic buildrequires detected Going to install missing buildrequires. See root.log for details. ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -ba --noprep --noclean --target noarch --nodeps /builddir/build/SPECS/python-etcd.spec'], chrootPath='/var/lib/mock/f42-build-3352227-45014/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=864000uid=993gid=135user='mockbuild'unshare_net=TrueprintOutput=Falsenspawn_args=['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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']) Using nspawn with args ['--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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', '4a92020c43204272866ad688c9ad6975', '-D', '/var/lib/mock/f42-build-3352227-45014/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.axdjnak9:/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 --nodeps /builddir/build/SPECS/python-etcd.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=1737158400 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.MfXQP6 + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + cd python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + '[' -f setup.py ']' + echo 'python3dist(setuptools) >= 40.8' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir --output /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires Handling setuptools >= 40.8 from default build backend Requirement satisfied: setuptools >= 40.8 (installed: setuptools 74.1.3) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running egg_info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' running dist_info writing python_etcd.egg-info/PKG-INFO writing dependency_links to python_etcd.egg-info/dependency_links.txt writing requirements to python_etcd.egg-info/requires.txt writing top-level names to python_etcd.egg-info/top_level.txt reading manifest file 'python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'python_etcd.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/python_etcd-0.5.0.dist-info' Handling urllib3 >=1.7.1 from hook generated metadata: Requires-Dist (python-etcd) Requirement satisfied: urllib3 >=1.7.1 (installed: urllib3 2.3.0) Handling dnspython >=1.13.0 from hook generated metadata: Requires-Dist (python-etcd) Requirement satisfied: dnspython >=1.13.0 (installed: dnspython 2.7.0) + cat /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-buildrequires + rm -rfv python_etcd-0.5.0.dist-info/ removed 'python_etcd-0.5.0.dist-info/top_level.txt' removed 'python_etcd-0.5.0.dist-info/LICENSE.txt' removed 'python_etcd-0.5.0.dist-info/AUTHORS' removed 'python_etcd-0.5.0.dist-info/METADATA' removed directory 'python_etcd-0.5.0.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.1HrADE + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + 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 -fasynchronous-unwind-tables -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + 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 ' + LT_SYS_LIBRARY_PATH=/usr/lib: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir Processing /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running dist_info creating /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info writing /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/PKG-INFO writing dependency_links to /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/dependency_links.txt writing requirements to /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/requires.txt writing top-level names to /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/top_level.txt writing manifest file '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/SOURCES.txt' reading manifest file '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd.egg-info/SOURCES.txt' creating '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-modern-metadata-5li8rjtw/python_etcd-0.5.0.dist-info' Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: python-etcd Building wheel for python-etcd (pyproject.toml): started Running command Building wheel for python-etcd (pyproject.toml) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'tests_require' warnings.warn(msg) /usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py:261: UserWarning: Unknown distribution option: 'test_suite' warnings.warn(msg) running bdist_wheel running build running build_py creating build creating build/lib creating build/lib/etcd copying src/etcd/client.py -> build/lib/etcd copying src/etcd/lock.py -> build/lib/etcd copying src/etcd/__init__.py -> build/lib/etcd copying src/etcd/auth.py -> build/lib/etcd running egg_info writing src/python_etcd.egg-info/PKG-INFO writing dependency_links to src/python_etcd.egg-info/dependency_links.txt writing requirements to src/python_etcd.egg-info/requires.txt writing top-level names to src/python_etcd.egg-info/top_level.txt reading manifest file 'src/python_etcd.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE.txt' adding license file 'AUTHORS' writing manifest file 'src/python_etcd.egg-info/SOURCES.txt' installing to build/bdist.linux-riscv64/wheel running install running install_lib creating build/bdist.linux-riscv64 creating build/bdist.linux-riscv64/wheel creating build/bdist.linux-riscv64/wheel/etcd copying build/lib/etcd/client.py -> build/bdist.linux-riscv64/wheel/./etcd copying build/lib/etcd/lock.py -> build/bdist.linux-riscv64/wheel/./etcd copying build/lib/etcd/__init__.py -> build/bdist.linux-riscv64/wheel/./etcd copying build/lib/etcd/auth.py -> build/bdist.linux-riscv64/wheel/./etcd running install_egg_info Copying src/python_etcd.egg-info to build/bdist.linux-riscv64/wheel/./python_etcd-0.5.0-py3.13.egg-info running install_scripts creating build/bdist.linux-riscv64/wheel/python_etcd-0.5.0.dist-info/WHEEL creating '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir/pip-wheel-j9qa4rj5/.tmp-h_zf8fcv/python_etcd-0.5.0-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it adding 'etcd/__init__.py' adding 'etcd/auth.py' adding 'etcd/client.py' adding 'etcd/lock.py' adding 'python_etcd-0.5.0.dist-info/AUTHORS' adding 'python_etcd-0.5.0.dist-info/LICENSE.txt' adding 'python_etcd-0.5.0.dist-info/METADATA' adding 'python_etcd-0.5.0.dist-info/WHEEL' adding 'python_etcd-0.5.0.dist-info/top_level.txt' adding 'python_etcd-0.5.0.dist-info/RECORD' removing build/bdist.linux-riscv64/wheel Building wheel for python-etcd (pyproject.toml): finished with status 'done' Created wheel for python-etcd: filename=python_etcd-0.5.0-py3-none-any.whl size=22383 sha256=9b7ff71012d2c09ca170bb61031abadce867cc850d864039fa6a7c4595c742ea Stored in directory: /builddir/.cache/pip/wheels/7a/c4/c2/c7aeb54c29fe4603afbc328b1f0feeb5d944f9bbb0a85f87a6 Successfully built python-etcd + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.9K68ey + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + '[' /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT ++ dirname /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT + mkdir -p /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build + mkdir /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 ++ ls /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir/python_etcd-0.5.0-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=python_etcd==0.5.0 + '[' -z python_etcd==0.5.0 ']' + TMPDIR=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-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-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir python_etcd==0.5.0 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/pyproject-wheeldir Processing ./pyproject-wheeldir/python_etcd-0.5.0-py3-none-any.whl Installing collected packages: python_etcd Successfully installed python_etcd-0.5.0 + '[' -d /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/bin ']' + rm -f /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.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-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT --record /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info/RECORD --output /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-record + rm -fv /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info/RECORD removed '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info/RECORD' + rm -fv /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info/REQUESTED removed '/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/python_etcd-0.5.0.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-ghost-distinfo ++ cut -f1 '-d ' + lines=1 + '[' 1 -ne 1 ']' + RPM_FILES_ESCAPE=4.19 + /usr/bin/python3 /usr/lib/rpm/redhat/pyproject_save_files.py --output-files /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-files --output-modules /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-modules --buildroot /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT --sitelib /usr/lib/python3.13/site-packages --sitearch /usr/lib64/python3.13/site-packages --python-version 3.13 --pyproject-record /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-0.5.0~20231031git5aea0fd-2.fc42.noarch-pyproject-record --prefix /usr -l etcd + /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 -j32 Bytecompiling .py files below /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j32 /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/etcd/__pycache__/lock.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/etcd/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/etcd/__pycache__/auth.cpython-313.opt-1.pyc: rewriting with normalized contents /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages/etcd/__pycache__/client.cpython-313.opt-1.pyc: rewriting with normalized contents Scanned 8 directories and 18 files, processed 4 inodes, 4 modified (0 replaced + 4 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.DIQI8n + umask 022 + cd /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 -fasynchronous-unwind-tables -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 python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 + k='not (TestEncryptedAccess and test_get_set_authenticated)' + k='not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated)' + k='not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated_missing_ca)' + k='not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated_missing_ca) and not (TestEncryptedAccess and test_get_set_unauthenticated_with_ca)' + k='not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated_missing_ca) and not (TestEncryptedAccess and test_get_set_unauthenticated_with_ca) and not (TestClientAuthenticatedAccess and test_get_set_unauthenticated)' + k='not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated_missing_ca) and not (TestEncryptedAccess and test_get_set_unauthenticated_with_ca) and not (TestClientAuthenticatedAccess and test_get_set_unauthenticated) and not (TestSimple and test_directory_ttl_update)' + 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 -fasynchronous-unwind-tables -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-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=32 + /usr/bin/pytest -k 'not (TestEncryptedAccess and test_get_set_authenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated) and not (TestEncryptedAccess and test_get_set_unauthenticated_missing_ca) and not (TestEncryptedAccess and test_get_set_unauthenticated_with_ca) and not (TestClientAuthenticatedAccess and test_get_set_unauthenticated) and not (TestSimple and test_directory_ttl_update)' -v ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /builddir/build/BUILD/python-etcd-0.5.0_20231031git5aea0fd-build/python-etcd-5aea0fd4461bd05dd96e4ad637f6be7bceb1cee5 collecting ... collected 148 items / 6 deselected / 142 selected src/etcd/tests/integration/test_simple.py::TestSimple::test_get_set_delete ERROR [ 0%] src/etcd/tests/integration/test_simple.py::TestSimple::test_leader ERROR [ 1%] src/etcd/tests/integration/test_simple.py::TestSimple::test_machines ERROR [ 2%] src/etcd/tests/integration/test_simple.py::TestSimple::test_retrieve_subkeys ERROR [ 2%] src/etcd/tests/integration/test_simple.py::TestSimple::test_update ERROR [ 3%] src/etcd/tests/integration/test_simple.py::TestErrors::test_creating_already_existing_directory ERROR [ 4%] src/etcd/tests/integration/test_simple.py::TestErrors::test_is_not_a_file ERROR [ 4%] src/etcd/tests/integration/test_simple.py::TestErrors::test_test_and_set ERROR [ 5%] src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect ERROR [ 6%] src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect_not_allowed ERROR [ 7%] src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect_with_several_hosts_passed ERROR [ 7%] src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnet_fails ERROR [ 8%] src/etcd/tests/integration/test_simple.py::TestWatch::test_watch ERROR [ 9%] src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_generator ERROR [ 9%] src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_indexed ERROR [ 10%] src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_indexed_generator ERROR [ 11%] src/etcd/tests/integration/test_ssl.py::TestClientAuthenticatedAccess::test_get_set_authenticated SKIPPED [ 11%] src/etcd/tests/test_auth.py::EtcdUserTest::test_names ERROR [ 12%] src/etcd/tests/test_auth.py::EtcdUserTest::test_read ERROR [ 13%] src/etcd/tests/test_auth.py::EtcdUserTest::test_write_and_delete ERROR [ 14%] src/etcd/tests/test_auth.py::EtcdRoleTest::test_names ERROR [ 14%] src/etcd/tests/test_auth.py::EtcdRoleTest::test_read ERROR [ 15%] src/etcd/tests/test_auth.py::EtcdRoleTest::test_write_and_delete ERROR [ 16%] src/etcd/tests/unit/test_client.py::TestClient::test__set_version_info PASSED [ 16%] src/etcd/tests/unit/test_client.py::TestClient::test_allow_reconnect PASSED [ 17%] src/etcd/tests/unit/test_client.py::TestClient::test_cluster_version_property PASSED [ 18%] src/etcd/tests/unit/test_client.py::TestClient::test_default_allow_redirect PASSED [ 19%] src/etcd/tests/unit/test_client.py::TestClient::test_default_base_uri PASSED [ 19%] src/etcd/tests/unit/test_client.py::TestClient::test_default_host PASSED [ 20%] src/etcd/tests/unit/test_client.py::TestClient::test_default_password PASSED [ 21%] src/etcd/tests/unit/test_client.py::TestClient::test_default_port PASSED [ 21%] src/etcd/tests/unit/test_client.py::TestClient::test_default_prefix PASSED [ 22%] src/etcd/tests/unit/test_client.py::TestClient::test_default_protocol PASSED [ 23%] src/etcd/tests/unit/test_client.py::TestClient::test_default_read_timeout PASSED [ 23%] src/etcd/tests/unit/test_client.py::TestClient::test_default_username PASSED [ 24%] src/etcd/tests/unit/test_client.py::TestClient::test_discover PASSED [ 25%] src/etcd/tests/unit/test_client.py::TestClient::test_get_headers_with_auth PASSED [ 26%] src/etcd/tests/unit/test_client.py::TestClient::test_get_headers_without_auth PASSED [ 26%] src/etcd/tests/unit/test_client.py::TestClient::test_instantiate PASSED [ 27%] src/etcd/tests/unit/test_client.py::TestClient::test_set_allow_redirect PASSED [ 28%] src/etcd/tests/unit/test_client.py::TestClient::test_set_base_uri PASSED [ 28%] src/etcd/tests/unit/test_client.py::TestClient::test_set_host PASSED [ 29%] src/etcd/tests/unit/test_client.py::TestClient::test_set_password_only PASSED [ 30%] src/etcd/tests/unit/test_client.py::TestClient::test_set_port PASSED [ 30%] src/etcd/tests/unit/test_client.py::TestClient::test_set_prefix PASSED [ 31%] src/etcd/tests/unit/test_client.py::TestClient::test_set_protocol PASSED [ 32%] src/etcd/tests/unit/test_client.py::TestClient::test_set_read_timeout PASSED [ 33%] src/etcd/tests/unit/test_client.py::TestClient::test_set_use_proxies PASSED [ 33%] src/etcd/tests/unit/test_client.py::TestClient::test_set_username_only PASSED [ 34%] src/etcd/tests/unit/test_client.py::TestClient::test_set_username_password PASSED [ 35%] src/etcd/tests/unit/test_client.py::TestClient::test_version_property PASSED [ 35%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_acquire PASSED [ 36%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_acquired PASSED [ 37%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_acquired_no_timeout PASSED [ 38%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_find_lock PASSED [ 38%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_get_locker PASSED [ 39%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_initialization PASSED [ 40%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_is_acquired PASSED [ 40%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_is_not_acquired PASSED [ 41%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_lock_key PASSED [ 42%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_release PASSED [ 42%] src/etcd/tests/unit/test_lock.py::TestClientLock::test_set_sequence PASSED [ 43%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_delete PASSED [ 44%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_get PASSED [ 45%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_get_multi PASSED [ 45%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_get_subdirs PASSED [ 46%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_in PASSED [ 47%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_index_watch PASSED [ 47%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_not_in PASSED [ 48%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_set PASSED [ 49%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_simple_watch PASSED [ 50%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_set PASSED [ 50%] src/etcd/tests/unit/test_old_request.py::TestClientRequest::test_test_and_test_failure PASSED [ 51%] src/etcd/tests/unit/test_old_request.py::TestEventGenerator::test_eternal_watch PASSED [ 52%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_delete PASSED [ 52%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get PASSED [ 53%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error PASSED [ 54%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error_invalid PASSED [ 54%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error_request_invalid PASSED [ 55%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_get_error_unknown PASSED [ 56%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_put PASSED [ 57%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_set_not_file_error PASSED [ 57%] src/etcd/tests/unit/test_old_request.py::TestClientApiExecutor::test_test_and_set_error PASSED [ 58%] src/etcd/tests/unit/test_request.py::TestClientApiInternals::test_read_custom_timeout PASSED [ 59%] src/etcd/tests/unit/test_request.py::TestClientApiInternals::test_read_default_timeout PASSED [ 59%] src/etcd/tests/unit/test_request.py::TestClientApiInternals::test_read_no_timeout PASSED [ 60%] src/etcd/tests/unit/test_request.py::TestClientApiInternals::test_write_no_params PASSED [ 61%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_compare_and_swap PASSED [ 61%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_compare_and_swap_failure PASSED [ 62%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_delete PASSED [ 63%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_get_dir PASSED [ 64%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_in PASSED [ 64%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader PASSED [ 65%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_leader_stats PASSED [ 66%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_machines PASSED [ 66%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_members PASSED [ 67%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_newkey PASSED [ 68%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_not_found_response PASSED [ 69%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_not_in PASSED [ 69%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_pop PASSED [ 70%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_read PASSED [ 71%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_refresh PASSED [ 71%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_self_stats PASSED [ 72%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_append PASSED [ 73%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_dir_with_value PASSED [ 73%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_set_plain PASSED [ 74%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_update PASSED [ 75%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_use_proxies PASSED [ 76%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch PASSED [ 76%] src/etcd/tests/unit/test_request.py::TestClientApiInterface::test_watch_index PASSED [ 77%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_api_method_not_supported PASSED [ 78%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_compare_and_swap PASSED [ 78%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_compare_and_swap_failure PASSED [ 79%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_delete PASSED [ 80%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_get_dir PASSED [ 80%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_in PASSED [ 81%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_leader PASSED [ 82%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_leader_stats PASSED [ 83%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_machines PASSED [ 83%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_members PASSED [ 84%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_newkey PASSED [ 85%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_not_found_response PASSED [ 85%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_not_in PASSED [ 86%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_path_without_trailing_slash PASSED [ 87%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_pop PASSED [ 88%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_read PASSED [ 88%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_read_cluster_id_changed PASSED [ 89%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_read_connection_error PASSED [ 90%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_refresh PASSED [ 90%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_self_stats PASSED [ 91%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_set_append PASSED [ 92%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_set_dir_with_value PASSED [ 92%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_set_plain PASSED [ 93%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_update PASSED [ 94%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_update_fails PASSED [ 95%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_use_proxies PASSED [ 95%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_watch PASSED [ 96%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_watch_index PASSED [ 97%] src/etcd/tests/unit/test_request.py::TestClientRequest::test_watch_timeout PASSED [ 97%] src/etcd/tests/unit/test_result.py::TestEtcdResult::test_get_subtree_1_level PASSED [ 98%] src/etcd/tests/unit/test_result.py::TestEtcdResult::test_get_subtree_2_level PASSED [ 99%] src/etcd/tests/unit/test_result.py::TestEtcdResult::test_get_subtree_3_level PASSED [100%] ==================================== ERRORS ==================================== _______________ ERROR at setup of TestSimple.test_get_set_delete _______________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:21:50.445088Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} ___________________ ERROR at setup of TestSimple.test_leader ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError __________________ ERROR at setup of TestSimple.test_machines __________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ______________ ERROR at setup of TestSimple.test_retrieve_subkeys ______________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ___________________ ERROR at setup of TestSimple.test_update ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ____ ERROR at setup of TestErrors.test_creating_already_existing_directory _____ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:21:56.855218Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} _______________ ERROR at setup of TestErrors.test_is_not_a_file ________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ________________ ERROR at setup of TestErrors.test_test_and_set ________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ____________ ERROR at setup of TestClusterFunctions.test_reconnect _____________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, cluster=True, ) src/etcd/tests/integration/test_simple.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:22:00.662068Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} ______ ERROR at setup of TestClusterFunctions.test_reconnect_not_allowed _______ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, cluster=True, ) src/etcd/tests/integration/test_simple.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError _ ERROR at setup of TestClusterFunctions.test_reconnect_with_several_hosts_passed _ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, cluster=True, ) src/etcd/tests/integration/test_simple.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError __________ ERROR at setup of TestClusterFunctions.test_reconnet_fails __________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, cluster=True, ) src/etcd/tests/integration/test_simple.py:181: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ____________________ ERROR at setup of TestWatch.test_watch ____________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:22:05.144167Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} _______________ ERROR at setup of TestWatch.test_watch_generator _______________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ________________ ERROR at setup of TestWatch.test_watch_indexed ________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ___________ ERROR at setup of TestWatch.test_watch_indexed_generator ___________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError __________________ ERROR at setup of EtcdUserTest.test_names ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:22:09.873575Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} ___________________ ERROR at setup of EtcdUserTest.test_read ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError _____________ ERROR at setup of EtcdUserTest.test_write_and_delete _____________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError __________________ ERROR at setup of EtcdRoleTest.test_names ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError ---------------------------- Captured stderr setup ----------------------------- {"level":"error","ts":"2025-03-10T12:22:13.7699Z","caller":"etcdmain/etcd.go:486","msg":"running etcd on unsupported architecture since ETCD_UNSUPPORTED_ARCH is set","arch":"riscv64","stacktrace":"go.etcd.io/etcd/server/v3/etcdmain.checkSupportArch\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/etcd.go:486\ngo.etcd.io/etcd/server/v3/etcdmain.Main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/etcdmain/main.go:26\nmain.main\n\t/builddir/build/BUILD/etcd-3.5.13-build/etcd-3.5.13/_build/src/go.etcd.io/etcd/server/v3/main.go:31\nruntime.main\n\t/usr/lib/golang/src/runtime/proc.go:272"} ___________________ ERROR at setup of EtcdRoleTest.test_read ___________________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError _____________ ERROR at setup of EtcdRoleTest.test_write_and_delete _____________ cls = @classmethod def setUpClass(cls): program = cls._get_exe() cls.directory = tempfile.mkdtemp(prefix="python-etcd") > cls.processHelper = helpers.EtcdProcessHelper( cls.directory, proc_name=program, port_range_start=6001, internal_port_range_start=8001, ) src/etcd/tests/integration/test_simple.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ src/etcd/tests/integration/helpers.py:32: in __init__ self.compat_args = self.check_compat_args() src/etcd/tests/integration/helpers.py:36: in check_compat_args version_data = subprocess.check_output([self.proc_name, "--version"]).decode("utf-8") /usr/lib64/python3.13/subprocess.py:474: in check_output return run(*popenargs, stdout=PIPE, timeout=timeout, check=True, _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ input = None, capture_output = False, timeout = None, check = True popenargs = (['/usr/bin/etcd', '--version'],), kwargs = {'stdout': -1} process = stdout = b'', stderr = None, retcode = 1 def run(*popenargs, input=None, capture_output=False, timeout=None, check=False, **kwargs): """Run command with arguments and return a CompletedProcess instance. The returned instance will have attributes args, returncode, stdout and stderr. By default, stdout and stderr are not captured, and those attributes will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, or pass capture_output=True to capture both. If check is True and the exit code was non-zero, it raises a CalledProcessError. The CalledProcessError object will have the return code in the returncode attribute, and output & stderr attributes if those streams were captured. If timeout (seconds) is given and the process takes too long, a TimeoutExpired exception will be raised. There is an optional argument "input", allowing you to pass bytes or a string to the subprocess's stdin. If you use this argument you may not also use the Popen constructor's "stdin" argument, as it will be used internally. By default, all communication is in bytes, and therefore any "input" should be bytes, and the stdout and stderr will be bytes. If in text mode, any "input" should be a string, and stdout and stderr will be strings decoded according to locale encoding, or by "encoding" if set. Text mode is triggered by setting any of text, encoding, errors or universal_newlines. The other arguments are the same as for the Popen constructor. """ if input is not None: if kwargs.get('stdin') is not None: raise ValueError('stdin and input arguments may not both be used.') kwargs['stdin'] = PIPE if capture_output: if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: raise ValueError('stdout and stderr arguments may not be used ' 'with capture_output.') kwargs['stdout'] = PIPE kwargs['stderr'] = PIPE with Popen(*popenargs, **kwargs) as process: try: stdout, stderr = process.communicate(input, timeout=timeout) except TimeoutExpired as exc: process.kill() if _mswindows: # Windows accumulates the output in a single blocking # read() call run on child threads, with the timeout # being done in a join() on those threads. communicate() # _after_ kill() is required to collect that and add it # to the exception. exc.stdout, exc.stderr = process.communicate() else: # POSIX _communicate already populated the output so # far into the TimeoutExpired exception. process.wait() raise except: # Including KeyboardInterrupt, communicate handled that. process.kill() # We don't call process.wait() as .__exit__ does that for us. raise retcode = process.poll() if check and retcode: > raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) E subprocess.CalledProcessError: Command '['/usr/bin/etcd', '--version']' returned non-zero exit status 1. /usr/lib64/python3.13/subprocess.py:579: CalledProcessError =========================== short test summary info ============================ ERROR src/etcd/tests/integration/test_simple.py::TestSimple::test_get_set_delete ERROR src/etcd/tests/integration/test_simple.py::TestSimple::test_leader - su... ERROR src/etcd/tests/integration/test_simple.py::TestSimple::test_machines - ... ERROR src/etcd/tests/integration/test_simple.py::TestSimple::test_retrieve_subkeys ERROR src/etcd/tests/integration/test_simple.py::TestSimple::test_update - su... ERROR src/etcd/tests/integration/test_simple.py::TestErrors::test_creating_already_existing_directory ERROR src/etcd/tests/integration/test_simple.py::TestErrors::test_is_not_a_file ERROR src/etcd/tests/integration/test_simple.py::TestErrors::test_test_and_set ERROR src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect ERROR src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect_not_allowed ERROR src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnect_with_several_hosts_passed ERROR src/etcd/tests/integration/test_simple.py::TestClusterFunctions::test_reconnet_fails ERROR src/etcd/tests/integration/test_simple.py::TestWatch::test_watch - subp... ERROR src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_generator ERROR src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_indexed ERROR src/etcd/tests/integration/test_simple.py::TestWatch::test_watch_indexed_generator ERROR src/etcd/tests/test_auth.py::EtcdUserTest::test_names - subprocess.Call... ERROR src/etcd/tests/test_auth.py::EtcdUserTest::test_read - subprocess.Calle... ERROR src/etcd/tests/test_auth.py::EtcdUserTest::test_write_and_delete - subp... ERROR src/etcd/tests/test_auth.py::EtcdRoleTest::test_names - subprocess.Call... ERROR src/etcd/tests/test_auth.py::EtcdRoleTest::test_read - subprocess.Calle... ERROR src/etcd/tests/test_auth.py::EtcdRoleTest::test_write_and_delete - subp... ====== 119 passed, 1 skipped, 6 deselected, 22 errors in 79.21s (0:01:19) ====== RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.DIQI8n (%check) Bad exit status from /var/tmp/rpm-tmp.DIQI8n (%check) Child return code was: 1 EXCEPTION: [Error('Command failed: \n # /usr/bin/systemd-nspawn -q -M 4a92020c43204272866ad688c9ad6975 -D /var/lib/mock/f42-build-3352227-45014/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.axdjnak9:/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 --nodeps /builddir/build/SPECS/python-etcd.spec\'\n', 1)] Traceback (most recent call last): File "/usr/lib/python3.13/site-packages/mockbuild/trace_decorator.py", line 93, in trace result = func(*args, **kw) File "/usr/lib/python3.13/site-packages/mockbuild/util.py", line 610, 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 4a92020c43204272866ad688c9ad6975 -D /var/lib/mock/f42-build-3352227-45014/root -a -u mockbuild --capability=cap_ipc_lock --bind=/tmp/mock-resolv.axdjnak9:/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 --nodeps /builddir/build/SPECS/python-etcd.spec'