Warning: Permanently added '13.120.89.194' (ED25519) to the list of known hosts. You can reproduce this build on your computer by running: sudo dnf install copr-rpmbuild /usr/bin/copr-rpmbuild --verbose --drop-resultdir --task-url https://copr.fedorainfracloud.org/backend/get-build-task/8477013-fedora-rawhide-s390x --chroot fedora-rawhide-s390x Version: 1.2 PID: 18278 Logging PID: 18279 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 8477013, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-s390x', 'enable_net': False, 'fedora_review': False, 'git_hash': '3dd3b0ef8857b9b3417507fb0fe48f19c5998185', 'git_repo': 'https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3.failed/poetry', 'isolation': 'default', 'memory_reqs': 2048, 'package_name': 'poetry', 'package_version': '1.8.5-1', 'project_dirname': 'gcc-15-smoketest-3.failed', 'project_name': 'gcc-15-smoketest-3.failed', 'project_owner': 'dmalcolm', 'repo_priority': None, 'repos': [{'baseurl': 'https://download.copr.fedorainfracloud.org/results/dmalcolm/gcc-15-smoketest-3.failed/fedora-rawhide-s390x/', 'id': 'copr_base', 'name': 'Copr repository', 'priority': None}, {'baseurl': 'https://fedorapeople.org/~dmalcolm/gcc/gcc-15-mass-prebuild/$basearch', 'id': 'https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch', 'name': 'Additional repo https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch'}], 'sandbox': 'dmalcolm/gcc-15-smoketest-3.failed--dmalcolm', 'source_json': {}, 'source_type': None, 'ssh_public_keys': None, 'storage': 0, 'submitter': 'dmalcolm', 'tags': [], 'task_id': '8477013-fedora-rawhide-s390x', 'timeout': 115200, 'uses_devel_repo': False, 'with_opts': [], 'without_opts': []} Running: git clone https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3.failed/poetry /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry --depth 500 --no-single-branch --recursive cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/dmalcolm/gcc-15-smoketest-3.failed/poetry', '/var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry'... Running: git checkout 3dd3b0ef8857b9b3417507fb0fe48f19c5998185 -- cmd: ['git', 'checkout', '3dd3b0ef8857b9b3417507fb0fe48f19c5998185', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry rc: 0 stdout: stderr: Note: switching to '3dd3b0ef8857b9b3417507fb0fe48f19c5998185'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -c with the switch command. Example: git switch -c Or undo this operation with: git switch - Turn off this advice by setting config variable advice.detachedHead to false HEAD is now at 3dd3b0e automatic import of poetry Running: dist-git-client sources cmd: ['dist-git-client', 'sources'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry rc: 0 stdout: stderr: INFO: Reading stdout from command: git rev-parse --abbrev-ref HEAD INFO: Reading stdout from command: git rev-parse HEAD INFO: Reading sources specification file: sources INFO: Downloading poetry-1.8.5.tar.gz INFO: Reading stdout from command: curl --help all INFO: Calling: curl -H Pragma: -o poetry-1.8.5.tar.gz --location --connect-timeout 60 --retry 3 --retry-delay 10 --remote-time --show-error --fail --retry-all-errors https://copr-dist-git.fedorainfracloud.org/repo/pkgs/dmalcolm/gcc-15-smoketest-3.failed/poetry/poetry-1.8.5.tar.gz/md5/c7f739c4fcfe4b2bbb1023c24ce15f1f/poetry-1.8.5.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 3100k 100 3100k 0 0 3280k 0 --:--:-- --:--:-- --:--:-- 3277k INFO: Reading stdout from command: md5sum poetry-1.8.5.tar.gz /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=115200): unbuffer mock --spec /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry/poetry.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736263696.844612 -r /var/lib/copr-rpmbuild/results/configs/child.cfg INFO: mock.py version 6.0 starting (python version = 3.13.0, NVR = mock-6.0-1.fc41), args: /usr/libexec/mock/mock --spec /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry/poetry.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736263696.844612 -r /var/lib/copr-rpmbuild/results/configs/child.cfg Start(bootstrap): init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish(bootstrap): init plugins Start: init plugins INFO: tmpfs initialized INFO: selinux enabled INFO: chroot_scan: initialized INFO: compress_logs: initialized Finish: init plugins INFO: Signal handler active Start: run INFO: Start(/var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry/poetry.spec) Config(fedora-rawhide-s390x) Start: clean chroot Finish: clean chroot Mock Version: 6.0 INFO: Mock Version: 6.0 Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-s390x-bootstrap-1736263696.844612/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Guessed host environment type: unknown INFO: Using container image: registry.fedoraproject.org/fedora:rawhide INFO: Pulling image: registry.fedoraproject.org/fedora:rawhide INFO: Tagging container image as mock-bootstrap-ff3aeeb3-e3ce-4f5c-9ede-0805f4b1eeb8 INFO: Checking that 9d51fc14eabf1f09e05b6d1fa310b363473951efb08a7c2d51486e9e0aeaa872 image matches host's architecture INFO: Copy content of container 9d51fc14eabf1f09e05b6d1fa310b363473951efb08a7c2d51486e9e0aeaa872 to /var/lib/mock/fedora-rawhide-s390x-bootstrap-1736263696.844612/root INFO: mounting 9d51fc14eabf1f09e05b6d1fa310b363473951efb08a7c2d51486e9e0aeaa872 with podman image mount INFO: image 9d51fc14eabf1f09e05b6d1fa310b363473951efb08a7c2d51486e9e0aeaa872 as /var/lib/containers/storage/overlay/94ca247095614150848e67cea26d68d782195861139b4b21050cc50c991028f8/merged INFO: umounting image 9d51fc14eabf1f09e05b6d1fa310b363473951efb08a7c2d51486e9e0aeaa872 (/var/lib/containers/storage/overlay/94ca247095614150848e67cea26d68d782195861139b4b21050cc50c991028f8/merged) with podman image umount INFO: Removing image mock-bootstrap-ff3aeeb3-e3ce-4f5c-9ede-0805f4b1eeb8 INFO: Package manager dnf5 detected and used (fallback) INFO: Not updating bootstrap chroot, bootstrap_image_ready=True Start(bootstrap): creating root cache Finish(bootstrap): creating root cache Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf5 detected and used (direct choice) INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc42.s390x rpm-sequoia-1.7.0-3.fc42.s390x dnf5-5.2.8.1-2.fc42.s390x dnf5-plugins-5.2.8.1-2.fc42.s390x Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 9.2 KiB/s | 3.2 KiB | 00m00s Copr repository 100% | 2.7 KiB/s | 1.5 KiB | 00m01s Additional repo https_fedorapeople_org 100% | 4.9 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash s390x 5.2.37-1.fc42 fedora 8.4 MiB bzip2 s390x 1.0.8-19.fc41 fedora 99.2 KiB coreutils s390x 9.5-11.fc42 copr_base 5.4 MiB cpio s390x 2.15-2.fc41 fedora 1.1 MiB diffutils s390x 3.10-8.fc41 fedora 1.6 MiB fedora-release-common noarch 42-0.12 fedora 19.8 KiB findutils s390x 1:4.10.0-4.fc41 fedora 1.9 MiB gawk s390x 5.3.0-4.fc41 fedora 1.8 MiB glibc-minimal-langpack s390x 2.40.9000-26.fc42 fedora 0.0 B grep s390x 3.11-9.fc41 fedora 1.0 MiB gzip s390x 1.13-2.fc41 fedora 400.8 KiB info s390x 7.1.1-2.fc42 fedora 409.1 KiB patch s390x 2.7.6-25.fc41 fedora 298.3 KiB redhat-rpm-config noarch 300-1.no_annobin.0.fc42 copr_base 186.6 KiB rpm-build s390x 4.20.0-1.fc42 fedora 200.4 KiB sed s390x 4.9-3.fc41 fedora 873.2 KiB shadow-utils s390x 2:4.17.0-2.fc42 fedora 4.0 MiB tar s390x 2:1.35-4.fc41 fedora 3.0 MiB unzip s390x 6.0-65.fc42 fedora 2.2 MiB util-linux s390x 2.40.2-8.fc42 fedora 3.7 MiB which s390x 2.21-42.fc41 fedora 83.9 KiB xz s390x 1:5.6.3-2.fc42 fedora 1.2 MiB Installing dependencies: add-determinism s390x 0.5.0-1.fc42 fedora 3.3 MiB alternatives s390x 1.31-1.fc42 fedora 60.6 KiB ansible-srpm-macros noarch 1-16.fc41 fedora 35.7 KiB audit-libs s390x 4.0.2-1.fc41 fedora 350.9 KiB authselect s390x 1.5.0-8.fc42 fedora 157.3 KiB authselect-libs s390x 1.5.0-8.fc42 fedora 823.5 KiB basesystem noarch 11-21.fc41 fedora 0.0 B binutils s390x 2.43.50-9.fc42 fedora 27.4 MiB build-reproducibility-srpm-macros noarch 0.5.0-1.fc42 fedora 735.0 B bzip2-libs s390x 1.0.8-19.fc41 fedora 88.5 KiB ca-certificates noarch 2024.2.69_v8.0.401-4.fc42 fedora 2.6 MiB coreutils-common s390x 9.5-11.fc42 copr_base 11.2 MiB cracklib s390x 2.9.11-6.fc41 fedora 250.0 KiB crypto-policies noarch 20241128-1.gitbb7b0b0.fc42 fedora 137.3 KiB curl s390x 8.11.1-2.fc42 fedora 475.8 KiB cyrus-sasl-lib s390x 2.1.28-27.fc41 fedora 2.4 MiB debugedit s390x 5.1-2.fc42 fedora 195.8 KiB dwz s390x 0.15-8.fc42 fedora 318.6 KiB ed s390x 1.20.2-2.fc41 fedora 150.6 KiB efi-srpm-macros noarch 5-13.fc42 fedora 40.2 KiB elfutils s390x 0.192-7.fc42 fedora 2.9 MiB elfutils-debuginfod-client s390x 0.192-7.fc42 fedora 73.0 KiB elfutils-default-yama-scope noarch 0.192-7.fc42 fedora 1.8 KiB elfutils-libelf s390x 0.192-7.fc42 fedora 1.2 MiB elfutils-libs s390x 0.192-7.fc42 fedora 746.5 KiB fedora-gpg-keys noarch 42-0.3 fedora 126.4 KiB fedora-release noarch 42-0.12 fedora 0.0 B fedora-release-identity-basic noarch 42-0.12 fedora 719.0 B fedora-repos noarch 42-0.3 fedora 4.9 KiB fedora-repos-rawhide noarch 42-0.3 fedora 2.2 KiB file s390x 5.45-8.fc42 fedora 99.3 KiB file-libs s390x 5.45-8.fc42 fedora 9.9 MiB filesystem s390x 3.18-29.fc42 fedora 106.0 B filesystem-srpm-macros noarch 3.18-29.fc42 fedora 36.1 KiB fonts-srpm-macros noarch 1:2.0.5-17.fc41 fedora 55.8 KiB forge-srpm-macros noarch 0.4.0-1.fc42 fedora 38.9 KiB fpc-srpm-macros noarch 1.3-13.fc41 fedora 144.0 B gdb-minimal s390x 15.2-4.fc42 fedora 14.7 MiB gdbm s390x 1:1.23-7.fc41 fedora 483.9 KiB gdbm-libs s390x 1:1.23-7.fc41 fedora 133.4 KiB ghc-srpm-macros noarch 1.9.2-1.fc42 fedora 779.0 B glibc s390x 2.40.9000-26.fc42 fedora 5.1 MiB glibc-common s390x 2.40.9000-26.fc42 fedora 1.1 MiB glibc-gconv-extra s390x 2.40.9000-26.fc42 fedora 6.5 MiB gmp s390x 1:6.3.0-2.fc41 fedora 770.0 KiB gnat-srpm-macros noarch 6-6.fc41 fedora 1.0 KiB go-srpm-macros noarch 3.6.0-5.fc42 fedora 60.8 KiB jansson s390x 2.14-1.fc42 fedora 92.9 KiB json-c s390x 0.18-1.fc42 fedora 82.9 KiB kernel-srpm-macros noarch 1.0-24.fc41 fedora 1.9 KiB keyutils-libs s390x 1.6.3-4.fc41 fedora 54.2 KiB krb5-libs s390x 1.21.3-3.fc42 fedora 2.4 MiB libacl s390x 2.3.2-2.fc41 fedora 43.8 KiB libarchive s390x 3.7.7-1.fc42 fedora 1.0 MiB libattr s390x 2.5.2-4.fc41 fedora 28.3 KiB libblkid s390x 2.40.2-8.fc42 fedora 286.4 KiB libbrotli s390x 1.1.0-5.fc41 fedora 925.1 KiB libcap s390x 2.71-1.fc42 fedora 211.8 KiB libcap-ng s390x 0.8.5-3.fc41 fedora 76.7 KiB libcom_err s390x 1.47.2-1.fc42 fedora 57.7 KiB libcurl s390x 8.11.1-2.fc42 fedora 861.0 KiB libeconf s390x 0.7.5-1.fc42 fedora 62.5 KiB libevent s390x 2.1.12-14.fc41 fedora 938.8 KiB libfdisk s390x 2.40.2-8.fc42 fedora 394.8 KiB libffi s390x 3.4.6-3.fc42 fedora 65.9 KiB libgcc s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 166.7 KiB libgomp s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 529.0 KiB libidn2 s390x 2.3.7-2.fc41 fedora 328.9 KiB libmount s390x 2.40.2-8.fc42 fedora 375.8 KiB libnghttp2 s390x 1.64.0-1.fc42 fedora 177.9 KiB libpkgconf s390x 2.3.0-1.fc42 fedora 85.9 KiB libpsl s390x 0.21.5-4.fc41 fedora 80.3 KiB libpwquality s390x 1.4.5-11.fc41 fedora 420.9 KiB libselinux s390x 3.8-0.rc3.1.fc42 fedora 203.4 KiB libsemanage s390x 3.8-0.rc3.1.fc42 fedora 305.1 KiB libsepol s390x 3.8-0.rc3.1.fc42 fedora 840.1 KiB libsmartcols s390x 2.40.2-8.fc42 fedora 192.2 KiB libssh s390x 0.11.1-1.fc42 fedora 585.3 KiB libssh-config noarch 0.11.1-1.fc42 fedora 277.0 B libstdc++ s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 3.1 MiB libtasn1 s390x 4.19.0-9.fc41 fedora 187.5 KiB libtirpc s390x 1.3.6-1.rc3.fc42 fedora 205.3 KiB libtool-ltdl s390x 2.5.4-1.fc42 copr_base 67.9 KiB libunistring s390x 1.1-8.fc41 fedora 1.8 MiB libuuid s390x 2.40.2-8.fc42 fedora 41.2 KiB libverto s390x 0.3.2-9.fc41 fedora 29.3 KiB libxcrypt s390x 4.4.37-4.fc42 fedora 269.4 KiB libxml2 s390x 2.12.9-1.fc42 fedora 1.8 MiB libzstd s390x 1.5.6-2.fc41 fedora 875.7 KiB lua-libs s390x 5.4.7-1.fc42 fedora 328.8 KiB lua-srpm-macros noarch 1-14.fc41 fedora 1.3 KiB lz4-libs s390x 1.10.0-1.fc41 fedora 201.3 KiB mpfr s390x 4.2.1-5.fc41 fedora 698.7 KiB ncurses-base noarch 6.5-2.20240629.fc41 fedora 326.3 KiB ncurses-libs s390x 6.5-2.20240629.fc41 fedora 1.1 MiB ocaml-srpm-macros noarch 10-3.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-18.fc41 fedora 112.0 B openldap s390x 2.6.8-6.fc42 fedora 654.5 KiB openssl-libs s390x 1:3.2.2-10.fc42 fedora 6.0 MiB p11-kit s390x 0.25.5-4.fc42 fedora 2.5 MiB p11-kit-trust s390x 0.25.5-4.fc42 fedora 479.2 KiB package-notes-srpm-macros noarch 0.5-12.fc41 fedora 1.6 KiB pam s390x 1.7.0-3.fc42 fedora 1.5 MiB pam-libs s390x 1.7.0-3.fc42 fedora 122.5 KiB pcre2 s390x 10.44-1.fc41.1 fedora 684.9 KiB pcre2-syntax noarch 10.44-1.fc41.1 fedora 251.6 KiB perl-srpm-macros noarch 1-56.fc41 fedora 861.0 B pkgconf s390x 2.3.0-1.fc42 fedora 92.4 KiB pkgconf-m4 noarch 2.3.0-1.fc42 fedora 14.4 KiB pkgconf-pkg-config s390x 2.3.0-1.fc42 fedora 988.0 B popt s390x 1.19-7.fc41 fedora 144.7 KiB publicsuffix-list-dafsa noarch 20240107-4.fc41 fedora 67.5 KiB pyproject-srpm-macros noarch 1.16.3-1.fc42 fedora 1.9 KiB python-srpm-macros noarch 3.13-3.fc41 fedora 51.0 KiB qt5-srpm-macros noarch 5.15.15-1.fc42 fedora 500.0 B qt6-srpm-macros noarch 6.8.1-4.fc42 fedora 456.0 B readline s390x 8.2-11.fc42 fedora 556.8 KiB rpm s390x 4.20.0-1.fc42 fedora 3.1 MiB rpm-build-libs s390x 4.20.0-1.fc42 fedora 218.4 KiB rpm-libs s390x 4.20.0-1.fc42 fedora 813.6 KiB rpm-sequoia s390x 1.7.0-3.fc42 fedora 3.2 MiB rust-srpm-macros noarch 26.3-3.fc42 fedora 4.8 KiB setup noarch 2.15.0-9.fc42 fedora 720.7 KiB sqlite-libs s390x 3.47.2-1.fc42 fedora 1.6 MiB systemd-libs s390x 257.1-1.fc42 fedora 2.2 MiB util-linux-core s390x 2.40.2-8.fc42 fedora 1.5 MiB xxhash-libs s390x 0.8.3-1.fc42 fedora 64.3 KiB xz-libs s390x 1:5.6.3-2.fc42 fedora 226.1 KiB zig-srpm-macros noarch 1-3.fc41 fedora 1.1 KiB zip s390x 3.0-42.fc42 fedora 723.1 KiB zlib-ng-compat s390x 2.2.2-1.fc42 fedora 109.4 KiB zstd s390x 1.5.6-2.fc41 fedora 1.8 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 154 packages Total size of inbound packages is 53 MiB. Need to download 0 B. After this operation, 183 MiB extra will be used (install 183 MiB, remove 0 B). [1/1] tar-2:1.35-4.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [1/1] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/2] bzip2-0:1.0.8-19.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [2/2] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/3] rpm-build-0:4.20.0-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [3/3] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/4] unzip-0:6.0-65.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [4/4] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/5] cpio-0:2.15-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [5/5] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/6] which-0:2.21-42.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [6/6] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/7] bash-0:5.2.37-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [7/7] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/8] grep-0:3.11-9.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [8/8] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/9] patch-0:2.7.6-25.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [9/9] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/10] sed-0:4.9-3.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [10/10] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/11] shadow-utils-2:4.17.0-2.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [11/11] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/12] util-linux-0:2.40.2-8.fc42.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [12/12] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/13] diffutils-0:3.10-8.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [13/13] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/14] fedora-release-common-0:42-0.12 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [14/14] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/15] findutils-1:4.10.0-4.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [15/15] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/16] gawk-0:5.3.0-4.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [16/16] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/17] glibc-minimal-langpack-0:2.40.9 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [17/17] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/18] gzip-0:1.13-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [18/18] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/19] info-0:7.1.1-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [19/19] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/20] xz-1:5.6.3-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [20/20] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/21] redhat-rpm-config-0:300-1.no_an 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [21/21] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/22] coreutils-0:9.5-11.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [22/22] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/23] glibc-0:2.40.9000-26.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [23/23] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/24] libacl-0:2.3.2-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [24/24] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/25] libselinux-0:3.8-0.rc3.1.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [25/25] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/26] bzip2-libs-0:1.0.8-19.fc41.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [26/26] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/27] binutils-0:2.43.50-9.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [27/27] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/28] debugedit-0:5.1-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [28/28] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/29] elfutils-0:0.192-7.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [29/29] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/30] elfutils-libelf-0:0.192-7.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [30/30] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/31] file-0:5.45-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [31/31] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/32] libarchive-0:3.7.7-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [32/32] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/33] pkgconf-pkg-config-0:2.3.0-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [33/33] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/34] popt-0:1.19-7.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [34/34] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/35] readline-0:8.2-11.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [35/35] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/36] rpm-0:4.20.0-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [36/36] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/37] rpm-build-libs-0:4.20.0-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [37/37] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/38] rpm-libs-0:4.20.0-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [38/38] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/39] zstd-0:1.5.6-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [39/39] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/40] filesystem-0:3.18-29.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [40/40] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/41] ncurses-libs-0:6.5-2.20240629.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [41/41] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/42] pcre2-0:10.44-1.fc41.1.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [42/42] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/43] ed-0:1.20.2-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [43/43] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/44] libattr-0:2.5.2-4.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [44/44] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/45] audit-libs-0:4.0.2-1.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [45/45] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/46] libeconf-0:0.7.5-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [46/46] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/47] libsemanage-0:3.8-0.rc3.1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [47/47] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/48] libxcrypt-0:4.4.37-4.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [48/48] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/49] pam-libs-0:1.7.0-3.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [49/49] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/50] setup-0:2.15.0-9.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [50/50] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/51] authselect-libs-0:1.5.0-8.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [51/51] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/52] libblkid-0:2.40.2-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [52/52] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/53] libcap-ng-0:0.8.5-3.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [53/53] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/54] libfdisk-0:2.40.2-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [54/54] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/55] libmount-0:2.40.2-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [55/55] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/56] libsmartcols-0:2.40.2-8.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [56/56] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/57] libuuid-0:2.40.2-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [57/57] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/58] pam-0:1.7.0-3.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [58/58] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/59] systemd-libs-0:257.1-1.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [59/59] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/60] util-linux-core-0:2.40.2-8.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [60/60] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/61] zlib-ng-compat-0:2.2.2-1.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [61/61] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/62] fedora-repos-0:42-0.3.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [62/62] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/63] gmp-1:6.3.0-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [63/63] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/64] mpfr-0:4.2.1-5.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [64/64] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/65] glibc-common-0:2.40.9000-26.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [65/65] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/66] xz-libs-1:5.6.3-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [66/66] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/67] ansible-srpm-macros-0:1-16.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [67/67] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/68] build-reproducibility-srpm-macr 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [68/68] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/69] dwz-0:0.15-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [69/69] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/70] efi-srpm-macros-0:5-13.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [70/70] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/71] filesystem-srpm-macros-0:3.18-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [71/71] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/72] fonts-srpm-macros-1:2.0.5-17.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [72/72] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/73] forge-srpm-macros-0:0.4.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [73/73] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/74] fpc-srpm-macros-0:1.3-13.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [74/74] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/75] ghc-srpm-macros-0:1.9.2-1.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [75/75] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/76] gnat-srpm-macros-0:6-6.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [76/76] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/77] go-srpm-macros-0:3.6.0-5.fc42.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [77/77] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/78] kernel-srpm-macros-0:1.0-24.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [78/78] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/79] lua-srpm-macros-0:1-14.fc41.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [79/79] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/80] ocaml-srpm-macros-0:10-3.fc41.n 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [80/80] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/81] openblas-srpm-macros-0:2-18.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [81/81] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/82] package-notes-srpm-macros-0:0.5 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [82/82] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/83] perl-srpm-macros-0:1-56.fc41.no 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [83/83] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/84] pyproject-srpm-macros-0:1.16.3- 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [84/84] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/85] python-srpm-macros-0:3.13-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [85/85] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/86] qt5-srpm-macros-0:5.15.15-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [86/86] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/87] qt6-srpm-macros-0:6.8.1-4.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [87/87] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/88] rust-srpm-macros-0:26.3-3.fc42. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [88/88] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/89] zig-srpm-macros-0:1-3.fc41.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [89/89] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/90] zip-0:3.0-42.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [90/90] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/91] libcap-0:2.71-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [91/91] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/92] openssl-libs-1:3.2.2-10.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [92/92] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/93] glibc-gconv-extra-0:2.40.9000-2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [93/93] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/94] basesystem-0:11-21.fc41.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [94/94] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/95] libsepol-0:3.8-0.rc3.1.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [95/95] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/96] alternatives-0:1.31-1.fc42.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [96/96] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/97] elfutils-debuginfod-client-0:0. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [97/97] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/98] jansson-0:2.14-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [98/98] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/99] elfutils-libs-0:0.192-7.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [99/99] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/100] libzstd-0:1.5.6-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [100/100] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/101] file-libs-0:5.45-8.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [101/101] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/102] libxml2-0:2.12.9-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [102/102] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/103] lz4-libs-0:1.10.0-1.fc41.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [103/103] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/104] pkgconf-0:2.3.0-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [104/104] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/105] pkgconf-m4-0:2.3.0-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [105/105] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/106] curl-0:8.11.1-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [106/106] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/107] lua-libs-0:5.4.7-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [107/107] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/108] rpm-sequoia-0:1.7.0-3.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [108/108] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/109] sqlite-libs-0:3.47.2-1.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [109/109] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/110] ncurses-base-0:6.5-2.20240629 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [110/110] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/111] pcre2-syntax-0:10.44-1.fc41.1 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [111/111] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/112] authselect-0:1.5.0-8.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [112/112] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/113] gdbm-1:1.23-7.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [113/113] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/114] gdbm-libs-1:1.23-7.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [114/114] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/115] libpwquality-0:1.4.5-11.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [115/115] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/116] libtirpc-0:1.3.6-1.rc3.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [116/116] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/117] fedora-gpg-keys-0:42-0.3.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [117/117] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/118] fedora-repos-rawhide-0:42-0.3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [118/118] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/119] add-determinism-0:0.5.0-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [119/119] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/120] ca-certificates-0:2024.2.69_v 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [120/120] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/121] crypto-policies-0:20241128-1. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [121/121] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/122] json-c-0:0.18-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [122/122] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/123] elfutils-default-yama-scope-0 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [123/123] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/124] libpkgconf-0:2.3.0-1.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [124/124] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/125] cracklib-0:2.9.11-6.fc41.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [125/125] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/126] krb5-libs-0:1.21.3-3.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [126/126] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/127] libcom_err-0:1.47.2-1.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [127/127] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/128] libffi-0:3.4.6-3.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [128/128] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/129] p11-kit-0:0.25.5-4.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [129/129] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/130] p11-kit-trust-0:0.25.5-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [130/130] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/131] keyutils-libs-0:1.6.3-4.fc41. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [131/131] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/132] libverto-0:0.3.2-9.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [132/132] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/133] libtasn1-0:4.19.0-9.fc41.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [133/133] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/134] coreutils-common-0:9.5-11.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [134/134] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/135] libgcc-0:15.0.0-0.2.fc42.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [135/135] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/136] libstdc++-0:15.0.0-0.2.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [136/136] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/137] libgomp-0:15.0.0-0.2.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [137/137] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/138] fedora-release-0:42-0.12.noar 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [138/138] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/139] gdb-minimal-0:15.2-4.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [139/139] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/140] xxhash-libs-0:0.8.3-1.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [140/140] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/141] fedora-release-identity-basic 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [141/141] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/142] libcurl-0:8.11.1-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [142/142] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/143] libbrotli-0:1.1.0-5.fc41.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [143/143] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/144] libidn2-0:2.3.7-2.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [144/144] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/145] libnghttp2-0:1.64.0-1.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [145/145] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/146] libpsl-0:0.21.5-4.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [146/146] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/147] libssh-0:0.11.1-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [147/147] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/148] openldap-0:2.6.8-6.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [148/148] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/149] libunistring-0:1.1-8.fc41.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [149/149] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/150] publicsuffix-list-dafsa-0:202 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [150/150] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/151] libssh-config-0:0.11.1-1.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [151/151] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/152] cyrus-sasl-lib-0:2.1.28-27.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [152/152] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/153] libevent-0:2.1.12-14.fc41.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [153/153] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/154] libtool-ltdl-0:2.5.4-1.fc42.s 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [154/154] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction Importing OpenPGP key 0x105EF944: UserID : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. Importing OpenPGP key 0x105EF944: UserID : "Fedora (42) " Fingerprint: B0F4950458F69E1150C6C5EDC8AC4916105EF944 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-42-primary The key was successfully imported. Importing OpenPGP key 0xE99D6AD1: UserID : "Fedora (41) " Fingerprint: 466CF2D8B60BC3057AA9453ED0622462E99D6AD1 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-41-primary The key was successfully imported. Importing OpenPGP key 0x31645531: UserID : "Fedora (43) " Fingerprint: C6E7F081CF80E13146676E88829B606631645531 From : file:///usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-43-primary The key was successfully imported. [ 1/156] Verify package files 100% | 827.0 B/s | 154.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-29.fc42.s390x >>> Finished pre-transaction scriptlet: filesystem-0:3.18-29.fc42.s390x >>> [RPM] /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root/var/cache/dn [ 2/156] Prepare transaction 100% | 2.9 KiB/s | 154.0 B | 00m00s [ 3/156] Installing libgcc-0:15.0.0-0. 100% | 164.5 MiB/s | 168.4 KiB | 00m00s [ 4/156] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/156] Installing publicsuffix-list- 100% | 0.0 B/s | 68.3 KiB | 00m00s [ 6/156] Installing fedora-release-ide 100% | 0.0 B/s | 976.0 B | 00m00s [ 7/156] Installing fedora-gpg-keys-0: 100% | 42.0 MiB/s | 172.2 KiB | 00m00s [ 8/156] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/156] Installing fedora-repos-0:42- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/156] Installing fedora-release-com 100% | 23.6 MiB/s | 24.1 KiB | 00m00s [ 11/156] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/156] Installing setup-0:2.15.0-9.f 100% | 50.7 MiB/s | 726.5 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/156] Installing filesystem-0:3.18- 100% | 3.1 MiB/s | 212.6 KiB | 00m00s [ 14/156] Installing basesystem-0:11-21 100% | 0.0 B/s | 124.0 B | 00m00s [ 15/156] Installing coreutils-common-0 100% | 339.1 MiB/s | 11.2 MiB | 00m00s [ 16/156] Installing pcre2-syntax-0:10. 100% | 248.1 MiB/s | 254.1 KiB | 00m00s [ 17/156] Installing ncurses-base-0:6.5 100% | 85.9 MiB/s | 351.7 KiB | 00m00s [ 18/156] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 19/156] Installing ncurses-libs-0:6.5 100% | 212.5 MiB/s | 1.1 MiB | 00m00s [ 20/156] Installing glibc-0:2.40.9000- 100% | 242.8 MiB/s | 5.1 MiB | 00m00s [ 21/156] Installing bash-0:5.2.37-1.fc 100% | 350.1 MiB/s | 8.4 MiB | 00m00s [ 22/156] Installing glibc-common-0:2.4 100% | 152.4 MiB/s | 1.1 MiB | 00m00s [ 23/156] Installing glibc-gconv-extra- 100% | 228.5 MiB/s | 6.6 MiB | 00m00s [ 24/156] Installing zlib-ng-compat-0:2 100% | 0.0 B/s | 110.3 KiB | 00m00s [ 25/156] Installing bzip2-libs-0:1.0.8 100% | 0.0 B/s | 89.6 KiB | 00m00s [ 26/156] Installing xz-libs-1:5.6.3-2. 100% | 221.9 MiB/s | 227.2 KiB | 00m00s [ 27/156] Installing popt-0:1.19-7.fc41 100% | 73.9 MiB/s | 151.3 KiB | 00m00s [ 28/156] Installing readline-0:8.2-11. 100% | 272.9 MiB/s | 558.9 KiB | 00m00s [ 29/156] Installing libuuid-0:2.40.2-8 100% | 0.0 B/s | 42.3 KiB | 00m00s [ 30/156] Installing libblkid-0:2.40.2- 100% | 280.8 MiB/s | 287.6 KiB | 00m00s [ 31/156] Installing libxcrypt-0:4.4.37 100% | 265.7 MiB/s | 272.1 KiB | 00m00s [ 32/156] Installing gmp-1:6.3.0-2.fc41 100% | 251.4 MiB/s | 772.2 KiB | 00m00s [ 33/156] Installing libzstd-0:1.5.6-2. 100% | 285.5 MiB/s | 877.0 KiB | 00m00s [ 34/156] Installing elfutils-libelf-0: 100% | 293.7 MiB/s | 1.2 MiB | 00m00s [ 35/156] Installing libstdc++-0:15.0.0 100% | 307.5 MiB/s | 3.1 MiB | 00m00s [ 36/156] Installing libattr-0:2.5.2-4. 100% | 0.0 B/s | 29.3 KiB | 00m00s [ 37/156] Installing libacl-0:2.3.2-2.f 100% | 0.0 B/s | 44.6 KiB | 00m00s [ 38/156] Installing libeconf-0:0.7.5-1 100% | 0.0 B/s | 64.2 KiB | 00m00s [ 39/156] Installing gdbm-libs-1:1.23-7 100% | 132.0 MiB/s | 135.1 KiB | 00m00s [ 40/156] Installing dwz-0:0.15-8.fc42. 100% | 312.5 MiB/s | 320.0 KiB | 00m00s [ 41/156] Installing mpfr-0:4.2.1-5.fc4 100% | 228.0 MiB/s | 700.4 KiB | 00m00s [ 42/156] Installing gawk-0:5.3.0-4.fc4 100% | 259.2 MiB/s | 1.8 MiB | 00m00s [ 43/156] Installing unzip-0:6.0-65.fc4 100% | 736.0 MiB/s | 2.2 MiB | 00m00s [ 44/156] Installing file-libs-0:5.45-8 100% | 621.4 MiB/s | 9.9 MiB | 00m00s [ 45/156] Installing file-0:5.45-8.fc42 100% | 19.7 MiB/s | 100.8 KiB | 00m00s [ 46/156] Installing crypto-policies-0: 100% | 32.0 MiB/s | 163.7 KiB | 00m00s [ 47/156] Installing pcre2-0:10.44-1.fc 100% | 223.4 MiB/s | 686.3 KiB | 00m00s [ 48/156] Installing grep-0:3.11-9.fc41 100% | 203.7 MiB/s | 1.0 MiB | 00m00s [ 49/156] Installing xz-1:5.6.3-2.fc42. 100% | 248.1 MiB/s | 1.2 MiB | 00m00s [ 50/156] Installing libcap-ng-0:0.8.5- 100% | 0.0 B/s | 78.6 KiB | 00m00s [ 51/156] Installing audit-libs-0:4.0.2 100% | 172.4 MiB/s | 353.0 KiB | 00m00s [ 52/156] Installing pam-libs-0:1.7.0-3 100% | 121.8 MiB/s | 124.8 KiB | 00m00s [ 53/156] Installing libcap-0:2.71-1.fc 100% | 105.8 MiB/s | 216.7 KiB | 00m00s [ 54/156] Installing systemd-libs-0:257 100% | 249.5 MiB/s | 2.2 MiB | 00m00s [ 55/156] Installing libsmartcols-0:2.4 100% | 188.7 MiB/s | 193.2 KiB | 00m00s [ 56/156] Installing libsepol-0:3.8-0.r 100% | 273.8 MiB/s | 841.0 KiB | 00m00s [ 57/156] Installing libselinux-0:3.8-0 100% | 199.9 MiB/s | 204.7 KiB | 00m00s [ 58/156] Installing sed-0:4.9-3.fc41.s 100% | 215.2 MiB/s | 881.4 KiB | 00m00s [ 59/156] Installing findutils-1:4.10.0 100% | 270.4 MiB/s | 1.9 MiB | 00m00s [ 60/156] Installing libmount-0:2.40.2- 100% | 184.0 MiB/s | 376.9 KiB | 00m00s [ 61/156] Installing alternatives-0:1.3 100% | 0.0 B/s | 62.2 KiB | 00m00s [ 62/156] Installing lz4-libs-0:1.10.0- 100% | 197.6 MiB/s | 202.4 KiB | 00m00s [ 63/156] Installing lua-libs-0:5.4.7-1 100% | 322.3 MiB/s | 330.0 KiB | 00m00s [ 64/156] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 58.8 KiB | 00m00s [ 65/156] Installing libffi-0:3.4.6-3.f 100% | 0.0 B/s | 67.3 KiB | 00m00s [ 66/156] Installing libtasn1-0:4.19.0- 100% | 184.9 MiB/s | 189.3 KiB | 00m00s [ 67/156] Installing p11-kit-0:0.25.5-4 100% | 251.2 MiB/s | 2.5 MiB | 00m00s [ 68/156] Installing libunistring-0:1.1 100% | 295.6 MiB/s | 1.8 MiB | 00m00s [ 69/156] Installing libidn2-0:2.3.7-2. 100% | 163.5 MiB/s | 334.9 KiB | 00m00s [ 70/156] Installing libpsl-0:0.21.5-4. 100% | 0.0 B/s | 81.4 KiB | 00m00s [ 71/156] Installing p11-kit-trust-0:0. 100% | 93.9 MiB/s | 480.9 KiB | 00m00s [ 72/156] Installing openssl-libs-1:3.2 100% | 259.5 MiB/s | 6.0 MiB | 00m00s [ 73/156] Installing coreutils-0:9.5-11 100% | 260.0 MiB/s | 5.5 MiB | 00m00s [ 74/156] Installing ca-certificates-0: 100% | 1.8 MiB/s | 2.4 MiB | 00m01s [ 75/156] Installing gzip-0:1.13-2.fc41 100% | 132.3 MiB/s | 406.3 KiB | 00m00s [ 76/156] Installing authselect-libs-0: 100% | 163.8 MiB/s | 838.5 KiB | 00m00s [ 77/156] Installing cracklib-0:2.9.11- 100% | 85.1 MiB/s | 261.4 KiB | 00m00s [ 78/156] Installing libpwquality-0:1.4 100% | 141.0 MiB/s | 433.3 KiB | 00m00s [ 79/156] Installing rpm-sequoia-0:1.7. 100% | 287.3 MiB/s | 3.2 MiB | 00m00s [ 80/156] Installing libevent-0:2.1.12- 100% | 306.8 MiB/s | 942.6 KiB | 00m00s [ 81/156] Installing zstd-0:1.5.6-2.fc4 100% | 305.8 MiB/s | 1.8 MiB | 00m00s [ 82/156] Installing util-linux-core-0: 100% | 220.5 MiB/s | 1.5 MiB | 00m00s [ 83/156] Installing tar-2:1.35-4.fc41. 100% | 302.0 MiB/s | 3.0 MiB | 00m00s [ 84/156] Installing libsemanage-0:3.8- 100% | 99.9 MiB/s | 306.9 KiB | 00m00s [ 85/156] Installing shadow-utils-2:4.1 100% | 213.0 MiB/s | 4.0 MiB | 00m00s [ 86/156] Installing zip-0:3.0-42.fc42. 100% | 236.7 MiB/s | 727.0 KiB | 00m00s [ 87/156] Installing gdbm-1:1.23-7.fc41 100% | 159.1 MiB/s | 488.8 KiB | 00m00s [ 88/156] Installing cyrus-sasl-lib-0:2 100% | 298.6 MiB/s | 2.4 MiB | 00m00s [ 89/156] Installing libfdisk-0:2.40.2- 100% | 193.3 MiB/s | 395.9 KiB | 00m00s [ 90/156] Installing libxml2-0:2.12.9-1 100% | 263.6 MiB/s | 1.8 MiB | 00m00s [ 91/156] Installing libarchive-0:3.7.7 100% | 199.6 MiB/s | 1.0 MiB | 00m00s [ 92/156] Installing bzip2-0:1.0.8-19.f 100% | 101.3 MiB/s | 103.7 KiB | 00m00s [ 93/156] Installing sqlite-libs-0:3.47 100% | 264.5 MiB/s | 1.6 MiB | 00m00s [ 94/156] Installing rpm-libs-0:4.20.0- 100% | 265.3 MiB/s | 815.1 KiB | 00m00s [ 95/156] Installing add-determinism-0: 100% | 297.0 MiB/s | 3.3 MiB | 00m00s [ 96/156] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 97/156] Installing ed-0:1.20.2-2.fc41 100% | 149.3 MiB/s | 152.9 KiB | 00m00s [ 98/156] Installing patch-0:2.7.6-25.f 100% | 292.8 MiB/s | 299.9 KiB | 00m00s [ 99/156] Installing filesystem-srpm-ma 100% | 0.0 B/s | 36.8 KiB | 00m00s [100/156] Installing elfutils-default-y 100% | 681.0 KiB/s | 2.0 KiB | 00m00s [101/156] Installing elfutils-libs-0:0. 100% | 182.7 MiB/s | 748.4 KiB | 00m00s [102/156] Installing cpio-0:2.15-2.fc41 100% | 223.8 MiB/s | 1.1 MiB | 00m00s [103/156] Installing diffutils-0:3.10-8 100% | 271.4 MiB/s | 1.6 MiB | 00m00s [104/156] Installing jansson-0:2.14-1.f 100% | 92.1 MiB/s | 94.3 KiB | 00m00s [105/156] Installing json-c-0:0.18-1.fc 100% | 82.2 MiB/s | 84.1 KiB | 00m00s [106/156] Installing libpkgconf-0:2.3.0 100% | 0.0 B/s | 87.0 KiB | 00m00s [107/156] Installing pkgconf-0:2.3.0-1. 100% | 92.7 MiB/s | 94.9 KiB | 00m00s [108/156] Installing keyutils-libs-0:1. 100% | 0.0 B/s | 55.6 KiB | 00m00s [109/156] Installing libverto-0:0.3.2-9 100% | 30.3 MiB/s | 31.1 KiB | 00m00s [110/156] Installing krb5-libs-0:1.21.3 100% | 241.7 MiB/s | 2.4 MiB | 00m00s [111/156] Installing libtirpc-0:1.3.6-1 100% | 101.1 MiB/s | 207.1 KiB | 00m00s [112/156] Installing pam-0:1.7.0-3.fc42 100% | 132.8 MiB/s | 1.6 MiB | 00m00s [113/156] Installing libssh-0:0.11.1-1. 100% | 286.8 MiB/s | 587.4 KiB | 00m00s [114/156] Installing libgomp-0:15.0.0-0 100% | 259.0 MiB/s | 530.4 KiB | 00m00s [115/156] Installing rpm-build-libs-0:4 100% | 214.1 MiB/s | 219.3 KiB | 00m00s [116/156] Installing xxhash-libs-0:0.8. 100% | 0.0 B/s | 65.7 KiB | 00m00s [117/156] Installing libbrotli-0:1.1.0- 100% | 226.4 MiB/s | 927.4 KiB | 00m00s [118/156] Installing libnghttp2-0:1.64. 100% | 174.9 MiB/s | 179.1 KiB | 00m00s [119/156] Installing libtool-ltdl-0:2.5 100% | 0.0 B/s | 69.0 KiB | 00m00s [120/156] Installing openldap-0:2.6.8-6 100% | 214.3 MiB/s | 658.3 KiB | 00m00s [121/156] Installing libcurl-0:8.11.1-2 100% | 210.5 MiB/s | 862.1 KiB | 00m00s [122/156] Installing elfutils-debuginfo 100% | 73.5 MiB/s | 75.3 KiB | 00m00s [123/156] Installing binutils-0:2.43.50 100% | 334.3 MiB/s | 27.4 MiB | 00m00s [124/156] Installing elfutils-0:0.192-7 100% | 293.0 MiB/s | 2.9 MiB | 00m00s [125/156] Installing gdb-minimal-0:15.2 100% | 306.3 MiB/s | 14.7 MiB | 00m00s [126/156] Installing debugedit-0:5.1-2. 100% | 193.9 MiB/s | 198.5 KiB | 00m00s [127/156] Installing curl-0:8.11.1-2.fc 100% | 58.4 MiB/s | 478.3 KiB | 00m00s [128/156] Installing rpm-0:4.20.0-1.fc4 100% | 167.0 MiB/s | 2.5 MiB | 00m00s [129/156] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.2 KiB | 00m00s [130/156] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [131/156] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [132/156] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [133/156] Installing pkgconf-pkg-config 100% | 0.0 B/s | 1.8 KiB | 00m00s [134/156] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [135/156] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [136/156] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [137/156] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [138/156] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [139/156] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [140/156] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [141/156] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [142/156] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [143/156] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [144/156] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [145/156] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [146/156] Installing fonts-srpm-macros- 100% | 0.0 B/s | 57.0 KiB | 00m00s [147/156] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [148/156] Installing go-srpm-macros-0:3 100% | 0.0 B/s | 62.0 KiB | 00m00s [149/156] Installing python-srpm-macros 100% | 0.0 B/s | 52.2 KiB | 00m00s [150/156] Installing redhat-rpm-config- 100% | 94.3 MiB/s | 193.2 KiB | 00m00s [151/156] Installing rpm-build-0:4.20.0 100% | 102.0 MiB/s | 209.0 KiB | 00m00s [152/156] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [153/156] Installing util-linux-0:2.40. 100% | 169.5 MiB/s | 3.7 MiB | 00m00s [154/156] Installing authselect-0:1.5.0 100% | 78.9 MiB/s | 161.7 KiB | 00m00s [155/156] Installing which-0:2.21-42.fc 100% | 84.1 MiB/s | 86.1 KiB | 00m00s [156/156] Installing info-0:7.1.1-2.fc4 100% | 245.9 KiB/s | 409.5 KiB | 00m02s Warning: skipped OpenPGP checks for 7 packages from repositories: copr_base, https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch Complete! Finish: installing minimal buildroot with dnf5 Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: INFO: add-determinism-0.5.0-1.fc42.s390x alternatives-1.31-1.fc42.s390x ansible-srpm-macros-1-16.fc41.noarch audit-libs-4.0.2-1.fc41.s390x authselect-1.5.0-8.fc42.s390x authselect-libs-1.5.0-8.fc42.s390x basesystem-11-21.fc41.noarch bash-5.2.37-1.fc42.s390x binutils-2.43.50-9.fc42.s390x build-reproducibility-srpm-macros-0.5.0-1.fc42.noarch bzip2-1.0.8-19.fc41.s390x bzip2-libs-1.0.8-19.fc41.s390x ca-certificates-2024.2.69_v8.0.401-4.fc42.noarch coreutils-9.5-11.fc42.s390x coreutils-common-9.5-11.fc42.s390x cpio-2.15-2.fc41.s390x cracklib-2.9.11-6.fc41.s390x crypto-policies-20241128-1.gitbb7b0b0.fc42.noarch curl-8.11.1-2.fc42.s390x cyrus-sasl-lib-2.1.28-27.fc41.s390x debugedit-5.1-2.fc42.s390x diffutils-3.10-8.fc41.s390x dwz-0.15-8.fc42.s390x ed-1.20.2-2.fc41.s390x efi-srpm-macros-5-13.fc42.noarch elfutils-0.192-7.fc42.s390x elfutils-debuginfod-client-0.192-7.fc42.s390x elfutils-default-yama-scope-0.192-7.fc42.noarch elfutils-libelf-0.192-7.fc42.s390x elfutils-libs-0.192-7.fc42.s390x fedora-gpg-keys-42-0.3.noarch fedora-release-42-0.12.noarch fedora-release-common-42-0.12.noarch fedora-release-identity-basic-42-0.12.noarch fedora-repos-42-0.3.noarch fedora-repos-rawhide-42-0.3.noarch file-5.45-8.fc42.s390x file-libs-5.45-8.fc42.s390x filesystem-3.18-29.fc42.s390x filesystem-srpm-macros-3.18-29.fc42.noarch findutils-4.10.0-4.fc41.s390x fonts-srpm-macros-2.0.5-17.fc41.noarch forge-srpm-macros-0.4.0-1.fc42.noarch fpc-srpm-macros-1.3-13.fc41.noarch gawk-5.3.0-4.fc41.s390x gdb-minimal-15.2-4.fc42.s390x gdbm-1.23-7.fc41.s390x gdbm-libs-1.23-7.fc41.s390x ghc-srpm-macros-1.9.2-1.fc42.noarch glibc-2.40.9000-26.fc42.s390x glibc-common-2.40.9000-26.fc42.s390x glibc-gconv-extra-2.40.9000-26.fc42.s390x glibc-minimal-langpack-2.40.9000-26.fc42.s390x gmp-6.3.0-2.fc41.s390x gnat-srpm-macros-6-6.fc41.noarch go-srpm-macros-3.6.0-5.fc42.noarch gpg-pubkey-105ef944-65ca83d1 gpg-pubkey-31645531-66b6dccf gpg-pubkey-e99d6ad1-64d2612c grep-3.11-9.fc41.s390x gzip-1.13-2.fc41.s390x info-7.1.1-2.fc42.s390x jansson-2.14-1.fc42.s390x json-c-0.18-1.fc42.s390x kernel-srpm-macros-1.0-24.fc41.noarch keyutils-libs-1.6.3-4.fc41.s390x krb5-libs-1.21.3-3.fc42.s390x libacl-2.3.2-2.fc41.s390x libarchive-3.7.7-1.fc42.s390x libattr-2.5.2-4.fc41.s390x libblkid-2.40.2-8.fc42.s390x libbrotli-1.1.0-5.fc41.s390x libcap-2.71-1.fc42.s390x libcap-ng-0.8.5-3.fc41.s390x libcom_err-1.47.2-1.fc42.s390x libcurl-8.11.1-2.fc42.s390x libeconf-0.7.5-1.fc42.s390x libevent-2.1.12-14.fc41.s390x libfdisk-2.40.2-8.fc42.s390x libffi-3.4.6-3.fc42.s390x libgcc-15.0.0-0.2.fc42.s390x libgomp-15.0.0-0.2.fc42.s390x libidn2-2.3.7-2.fc41.s390x libmount-2.40.2-8.fc42.s390x libnghttp2-1.64.0-1.fc42.s390x libpkgconf-2.3.0-1.fc42.s390x libpsl-0.21.5-4.fc41.s390x libpwquality-1.4.5-11.fc41.s390x libselinux-3.8-0.rc3.1.fc42.s390x libsemanage-3.8-0.rc3.1.fc42.s390x libsepol-3.8-0.rc3.1.fc42.s390x libsmartcols-2.40.2-8.fc42.s390x libssh-0.11.1-1.fc42.s390x libssh-config-0.11.1-1.fc42.noarch libstdc++-15.0.0-0.2.fc42.s390x libtasn1-4.19.0-9.fc41.s390x libtirpc-1.3.6-1.rc3.fc42.s390x libtool-ltdl-2.5.4-1.fc42.s390x libunistring-1.1-8.fc41.s390x libuuid-2.40.2-8.fc42.s390x libverto-0.3.2-9.fc41.s390x libxcrypt-4.4.37-4.fc42.s390x libxml2-2.12.9-1.fc42.s390x libzstd-1.5.6-2.fc41.s390x lua-libs-5.4.7-1.fc42.s390x lua-srpm-macros-1-14.fc41.noarch lz4-libs-1.10.0-1.fc41.s390x mpfr-4.2.1-5.fc41.s390x ncurses-base-6.5-2.20240629.fc41.noarch ncurses-libs-6.5-2.20240629.fc41.s390x ocaml-srpm-macros-10-3.fc41.noarch openblas-srpm-macros-2-18.fc41.noarch openldap-2.6.8-6.fc42.s390x openssl-libs-3.2.2-10.fc42.s390x p11-kit-0.25.5-4.fc42.s390x p11-kit-trust-0.25.5-4.fc42.s390x package-notes-srpm-macros-0.5-12.fc41.noarch pam-1.7.0-3.fc42.s390x pam-libs-1.7.0-3.fc42.s390x patch-2.7.6-25.fc41.s390x pcre2-10.44-1.fc41.1.s390x pcre2-syntax-10.44-1.fc41.1.noarch perl-srpm-macros-1-56.fc41.noarch pkgconf-2.3.0-1.fc42.s390x pkgconf-m4-2.3.0-1.fc42.noarch pkgconf-pkg-config-2.3.0-1.fc42.s390x popt-1.19-7.fc41.s390x publicsuffix-list-dafsa-20240107-4.fc41.noarch pyproject-srpm-macros-1.16.3-1.fc42.noarch python-srpm-macros-3.13-3.fc41.noarch qt5-srpm-macros-5.15.15-1.fc42.noarch qt6-srpm-macros-6.8.1-4.fc42.noarch readline-8.2-11.fc42.s390x redhat-rpm-config-300-1.no_annobin.0.fc42.noarch rpm-4.20.0-1.fc42.s390x rpm-build-4.20.0-1.fc42.s390x rpm-build-libs-4.20.0-1.fc42.s390x rpm-libs-4.20.0-1.fc42.s390x rpm-sequoia-1.7.0-3.fc42.s390x rust-srpm-macros-26.3-3.fc42.noarch sed-4.9-3.fc41.s390x setup-2.15.0-9.fc42.noarch shadow-utils-4.17.0-2.fc42.s390x sqlite-libs-3.47.2-1.fc42.s390x systemd-libs-257.1-1.fc42.s390x tar-1.35-4.fc41.s390x unzip-6.0-65.fc42.s390x util-linux-2.40.2-8.fc42.s390x util-linux-core-2.40.2-8.fc42.s390x which-2.21-42.fc41.s390x xxhash-libs-0.8.3-1.fc42.s390x xz-5.6.3-2.fc42.s390x xz-libs-5.6.3-2.fc42.s390x zig-srpm-macros-1-3.fc41.noarch zip-3.0-42.fc42.s390x zlib-ng-compat-2.2.2-1.fc42.s390x zstd-1.5.6-2.fc41.s390x Start: buildsrpm Start: rpmbuild -bs Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.src.rpm Finish: rpmbuild -bs INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names Finish: buildsrpm INFO: Done(/var/lib/copr-rpmbuild/workspace/workdir-r7qo4lbh/poetry/poetry.spec) Config(child) 0 minutes 16 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_success=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot INFO: Start(/var/lib/copr-rpmbuild/results/poetry-1.8.5-1.fc42.src.rpm) Config(fedora-rawhide-s390x) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-s390x-bootstrap-1736263696.844612/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-s390x-bootstrap-1736263696.844612/root. INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata Finish(bootstrap): chroot init Start: chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root. INFO: calling preinit hooks INFO: enabled root cache Start: unpacking root cache Finish: unpacking root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Buildroot is handled by package management downloaded with a bootstrap image: rpm-4.20.0-1.fc42.s390x rpm-sequoia-1.7.0-3.fc42.s390x dnf5-5.2.8.1-2.fc42.s390x dnf5-plugins-5.2.8.1-2.fc42.s390x Finish: chroot init Start: build phase for poetry-1.8.5-1.fc42.src.rpm Start: build setup for poetry-1.8.5-1.fc42.src.rpm Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.src.rpm Updating and loading repositories: fedora 100% | 26.2 KiB/s | 3.2 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 4.5 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 8.5 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: gcc s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 79.2 MiB git-core s390x 2.47.1-1.fc42 fedora 23.5 MiB pyproject-rpm-macros noarch 1.16.3-1.fc42 fedora 113.7 KiB python-unversioned-command noarch 3.13.1-2.fc42 fedora 23.0 B python3-cachy noarch 0.3.0-19.fc41 fedora 129.0 KiB python3-deepdiff noarch 8.0.1-1.fc42 fedora 646.3 KiB python3-devel s390x 3.13.1-2.fc42 fedora 1.8 MiB python3-httpretty noarch 1.1.4-21.fc41 fedora 278.3 KiB python3-pytest noarch 8.3.4-1.fc42 fedora 20.8 MiB python3-pytest-mock noarch 3.14.0-2.fc41 fedora 117.0 KiB python3-pytest-xdist noarch 3.6.1-4.fc41 fedora 419.8 KiB Installing dependencies: annobin-docs noarch 12.80-1.fc42 fedora 98.6 KiB annobin-plugin-gcc s390x 12.80-1.fc42 fedora 988.6 KiB cpp s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 26.6 MiB expat s390x 2.6.4-1.fc42 fedora 308.9 KiB gcc-plugin-annobin s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 51.3 KiB glibc-devel s390x 2.40.9000-26.fc42 fedora 2.6 MiB kernel-headers s390x 6.13.0-0.rc6.48.fc42 fedora 6.5 MiB less s390x 668-1.fc42 fedora 457.6 KiB libasan s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 1.6 MiB libatomic s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 26.0 KiB libb2 s390x 0.98.1-12.fc41 fedora 42.0 KiB libcbor s390x 0.11.0-2.fc41 fedora 81.7 KiB libedit s390x 3.1-54.20250104cvs.fc42 fedora 267.1 KiB libfido2 s390x 1.15.0-2.fc41 fedora 238.2 KiB libmpc s390x 1.3.1-6.fc41 fedora 164.5 KiB libubsan s390x 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 480.5 KiB libxcrypt-devel s390x 4.4.37-4.fc42 fedora 30.5 KiB make s390x 1:4.4.1-9.fc42 fedora 1.9 MiB mpdecimal s390x 2.5.1-16.fc41 fedora 224.7 KiB openssh s390x 9.9p1-5.fc42 fedora 1.4 MiB openssh-clients s390x 9.9p1-5.fc42 fedora 2.8 MiB python-pip-wheel noarch 24.3.1-1.fc42 fedora 1.2 MiB python-rpm-macros noarch 3.13-3.fc41 fedora 22.1 KiB python3 s390x 3.13.1-2.fc42 fedora 22.4 KiB python3-execnet noarch 2.1.1-4.fc42 fedora 916.6 KiB python3-iniconfig noarch 1.1.1-23.fc41 fedora 20.6 KiB python3-libs s390x 3.13.1-2.fc42 fedora 40.0 MiB python3-orderly-set noarch 5.2.2-3.fc42 fedora 103.2 KiB python3-packaging noarch 24.2-2.fc42 fedora 555.7 KiB python3-pluggy noarch 1.5.0-1.fc41 fedora 193.2 KiB python3-rpm-generators noarch 14-11.fc41 fedora 81.7 KiB python3-rpm-macros noarch 3.13-3.fc41 fedora 6.4 KiB python3-six noarch 1.17.0-1.fc42 fedora 116.9 KiB tzdata noarch 2024b-1.fc42 fedora 1.6 MiB Transaction Summary: Installing: 45 packages Total size of inbound packages is 67 MiB. Need to download 9 MiB. After this operation, 219 MiB extra will be used (install 219 MiB, remove 0 B). [1/3] pyproject-rpm-macros-0:1.16.3-1.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [2/4] python3-devel-0:3.13.1-2.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/10] gcc-0:15.0.0-0.2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/11] python3-0:3.13.1-2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/12] expat-0:2.6.4-1.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/15] python-rpm-macros-0:3.13-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/16] python3-rpm-macros-0:3.13-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/17] python3-libs-0:3.13.1-2.fc42.s3 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/21] glibc-devel-0:2.40.9000-26.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/22] libmpc-0:1.3.1-6.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/23] make-1:4.4.1-9.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/24] cpp-0:15.0.0-0.2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/25] libedit-0:3.1-54.20250104cvs.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [14/28] libb2-0:0.98.1-12.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [15/29] mpdecimal-0:2.5.1-16.fc41.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [16/30] python-pip-wheel-0:24.3.1-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [17/31] tzdata-0:2024b-1.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [18/32] kernel-headers-0:6.13.0-0.rc6.4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [19/33] libxcrypt-devel-0:4.4.37-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [20/37] python3-packaging-0:24.2-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [21/39] libasan-0:15.0.0-0.2.fc42.s390x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [22/40] libatomic-0:15.0.0-0.2.fc42.s39 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [23/41] libubsan-0:15.0.0-0.2.fc42.s390 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [24/42] annobin-plugin-gcc-0:12.80-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [25/43] gcc-plugin-annobin-0:15.0.0-0.2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [26/44] annobin-docs-0:12.80-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [27/45] python3-rpm-generators-0:14-11. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [28/45] python-unversioned-command-0:3. 100% | 21.6 KiB/s | 11.1 KiB | 00m01s [29/45] python3-cachy-0:0.3.0-19.fc41.n 100% | 99.4 KiB/s | 61.2 KiB | 00m01s [30/45] python3-httpretty-0:1.1.4-21.fc 100% | 638.4 KiB/s | 72.1 KiB | 00m00s [31/45] python3-pytest-mock-0:3.14.0-2. 100% | 365.9 KiB/s | 41.7 KiB | 00m00s [32/45] python3-deepdiff-0:8.0.1-1.fc42 100% | 465.6 KiB/s | 192.7 KiB | 00m00s [33/45] python3-pytest-xdist-0:3.6.1-4. 100% | 924.6 KiB/s | 111.0 KiB | 00m00s [34/45] less-0:668-1.fc42.s390x 100% | 1.8 MiB/s | 201.7 KiB | 00m00s [35/45] python3-orderly-set-0:5.2.2-3.f 100% | 302.1 KiB/s | 32.6 KiB | 00m00s [36/45] git-core-0:2.47.1-1.fc42.s390x 100% | 4.0 MiB/s | 5.0 MiB | 00m01s [37/45] python3-six-0:1.17.0-1.fc42.noa 100% | 403.5 KiB/s | 41.2 KiB | 00m00s [38/45] openssh-clients-0:9.9p1-5.fc42. 100% | 2.5 MiB/s | 792.1 KiB | 00m00s [39/45] libfido2-0:1.15.0-2.fc41.s390x 100% | 921.5 KiB/s | 94.0 KiB | 00m00s [40/45] python3-execnet-0:2.1.1-4.fc42. 100% | 2.2 MiB/s | 261.1 KiB | 00m00s [41/45] openssh-0:9.9p1-5.fc42.s390x 100% | 3.3 MiB/s | 355.1 KiB | 00m00s [42/45] libcbor-0:0.11.0-2.fc41.s390x 100% | 324.8 KiB/s | 33.1 KiB | 00m00s [43/45] python3-iniconfig-0:1.1.1-23.fc 100% | 173.8 KiB/s | 18.1 KiB | 00m00s [44/45] python3-pytest-0:8.3.4-1.fc42.n 100% | 17.1 MiB/s | 2.2 MiB | 00m00s [45/45] python3-pluggy-0:1.5.0-1.fc41.n 100% | 574.7 KiB/s | 58.6 KiB | 00m00s -------------------------------------------------------------------------------- [45/45] Total 100% | 5.5 MiB/s | 9.5 MiB | 00m02s Running transaction [ 1/47] Verify package files 100% | 226.0 B/s | 45.0 B | 00m00s [ 2/47] Prepare transaction 100% | 849.0 B/s | 45.0 B | 00m00s [ 3/47] Installing python-rpm-macros-0: 100% | 0.0 B/s | 22.8 KiB | 00m00s [ 4/47] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 5/47] Installing libmpc-0:1.3.1-6.fc4 100% | 162.1 MiB/s | 166.0 KiB | 00m00s [ 6/47] Installing expat-0:2.6.4-1.fc42 100% | 151.8 MiB/s | 311.0 KiB | 00m00s [ 7/47] Installing cpp-0:15.0.0-0.2.fc4 100% | 286.4 MiB/s | 26.6 MiB | 00m00s [ 8/47] Installing pyproject-rpm-macros 100% | 113.0 MiB/s | 115.7 KiB | 00m00s [ 9/47] Installing annobin-docs-0:12.80 100% | 0.0 B/s | 99.7 KiB | 00m00s [10/47] Installing libubsan-0:15.0.0-0. 100% | 235.0 MiB/s | 481.4 KiB | 00m00s [11/47] Installing libatomic-0:15.0.0-0 100% | 0.0 B/s | 26.9 KiB | 00m00s [12/47] Installing libasan-0:15.0.0-0.2 100% | 318.2 MiB/s | 1.6 MiB | 00m00s [13/47] Installing libcbor-0:0.11.0-2.f 100% | 0.0 B/s | 83.1 KiB | 00m00s [14/47] Installing libfido2-0:1.15.0-2. 100% | 58.5 MiB/s | 239.7 KiB | 00m00s [15/47] Installing kernel-headers-0:6.1 100% | 194.9 MiB/s | 6.6 MiB | 00m00s [16/47] Installing libxcrypt-devel-0:4. 100% | 16.0 MiB/s | 32.9 KiB | 00m00s [17/47] Installing glibc-devel-0:2.40.9 100% | 139.3 MiB/s | 2.6 MiB | 00m00s [18/47] Installing tzdata-0:2024b-1.fc4 100% | 57.1 MiB/s | 1.9 MiB | 00m00s [19/47] Installing python-pip-wheel-0:2 100% | 622.1 MiB/s | 1.2 MiB | 00m00s [20/47] Installing mpdecimal-0:2.5.1-16 100% | 220.5 MiB/s | 225.8 KiB | 00m00s [21/47] Installing libb2-0:0.98.1-12.fc 100% | 7.0 MiB/s | 43.1 KiB | 00m00s [22/47] Installing python3-libs-0:3.13. 100% | 301.5 MiB/s | 40.4 MiB | 00m00s [23/47] Installing python3-0:3.13.1-2.f 100% | 23.6 MiB/s | 24.2 KiB | 00m00s [24/47] Installing python3-packaging-0: 100% | 184.9 MiB/s | 568.0 KiB | 00m00s [25/47] Installing python3-rpm-generato 100% | 0.0 B/s | 82.9 KiB | 00m00s [26/47] Installing python3-orderly-set- 100% | 104.2 MiB/s | 106.7 KiB | 00m00s [27/47] Installing python3-six-0:1.17.0 100% | 116.2 MiB/s | 119.0 KiB | 00m00s [28/47] Installing python3-execnet-0:2. 100% | 229.0 MiB/s | 938.2 KiB | 00m00s [29/47] Installing python3-iniconfig-0: 100% | 23.0 MiB/s | 23.6 KiB | 00m00s [30/47] Installing python3-pluggy-0:1.5 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [31/47] Installing python3-pytest-0:8.3 100% | 420.2 MiB/s | 21.0 MiB | 00m00s [32/47] Installing openssh-0:9.9p1-5.fc 100% | 349.7 MiB/s | 1.4 MiB | 00m00s [33/47] Installing libedit-0:3.1-54.202 100% | 262.4 MiB/s | 268.7 KiB | 00m00s [34/47] Installing openssh-clients-0:9. 100% | 199.5 MiB/s | 2.8 MiB | 00m00s [35/47] Installing make-1:4.4.1-9.fc42. 100% | 232.8 MiB/s | 1.9 MiB | 00m00s [36/47] Installing gcc-0:15.0.0-0.2.fc4 100% | 327.4 MiB/s | 79.2 MiB | 00m00s [37/47] Installing less-0:668-1.fc42.s3 100% | 150.0 MiB/s | 460.9 KiB | 00m00s [38/47] Installing git-core-0:2.47.1-1. 100% | 361.6 MiB/s | 23.5 MiB | 00m00s [39/47] Installing annobin-plugin-gcc-0 100% | 96.7 MiB/s | 990.2 KiB | 00m00s [40/47] Installing gcc-plugin-annobin-0 100% | 5.7 MiB/s | 52.9 KiB | 00m00s [41/47] Installing python3-pytest-mock- 100% | 119.0 MiB/s | 121.9 KiB | 00m00s [42/47] Installing python3-pytest-xdist 100% | 211.0 MiB/s | 432.1 KiB | 00m00s [43/47] Installing python3-httpretty-0: 100% | 138.8 MiB/s | 284.3 KiB | 00m00s [44/47] Installing python3-deepdiff-0:8 100% | 160.4 MiB/s | 656.9 KiB | 00m00s [45/47] Installing python3-devel-0:3.13 100% | 181.5 MiB/s | 1.8 MiB | 00m00s [46/47] Installing python-unversioned-c 100% | 0.0 B/s | 424.0 B | 00m00s [47/47] Installing python3-cachy-0:0.3. 100% | 1.6 MiB/s | 145.4 KiB | 00m00s Warning: skipped OpenPGP checks for 6 packages from repository: https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch Complete! Finish: build setup for poetry-1.8.5-1.fc42.src.rpm Start: rpmbuild poetry-1.8.5-1.fc42.src.rpm Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.VAqjic + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + test -d /builddir/build/BUILD/poetry-1.8.5-build + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w /builddir/build/BUILD/poetry-1.8.5-build + /usr/bin/rm -rf /builddir/build/BUILD/poetry-1.8.5-build + /usr/bin/mkdir -p /builddir/build/BUILD/poetry-1.8.5-build + /usr/bin/mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/SPECPARTS + RPM_EC=0 ++ jobs -p + exit 0 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.vL6gsU + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + cd /builddir/build/BUILD/poetry-1.8.5-build + rm -rf poetry-1.8.5 + /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/poetry-1.8.5.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd poetry-1.8.5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/Patch-get_embedded_wheel-to-return-system-wheels-fro.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + /usr/lib/rpm/rpmuncompress /builddir/build/SOURCES/9117.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f + sed -i 's/virtualenv = "^20.23.0"/virtualenv = ">=20.21.1"/' pyproject.toml + sed -i 's/jsonschema = ">=4.10.0,<4.18.0"/jsonschema = ">=4.10.0,<4.20.0"/' pyproject.toml + sed -i -r 's/(keyring = ")\^/\1>=/' pyproject.toml + sed -i 's/dulwich = "^0.21.2"/dulwich = ">=0.21.2"/' pyproject.toml + RPM_EC=0 ++ jobs -p + exit 0 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.VcLSTw + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + cd poetry-1.8.5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none --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/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir --output /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires Handling poetry-core>=1.5.0 from build-system.requires Requirement not satisfied: poetry-core>=1.5.0 Exiting dependency generation pass: build backend + cat /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires + rm -rfv '*.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Additional repo https_fedorapeople_org 100% | 4.4 KiB/s | 1.5 KiB | 00m00s fedora 100% | 30.3 KiB/s | 3.2 KiB | 00m00s Copr repository 100% | 8.7 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "python-unversioned-command-3.13.1-2.fc42.noarch" is already installed. Package "gcc-15.0.0-0.2.fc42.s390x" is already installed. Package "git-core-2.47.1-1.fc42.s390x" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.s390x" is already installed. Package "python3-cachy-0.3.0-19.fc41.noarch" is already installed. Package "python3-deepdiff-8.0.1-1.fc42.noarch" is already installed. Package "python3-httpretty-1.1.4-21.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-2.fc41.noarch" is already installed. Package "python3-pytest-xdist-3.6.1-4.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-pip noarch 24.3.1-1.fc42 fedora 11.3 MiB python3-poetry-core noarch 1.9.1-1.fc42 fedora 1.0 MiB Installing dependencies: python3-fastjsonschema noarch 2.21.1-1.fc42 fedora 189.0 KiB python3-lark noarch 1.2.2-1.fc42 fedora 1.3 MiB Transaction Summary: Installing: 4 packages Total size of inbound packages is 3 MiB. Need to download 3 MiB. After this operation, 14 MiB extra will be used (install 14 MiB, remove 0 B). [1/4] python3-pip-0:24.3.1-1.fc42.noarc 100% | 40.6 MiB/s | 2.7 MiB | 00m00s [2/4] python3-lark-0:1.2.2-1.fc42.noarc 100% | 1.3 MiB/s | 389.3 KiB | 00m00s [3/4] python3-poetry-core-0:1.9.1-1.fc4 100% | 797.9 KiB/s | 299.2 KiB | 00m00s [4/4] python3-fastjsonschema-0:2.21.1-1 100% | 141.1 KiB/s | 65.2 KiB | 00m00s -------------------------------------------------------------------------------- [4/4] Total 100% | 4.4 MiB/s | 3.5 MiB | 00m01s Running transaction [1/6] Verify package files 100% | 400.0 B/s | 4.0 B | 00m00s [2/6] Prepare transaction 100% | 173.0 B/s | 4.0 B | 00m00s [3/6] Installing python3-lark-0:1.2.2-1 100% | 188.2 MiB/s | 1.3 MiB | 00m00s [4/6] Installing python3-fastjsonschema 100% | 96.2 MiB/s | 197.0 KiB | 00m00s [5/6] Installing python3-poetry-core-0: 100% | 87.6 MiB/s | 1.1 MiB | 00m00s [6/6] Installing python3-pip-0:24.3.1-1 100% | 165.9 MiB/s | 11.6 MiB | 00m00s Complete! Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.pOmEgp + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + cd poetry-1.8.5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none --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/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir --output /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires Handling poetry-core>=1.5.0 from build-system.requires Requirement satisfied: poetry-core>=1.5.0 (installed: poetry-core 1.9.1) Handling build (>=1.0.3,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: build (>=1.0.3,<2.0.0) Handling cachecontrol[filecache] (>=0.14.0,<0.15.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: cachecontrol[filecache] (>=0.14.0,<0.15.0) Handling cleo (>=2.1.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: cleo (>=2.1.0,<3.0.0) Handling crashtest (>=0.4.1,<0.5.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: crashtest (>=0.4.1,<0.5.0) Handling dulwich (>=0.21.2) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: dulwich (>=0.21.2) Handling fastjsonschema (>=2.18.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: fastjsonschema (>=2.18.0,<3.0.0) (installed: fastjsonschema 2.21.1) Handling importlib-metadata (>=4.4) ; python_version < "3.10" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: importlib-metadata (>=4.4) ; python_version < "3.10" Handling installer (>=0.7.0,<0.8.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: installer (>=0.7.0,<0.8.0) Handling keyring (>=24.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: keyring (>=24.0.0) Handling packaging (>=23.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: packaging (>=23.1) (installed: packaging 24.2) Handling pexpect (>=4.7.0,<5.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: pexpect (>=4.7.0,<5.0.0) Handling pkginfo (>=1.12,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: pkginfo (>=1.12,<2.0) Handling platformdirs (>=3.0.0,<5) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: platformdirs (>=3.0.0,<5) Handling poetry-core (==1.9.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: poetry-core (==1.9.1) (installed: poetry-core 1.9.1) Handling poetry-plugin-export (>=1.6.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: poetry-plugin-export (>=1.6.0,<2.0.0) Handling pyproject-hooks (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: pyproject-hooks (>=1.0.0,<2.0.0) Handling requests (>=2.26,<3.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: requests (>=2.26,<3.0) Handling requests-toolbelt (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: requests-toolbelt (>=1.0.0,<2.0.0) Handling shellingham (>=1.5,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: shellingham (>=1.5,<2.0) Handling tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" Handling tomlkit (>=0.11.4,<1.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: tomlkit (>=0.11.4,<1.0.0) Handling trove-classifiers (>=2022.5.19) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: trove-classifiers (>=2022.5.19) Handling virtualenv (>=20.26.6,<21.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement not satisfied: virtualenv (>=20.26.6,<21.0.0) Handling xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" + cat /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires + rm -rfv poetry-1.8.5.dist-info/ removed 'poetry-1.8.5.dist-info/entry_points.txt' removed 'poetry-1.8.5.dist-info/WHEEL' removed 'poetry-1.8.5.dist-info/METADATA' removed 'poetry-1.8.5.dist-info/LICENSE' removed directory 'poetry-1.8.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: fedora 100% | 27.0 KiB/s | 3.2 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 4.5 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 3.5 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "python-unversioned-command-3.13.1-2.fc42.noarch" is already installed. Package "gcc-15.0.0-0.2.fc42.s390x" is already installed. Package "git-core-2.47.1-1.fc42.s390x" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.s390x" is already installed. Package "python3-cachy-0.3.0-19.fc41.noarch" is already installed. Package "python3-deepdiff-8.0.1-1.fc42.noarch" is already installed. Package "python3-httpretty-1.1.4-21.fc41.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pip-24.3.1-1.fc42.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc42.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-2.fc41.noarch" is already installed. Package "python3-pytest-xdist-3.6.1-4.fc41.noarch" is already installed. Package Arch Version Repository Size Installing: python3-CacheControl noarch 0.14.1-1.fc42 fedora 142.4 KiB python3-CacheControl+filecache noarch 0.14.1-1.fc42 fedora 3.7 KiB python3-build noarch 1.2.2-1.fc42 fedora 134.2 KiB python3-cleo noarch 2.1.0-4.fc41 fedora 745.9 KiB python3-crashtest noarch 0.4.1-7.fc41 fedora 32.5 KiB python3-dulwich s390x 0.22.1-1.fc42 fedora 2.6 MiB python3-installer noarch 0.7.0-8.fc41 fedora 1.0 MiB python3-keyring noarch 25.5.0-1.fc42 fedora 294.9 KiB python3-pexpect noarch 4.9.0-8.fc42 fedora 620.4 KiB python3-pkginfo noarch 1.12.0-1.fc42 fedora 100.0 KiB python3-platformdirs noarch 4.2.2-2.fc41 fedora 168.6 KiB python3-poetry-plugin-export noarch 1.7.1-1.fc42 fedora 64.7 KiB python3-pyproject-hooks noarch 1.2.0-1.fc42 fedora 65.9 KiB python3-requests noarch 2.32.3-3.fc41 fedora 485.9 KiB python3-requests-toolbelt noarch 1.0.0-7.fc41 fedora 299.1 KiB python3-shellingham noarch 1.5.4-8.fc42 fedora 43.2 KiB python3-tomlkit noarch 0.13.2-1.fc42 fedora 453.7 KiB python3-trove-classifiers noarch 2024.10.21.16-2.fc42 fedora 92.1 KiB python3-virtualenv noarch 20.28.1-1.fc42 fedora 648.6 KiB Installing dependencies: python-setuptools-wheel noarch 74.1.3-4.fc42 fedora 1.2 MiB python-wheel-wheel noarch 1:0.45.1-1.fc42 fedora 71.6 KiB python3-cffi s390x 1.17.1-1.fc42 fedora 1.3 MiB python3-charset-normalizer noarch 3.4.1-1.fc42 fedora 319.6 KiB python3-cryptography s390x 43.0.0-3.fc42 fedora 5.3 MiB python3-distlib noarch 0.3.9-1.fc42 fedora 1.2 MiB python3-filelock noarch 3.15.4-2.fc41 fedora 90.2 KiB python3-idna noarch 3.10-1.fc42 fedora 628.0 KiB python3-jaraco-classes noarch 3.4.0-5.fc42 fedora 36.8 KiB python3-jaraco-context noarch 6.0.1-3.fc42 fedora 34.1 KiB python3-jaraco-functools noarch 4.1.0-1.fc42 fedora 71.6 KiB python3-jeepney noarch 0.8.0-10.fc41 fedora 1.6 MiB python3-more-itertools noarch 10.5.0-1.fc42 fedora 651.2 KiB python3-msgpack s390x 1.1.0-1.fc42 fedora 337.8 KiB python3-ply noarch 3.11-25.fc41 fedora 568.2 KiB python3-poetry noarch 1.8.5-1.fc42 fedora 2.1 MiB python3-ptyprocess noarch 0.7.0-9.fc41 fedora 79.8 KiB python3-pycparser noarch 2.20-18.fc41 fedora 821.0 KiB python3-rapidfuzz s390x 3.11.0-1.fc42 fedora 5.9 MiB python3-secretstorage noarch 3.3.3^20240314git3e5097c-9.fc41 fedora 112.8 KiB python3-setuptools noarch 74.1.3-4.fc42 fedora 8.4 MiB python3-urllib3 noarch 2.3.0-1.fc42 fedora 1.0 MiB Transaction Summary: Installing: 41 packages Total size of inbound packages is 11 MiB. Need to download 11 MiB. After this operation, 40 MiB extra will be used (install 40 MiB, remove 0 B). [ 1/41] python3-CacheControl+filecache- 100% | 24.5 KiB/s | 8.7 KiB | 00m00s [ 2/41] python3-CacheControl-0:0.14.1-1 100% | 119.0 KiB/s | 59.8 KiB | 00m01s [ 3/41] python3-build-0:1.2.2-1.fc42.no 100% | 130.7 KiB/s | 66.9 KiB | 00m01s [ 4/41] python3-crashtest-0:0.4.1-7.fc4 100% | 78.5 KiB/s | 32.7 KiB | 00m00s [ 5/41] python3-installer-0:0.7.0-8.fc4 100% | 646.7 KiB/s | 266.4 KiB | 00m00s [ 6/41] python3-cleo-0:2.1.0-4.fc41.noa 100% | 357.1 KiB/s | 235.0 KiB | 00m01s [ 7/41] python3-pexpect-0:4.9.0-8.fc42. 100% | 1.5 MiB/s | 177.1 KiB | 00m00s [ 8/41] python3-pkginfo-0:1.12.0-1.fc42 100% | 166.2 KiB/s | 52.0 KiB | 00m00s [ 9/41] python3-poetry-plugin-export-0: 100% | 84.4 KiB/s | 35.9 KiB | 00m00s [10/41] python3-requests-0:2.32.3-3.fc4 100% | 25.9 MiB/s | 159.4 KiB | 00m00s [11/41] python3-platformdirs-0:4.2.2-2. 100% | 94.4 KiB/s | 46.3 KiB | 00m00s [12/41] python3-pyproject-hooks-0:1.2.0 100% | 78.0 KiB/s | 30.4 KiB | 00m00s [13/41] python3-shellingham-0:1.5.4-8.f 100% | 80.2 KiB/s | 33.8 KiB | 00m00s [14/41] python3-requests-toolbelt-0:1.0 100% | 215.5 KiB/s | 117.7 KiB | 00m01s [15/41] python3-tomlkit-0:0.13.2-1.fc42 100% | 212.2 KiB/s | 120.1 KiB | 00m01s [16/41] python3-dulwich-0:0.22.1-1.fc42 100% | 2.0 MiB/s | 557.1 KiB | 00m00s [17/41] python3-virtualenv-0:20.28.1-1. 100% | 679.5 KiB/s | 290.2 KiB | 00m00s [18/41] python3-trove-classifiers-0:202 100% | 147.1 KiB/s | 27.1 KiB | 00m00s [19/41] python3-filelock-0:3.15.4-2.fc4 100% | 380.0 KiB/s | 43.3 KiB | 00m00s [20/41] python3-keyring-0:25.5.0-1.fc42 100% | 274.5 KiB/s | 121.6 KiB | 00m00s [21/41] python3-msgpack-0:1.1.0-1.fc42. 100% | 222.8 KiB/s | 109.8 KiB | 00m00s [22/41] python3-setuptools-0:74.1.3-4.f 100% | 245.4 MiB/s | 2.0 MiB | 00m00s [23/41] python3-ptyprocess-0:0.7.0-9.fc 100% | 135.8 KiB/s | 36.0 KiB | 00m00s [24/41] python3-charset-normalizer-0:3. 100% | 26.4 MiB/s | 108.1 KiB | 00m00s [25/41] python3-idna-0:3.10-1.fc42.noar 100% | 28.6 MiB/s | 117.2 KiB | 00m00s [26/41] python3-urllib3-0:2.3.0-1.fc42. 100% | 69.2 MiB/s | 283.3 KiB | 00m00s [27/41] python3-rapidfuzz-0:3.11.0-1.fc 100% | 3.7 MiB/s | 1.3 MiB | 00m00s [28/41] python-wheel-wheel-1:0.45.1-1.f 100% | 188.4 KiB/s | 77.1 KiB | 00m00s [29/41] python3-poetry-0:1.8.5-1.fc42.n 100% | 1.0 MiB/s | 645.6 KiB | 00m01s [30/41] python3-jaraco-classes-0:3.4.0- 100% | 190.1 KiB/s | 21.3 KiB | 00m00s [31/41] python-setuptools-wheel-0:74.1. 100% | 1.5 MiB/s | 1.1 MiB | 00m01s [32/41] python3-distlib-0:0.3.9-1.fc42. 100% | 641.1 KiB/s | 266.7 KiB | 00m00s [33/41] python3-jaraco-context-0:6.0.1- 100% | 63.6 KiB/s | 21.4 KiB | 00m00s [34/41] python3-jaraco-functools-0:4.1. 100% | 72.3 KiB/s | 24.0 KiB | 00m00s [35/41] python3-secretstorage-0:3.3.3^2 100% | 239.6 KiB/s | 45.0 KiB | 00m00s [36/41] python3-cryptography-0:43.0.0-3 100% | 9.8 MiB/s | 1.4 MiB | 00m00s [37/41] python3-more-itertools-0:10.5.0 100% | 298.3 KiB/s | 118.1 KiB | 00m00s [38/41] python3-jeepney-0:0.8.0-10.fc41 100% | 445.3 KiB/s | 295.7 KiB | 00m01s [39/41] python3-pycparser-0:2.20-18.fc4 100% | 476.1 KiB/s | 159.5 KiB | 00m00s [40/41] python3-cffi-0:1.17.1-1.fc42.s3 100% | 745.2 KiB/s | 313.0 KiB | 00m00s [41/41] python3-ply-0:3.11-25.fc41.noar 100% | 398.2 KiB/s | 136.2 KiB | 00m00s -------------------------------------------------------------------------------- [41/41] Total 100% | 2.1 MiB/s | 10.9 MiB | 00m05s Running transaction [ 1/43] Verify package files 100% | 1.1 KiB/s | 41.0 B | 00m00s [ 2/43] Prepare transaction 100% | 803.0 B/s | 41.0 B | 00m00s [ 3/43] Installing python3-more-itertoo 100% | 213.3 MiB/s | 655.2 KiB | 00m00s [ 4/43] Installing python3-jeepney-0:0. 100% | 234.0 MiB/s | 1.6 MiB | 00m00s [ 5/43] Installing python3-idna-0:3.10- 100% | 206.5 MiB/s | 634.3 KiB | 00m00s [ 6/43] Installing python3-urllib3-0:2. 100% | 127.2 MiB/s | 1.0 MiB | 00m00s [ 7/43] Installing python3-setuptools-0 100% | 208.7 MiB/s | 8.6 MiB | 00m00s [ 8/43] Installing python3-filelock-0:3 100% | 94.8 MiB/s | 97.1 KiB | 00m00s [ 9/43] Installing python3-pyproject-ho 100% | 69.1 MiB/s | 70.8 KiB | 00m00s [10/43] Installing python3-platformdirs 100% | 170.9 MiB/s | 175.0 KiB | 00m00s [11/43] Installing python3-crashtest-0: 100% | 41.4 MiB/s | 42.4 KiB | 00m00s [12/43] Installing python3-build-0:1.2. 100% | 70.3 MiB/s | 143.9 KiB | 00m00s [13/43] Installing python3-pkginfo-0:1. 100% | 53.7 MiB/s | 110.0 KiB | 00m00s [14/43] Installing python3-dulwich-0:0. 100% | 290.2 MiB/s | 2.6 MiB | 00m00s [15/43] Installing python3-jaraco-class 100% | 40.3 MiB/s | 41.2 KiB | 00m00s [16/43] Installing python3-jaraco-funct 100% | 72.7 MiB/s | 74.5 KiB | 00m00s [17/43] Installing python3-ply-0:3.11-2 100% | 280.0 MiB/s | 573.4 KiB | 00m00s [18/43] Installing python3-pycparser-0: 100% | 271.0 MiB/s | 832.5 KiB | 00m00s [19/43] Installing python3-cffi-0:1.17. 100% | 226.8 MiB/s | 1.4 MiB | 00m00s [20/43] Installing python3-cryptography 100% | 233.2 MiB/s | 5.4 MiB | 00m00s [21/43] Installing python3-secretstorag 100% | 116.1 MiB/s | 118.9 KiB | 00m00s [22/43] Installing python3-jaraco-conte 100% | 36.5 MiB/s | 37.3 KiB | 00m00s [23/43] Installing python3-keyring-0:25 100% | 102.8 MiB/s | 315.7 KiB | 00m00s [24/43] Installing python3-distlib-0:0. 100% | 293.0 MiB/s | 1.2 MiB | 00m00s [25/43] Installing python-wheel-wheel-1 100% | 0.0 B/s | 72.4 KiB | 00m00s [26/43] Installing python-setuptools-wh 100% | 576.4 MiB/s | 1.2 MiB | 00m00s [27/43] Installing python3-virtualenv-0 100% | 77.8 MiB/s | 717.3 KiB | 00m00s [28/43] Installing python3-charset-norm 100% | 160.9 MiB/s | 329.5 KiB | 00m00s [29/43] Installing python3-requests-0:2 100% | 162.1 MiB/s | 498.0 KiB | 00m00s [30/43] Installing python3-requests-too 100% | 105.4 MiB/s | 323.7 KiB | 00m00s [31/43] Installing python3-ptyprocess-0 100% | 82.0 MiB/s | 84.0 KiB | 00m00s [32/43] Installing python3-pexpect-0:4. 100% | 155.9 MiB/s | 638.7 KiB | 00m00s [33/43] Installing python3-rapidfuzz-0: 100% | 310.8 MiB/s | 5.9 MiB | 00m00s [34/43] Installing python3-cleo-0:2.1.0 100% | 110.6 MiB/s | 792.6 KiB | 00m00s [35/43] Installing python3-msgpack-0:1. 100% | 167.3 MiB/s | 342.7 KiB | 00m00s [36/43] Installing python3-CacheControl 100% | 74.2 MiB/s | 152.0 KiB | 00m00s [37/43] Installing python3-CacheControl 100% | 0.0 B/s | 124.0 B | 00m00s [38/43] Installing python3-trove-classi 100% | 93.1 MiB/s | 95.3 KiB | 00m00s [39/43] Installing python3-tomlkit-0:0. 100% | 226.0 MiB/s | 462.8 KiB | 00m00s [40/43] Installing python3-shellingham- 100% | 48.4 MiB/s | 49.6 KiB | 00m00s [41/43] Installing python3-installer-0: 100% | 255.6 MiB/s | 1.0 MiB | 00m00s [42/43] Installing python3-poetry-plugi 100% | 34.1 MiB/s | 69.9 KiB | 00m00s [43/43] Installing python3-poetry-0:1.8 100% | 53.8 MiB/s | 2.3 MiB | 00m00s Complete! Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.4abeQD + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + cd poetry-1.8.5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none --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/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir --output /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires Handling poetry-core>=1.5.0 from build-system.requires Requirement satisfied: poetry-core>=1.5.0 (installed: poetry-core 1.9.1) Handling build (>=1.0.3,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: build (>=1.0.3,<2.0.0) (installed: build 1.2.2) Handling cachecontrol[filecache] (>=0.14.0,<0.15.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: cachecontrol[filecache] (>=0.14.0,<0.15.0) (installed: cachecontrol 0.14.1) (extras are currently not checked) Handling cleo (>=2.1.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: cleo (>=2.1.0,<3.0.0) (installed: cleo 2.1.0) Handling crashtest (>=0.4.1,<0.5.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: crashtest (>=0.4.1,<0.5.0) (installed: crashtest 0.4.1) Handling dulwich (>=0.21.2) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: dulwich (>=0.21.2) (installed: dulwich 0.22.1) Handling fastjsonschema (>=2.18.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: fastjsonschema (>=2.18.0,<3.0.0) (installed: fastjsonschema 2.21.1) Handling importlib-metadata (>=4.4) ; python_version < "3.10" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: importlib-metadata (>=4.4) ; python_version < "3.10" Handling installer (>=0.7.0,<0.8.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: installer (>=0.7.0,<0.8.0) (installed: installer 0.7.0) Handling keyring (>=24.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: keyring (>=24.0.0) (installed: keyring 25.5.0) Handling packaging (>=23.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: packaging (>=23.1) (installed: packaging 24.2) Handling pexpect (>=4.7.0,<5.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pexpect (>=4.7.0,<5.0.0) (installed: pexpect 4.9.0) Handling pkginfo (>=1.12,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pkginfo (>=1.12,<2.0) (installed: pkginfo 1.12.0) Handling platformdirs (>=3.0.0,<5) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: platformdirs (>=3.0.0,<5) (installed: platformdirs 4.2.2) Handling poetry-core (==1.9.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: poetry-core (==1.9.1) (installed: poetry-core 1.9.1) Handling poetry-plugin-export (>=1.6.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: poetry-plugin-export (>=1.6.0,<2.0.0) (installed: poetry-plugin-export 1.7.1) Handling pyproject-hooks (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pyproject-hooks (>=1.0.0,<2.0.0) (installed: pyproject-hooks 1.2.0) Handling requests (>=2.26,<3.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: requests (>=2.26,<3.0) (installed: requests 2.32.3) Handling requests-toolbelt (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: requests-toolbelt (>=1.0.0,<2.0.0) (installed: requests-toolbelt 1.0.0) Handling shellingham (>=1.5,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: shellingham (>=1.5,<2.0) (installed: shellingham 1.5.4) Handling tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" Handling tomlkit (>=0.11.4,<1.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: tomlkit (>=0.11.4,<1.0.0) (installed: tomlkit 0.13.2) Handling trove-classifiers (>=2022.5.19) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: trove-classifiers (>=2022.5.19) (installed: trove-classifiers 2024.10.21.16) Handling virtualenv (>=20.26.6,<21.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: virtualenv (>=20.26.6,<21.0.0) (installed: virtualenv 20.28.1) Handling xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" + cat /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires + rm -rfv poetry-1.8.5.dist-info/ removed 'poetry-1.8.5.dist-info/entry_points.txt' removed 'poetry-1.8.5.dist-info/WHEEL' removed 'poetry-1.8.5.dist-info/METADATA' removed 'poetry-1.8.5.dist-info/LICENSE' removed directory 'poetry-1.8.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.buildreqs.nosrc.rpm INFO: Going to install missing dynamic buildrequires Updating and loading repositories: Copr repository 100% | 3.0 KiB/s | 1.5 KiB | 00m01s fedora 100% | 30.1 KiB/s | 3.2 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 4.8 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package "python-unversioned-command-3.13.1-2.fc42.noarch" is already installed. Package "gcc-15.0.0-0.2.fc42.s390x" is already installed. Package "git-core-2.47.1-1.fc42.s390x" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.s390x" is already installed. Package "python3-cachy-0.3.0-19.fc41.noarch" is already installed. Package "python3-deepdiff-8.0.1-1.fc42.noarch" is already installed. Package "python3-dulwich-0.22.1-1.fc42.s390x" is already installed. Package "python3-httpretty-1.1.4-21.fc41.noarch" is already installed. Package "python3-keyring-25.5.0-1.fc42.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-packaging-24.2-2.fc42.noarch" is already installed. Package "python3-pip-24.3.1-1.fc42.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc42.noarch" is already installed. Package "python3-poetry-core-1.9.1-1.fc42.noarch" is already installed. Package "python3-pytest-8.3.4-1.fc42.noarch" is already installed. Package "python3-pytest-mock-3.14.0-2.fc41.noarch" is already installed. Package "python3-pytest-xdist-3.6.1-4.fc41.noarch" is already installed. Package "python3-trove-classifiers-2024.10.21.16-2.fc42.noarch" is already installed. Nothing to do. Building target platforms: s390x Building for target s390x setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.01U9Wi + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + cd poetry-1.8.5 + echo pyproject-rpm-macros + echo python3-devel + echo 'python3dist(packaging)' + echo 'python3dist(pip) >= 19' + '[' -f pyproject.toml ']' + echo '(python3dist(tomli) if python3-devel < 3.11)' + rm -rfv '*.dist-info/' + '[' -f /usr/bin/python3 ']' + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none --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/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir --output /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires Handling poetry-core>=1.5.0 from build-system.requires Requirement satisfied: poetry-core>=1.5.0 (installed: poetry-core 1.9.1) Handling build (>=1.0.3,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: build (>=1.0.3,<2.0.0) (installed: build 1.2.2) Handling cachecontrol[filecache] (>=0.14.0,<0.15.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: cachecontrol[filecache] (>=0.14.0,<0.15.0) (installed: cachecontrol 0.14.1) (extras are currently not checked) Handling cleo (>=2.1.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: cleo (>=2.1.0,<3.0.0) (installed: cleo 2.1.0) Handling crashtest (>=0.4.1,<0.5.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: crashtest (>=0.4.1,<0.5.0) (installed: crashtest 0.4.1) Handling dulwich (>=0.21.2) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: dulwich (>=0.21.2) (installed: dulwich 0.22.1) Handling fastjsonschema (>=2.18.0,<3.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: fastjsonschema (>=2.18.0,<3.0.0) (installed: fastjsonschema 2.21.1) Handling importlib-metadata (>=4.4) ; python_version < "3.10" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: importlib-metadata (>=4.4) ; python_version < "3.10" Handling installer (>=0.7.0,<0.8.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: installer (>=0.7.0,<0.8.0) (installed: installer 0.7.0) Handling keyring (>=24.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: keyring (>=24.0.0) (installed: keyring 25.5.0) Handling packaging (>=23.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: packaging (>=23.1) (installed: packaging 24.2) Handling pexpect (>=4.7.0,<5.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pexpect (>=4.7.0,<5.0.0) (installed: pexpect 4.9.0) Handling pkginfo (>=1.12,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pkginfo (>=1.12,<2.0) (installed: pkginfo 1.12.0) Handling platformdirs (>=3.0.0,<5) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: platformdirs (>=3.0.0,<5) (installed: platformdirs 4.2.2) Handling poetry-core (==1.9.1) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: poetry-core (==1.9.1) (installed: poetry-core 1.9.1) Handling poetry-plugin-export (>=1.6.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: poetry-plugin-export (>=1.6.0,<2.0.0) (installed: poetry-plugin-export 1.7.1) Handling pyproject-hooks (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: pyproject-hooks (>=1.0.0,<2.0.0) (installed: pyproject-hooks 1.2.0) Handling requests (>=2.26,<3.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: requests (>=2.26,<3.0) (installed: requests 2.32.3) Handling requests-toolbelt (>=1.0.0,<2.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: requests-toolbelt (>=1.0.0,<2.0.0) (installed: requests-toolbelt 1.0.0) Handling shellingham (>=1.5,<2.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: shellingham (>=1.5,<2.0) (installed: shellingham 1.5.4) Handling tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: tomli (>=2.0.1,<3.0.0) ; python_version < "3.11" Handling tomlkit (>=0.11.4,<1.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: tomlkit (>=0.11.4,<1.0.0) (installed: tomlkit 0.13.2) Handling trove-classifiers (>=2022.5.19) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: trove-classifiers (>=2022.5.19) (installed: trove-classifiers 2024.10.21.16) Handling virtualenv (>=20.26.6,<21.0.0) from hook generated metadata: Requires-Dist (poetry) Requirement satisfied: virtualenv (>=20.26.6,<21.0.0) (installed: virtualenv 20.28.1) Handling xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" from hook generated metadata: Requires-Dist (poetry) Ignoring alien requirement: xattr (>=1.0.0,<2.0.0) ; sys_platform == "darwin" + cat /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-buildrequires + rm -rfv poetry-1.8.5.dist-info/ removed 'poetry-1.8.5.dist-info/entry_points.txt' removed 'poetry-1.8.5.dist-info/WHEEL' removed 'poetry-1.8.5.dist-info/METADATA' removed 'poetry-1.8.5.dist-info/LICENSE' removed directory 'poetry-1.8.5.dist-info/' + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.V8sOq0 + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd poetry-1.8.5 + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + LT_SYS_LIBRARY_PATH=/usr/lib64: + CC=gcc + CXX=g++ + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.pyproject-builddir + /usr/bin/python3 -Bs /usr/lib/rpm/redhat/pyproject_wheel.py /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir Processing /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5 Preparing metadata (pyproject.toml): started Running command Preparing metadata (pyproject.toml) Preparing metadata (pyproject.toml): finished with status 'done' Building wheels for collected packages: poetry Building wheel for poetry (pyproject.toml): started Running command Building wheel for poetry (pyproject.toml) Building wheel for poetry (pyproject.toml): finished with status 'done' Created wheel for poetry: filename=poetry-1.8.5-py3-none-any.whl size=249142 sha256=c6bc2bc5f57f9d62d1fe1589efb2faaa0f78344f37298641774b0aab579ba362 Stored in directory: /builddir/.cache/pip/wheels/05/20/a0/800a38547ffe44a82e8b4699c944e6cd4bbd4c68d55ae88050 Successfully built poetry + RPM_EC=0 ++ jobs -p + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.VBg4vP + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-build + '[' /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT '!=' / ']' + rm -rf /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT ++ dirname /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build + mkdir /builddir/build/BUILD/poetry-1.8.5-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd poetry-1.8.5 ++ ls /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir/poetry-1.8.5-py3-none-any.whl ++ xargs basename --multiple ++ sed -E 's/([^-]+)-([^-]+)-.+\.whl/\1==\2/' + specifier=poetry==1.8.5 + '[' -z poetry==1.8.5 ']' + TMPDIR=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.pyproject-builddir + /usr/bin/python3 -m pip install --root /builddir/build/BUILD/poetry-1.8.5-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/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir poetry==1.8.5 Using pip 24.3.1 from /usr/lib/python3.13/site-packages/pip (python 3.13) Looking in links: /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/pyproject-wheeldir Processing ./pyproject-wheeldir/poetry-1.8.5-py3-none-any.whl Installing collected packages: poetry Creating /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin changing mode of /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry to 755 Successfully installed poetry-1.8.5 + '[' -d /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin ']' + '[' -z sP ']' + shebang_flags=-kasP + /usr/bin/python3 -B /usr/lib/rpm/redhat/pathfix.py -pni /usr/bin/python3 -kasP /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry: updating + rm -rfv /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/__pycache__ + rm -f /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-ghost-distinfo + site_dirs=() + '[' -d /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + site_dirs+=("/usr/lib/python3.13/site-packages") + '[' /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib64/python3.13/site-packages '!=' /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages ']' + '[' -d /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib64/python3.13/site-packages ']' + for site_dir in ${site_dirs[@]} + for distinfo in /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT$site_dir/*.dist-info + echo '%ghost /usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info' + sed -i s/pip/rpm/ /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/INSTALLER + PYTHONPATH=/usr/lib/rpm/redhat + /usr/bin/python3 -B /usr/lib/rpm/redhat/pyproject_preprocess_record.py --buildroot /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT --record /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/RECORD --output /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-record + rm -fv /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/RECORD removed '/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/RECORD' + rm -fv /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/REQUESTED removed '/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry-1.8.5.dist-info/REQUESTED' ++ wc -l /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-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/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-files --output-modules /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-modules --buildroot /builddir/build/BUILD/poetry-1.8.5-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/poetry-1.8.5-build/poetry-1.8.5-1.fc42.s390x-pyproject-record --prefix /usr poetry + export PYTHONPATH=/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONPATH=/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages + for i in bash,bash-completion/completions,poetry fish,fish/vendor_completions.d,poetry.fish zsh,zsh/site-functions,_poetry + IFS=, + set -- bash bash-completion/completions poetry + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/share/bash-completion/completions + /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry completions bash + sed 's|/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT||g' + for i in bash,bash-completion/completions,poetry fish,fish/vendor_completions.d,poetry.fish zsh,zsh/site-functions,_poetry + IFS=, + set -- fish fish/vendor_completions.d poetry.fish + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/share/fish/vendor_completions.d + /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry completions fish + sed 's|/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT||g' + for i in bash,bash-completion/completions,poetry fish,fish/vendor_completions.d,poetry.fish zsh,zsh/site-functions,_poetry + IFS=, + set -- zsh zsh/site-functions _poetry + mkdir -p /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/share/zsh/site-functions + /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin/poetry completions zsh + sed 's|/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT||g' + /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 -j2 Bytecompiling .py files below /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13 using python3.13 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/bin/add-determinism --brp -j2 /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/config_source.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/dict_config_source.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/file_config_source.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/config.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/cache/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/config/__pycache__/source.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/cache/__pycache__/list.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/debug/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/cache/__pycache__/clear.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/debug/__pycache__/info.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/debug/__pycache__/resolve.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/env/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/env/__pycache__/info.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/env/__pycache__/list.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/env/__pycache__/remove.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/debug/__pycache__/resolve.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/env/__pycache__/use.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/show/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/show/__pycache__/plugins.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/show/__pycache__/plugins.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/add.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/lock.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/remove.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/install.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/update.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/self_command.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/update.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/source/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/self/__pycache__/self_command.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/source/__pycache__/add.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/source/__pycache__/remove.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/source/__pycache__/show.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/about.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/build.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/add.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/command.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/check.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/env_command.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/export.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/config.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/group_command.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/install.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/installer_command.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/lock.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/new.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/init.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/publish.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/remove.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/search.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/run.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/shell.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/update.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/version.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/add.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/show.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/config.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/command.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/env_command.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/installer_command.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/remove.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/shell.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/events/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/events/__pycache__/console_events.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/io/inputs/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/__pycache__/version.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/io/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/formatters/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/formatters/__pycache__/builder_formatter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/io/inputs/__pycache__/run_argv_input.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/formatters/__pycache__/formatter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/__pycache__/filters.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/__pycache__/io_handler.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/logging/__pycache__/io_formatter.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/__pycache__/command_loader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/__pycache__/application.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/__pycache__/application.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/__pycache__/info.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/__pycache__/lazy_wheel.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/operations/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/operations/__pycache__/install.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/operations/__pycache__/operation.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/__pycache__/lazy_wheel.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/operations/__pycache__/uninstall.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/operations/__pycache__/update.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/chooser.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/chef.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/installer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/wheel_installer.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/executor.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/chooser.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/json/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/layouts/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/layouts/__pycache__/layout.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/layouts/__pycache__/src.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/layouts/__pycache__/standard.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/layouts/__pycache__/layout.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/masonry/builders/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/__pycache__/executor.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/masonry/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/masonry/__pycache__/api.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/providers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/providers/__pycache__/python_requirement_solution_provider.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/solutions/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/solutions/__pycache__/python_requirement_solution.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/solutions/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/masonry/builders/__pycache__/editable.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/assignment.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/failure.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/incompatibility_cause.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/incompatibility.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/result.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/set_relation.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/partial_solution.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/term.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/failure.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/incompatibility.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/partial_solution.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/version_solver.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/mixology/__pycache__/version_solver.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/dependency_package.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/direct_origin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/package_collection.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/locker.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/packages/__pycache__/locker.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/application_plugin.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/base_plugin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/plugin.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/application_plugin.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/__pycache__/publisher.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/plugins/__pycache__/plugin_manager.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/provider.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/solver.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/transaction.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/__pycache__/uploader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/pyproject/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/pyproject/__pycache__/toml.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/pyproject/__pycache__/toml.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/link_sources/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/link_sources/__pycache__/base.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/link_sources/__pycache__/html.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/link_sources/__pycache__/json.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/parsers/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/parsers/__pycache__/html_page_parser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/parsers/__pycache__/pypi_search_parser.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/puzzle/__pycache__/provider.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/abstract_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/cached_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/installed_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/http_repository.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/lockfile_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/legacy_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/pypi_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/single_page_repository.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/repository_pool.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/toml/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/toml/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/__pycache__/http_repository.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/toml/__pycache__/file.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/base_env.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/generic_env.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/mock_env.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/null_env.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/script_strings.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/env_manager.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/site_packages.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/system_env.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/virtual_env.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/site_packages.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/virtual_env.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/base_env.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/_compat.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/authenticator.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/env/__pycache__/env_manager.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/constants.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/dependency_specification.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/extras.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/cache.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/helpers.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/patterns.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/pip.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/setup_reader.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/shell.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/source.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/wheel.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/password_manager.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/dependency_specification.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/cache.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/vcs/git/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/__pycache__/helpers.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/vcs/git/__pycache__/system.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/vcs/git/__pycache__/backend.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/vcs/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/version/__pycache__/__init__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/version/__pycache__/version_selector.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/__main__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/__version__.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/exceptions.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/factory.cpython-313.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/locations.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/vcs/git/__pycache__/backend.cpython-313.opt-1.pyc: replacing with normalized version /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/poetry.cpython-313.pyc: rewriting with normalized contents /builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/__pycache__/factory.cpython-313.opt-1.pyc: replacing with normalized version Scanned 95 directories and 572 files, processed 223 inodes, 223 modified (72 replaced + 151 rewritten), 0 unsupported format, 0 errors Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.rpHps1 + umask 022 + cd /builddir/build/BUILD/poetry-1.8.5-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --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 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + CC=gcc + export CC + CXX=g++ + export CXX + cd poetry-1.8.5 + 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 -m64 -march=z13 -mtune=z14 -fasynchronous-unwind-tables -fstack-clash-protection ' + 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 -specs=/usr/lib/rpm/redhat/redhat-package-notes ' + PATH=/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin + PYTHONPATH=/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib64/python3.13/site-packages:/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages + PYTHONDONTWRITEBYTECODE=1 + PYTEST_ADDOPTS=' --ignore=/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/.pyproject-builddir' + PYTEST_XDIST_AUTO_NUM_WORKERS=2 + /usr/bin/pytest -m 'not network' -k 'not test_add_git_constraint_with_extras' ============================= test session starts ============================== platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 rootdir: /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5 configfile: pyproject.toml testpaths: tests plugins: mock-3.14.0, xdist-3.6.1 created: 2/2 workers 2 workers [1617 items] ........................................................................ [ 4%] ........................................................................ [ 8%] ........................................................................ [ 13%] ........................................................................ [ 17%] ........................................................................ [ 22%] ........................................................................ [ 26%] ......FF...F.F......F.FF.F.F.F..F.F..F.F.F.F..F.sFF.FF.F.FFF............ [ 31%] .......F.........F..F...F..F.F..F.F..F.F..F..F.F..F.F..F..F..F.F..F.F..F [ 35%] .F..F.FF.F.F.F.F...F...............F..............Fs...F.F.............. [ 40%] .......................F.................F.............................. [ 44%] ..........F...F......F...F......FFFFFFFFFFFFFFFFFFFFFFFFFFFF............ [ 48%] ....................F......F..........................F................. [ 53%] ........................................................................ [ 57%] .........................................................s.............. [ 62%] ........................................................................ [ 66%] ........................................................s............... [ 71%] ............................................F.........F..F..F.F..FF.F... [ 75%] ........................................................................ [ 80%] ........................................................................ [ 84%] ...............s........................................F.FF.F.F.F.s...F [ 89%] ..FFFF..FFFFFFFFFFFFF..................F...F............F............... [ 93%] .F..........FF....F...........F................F...............F.F...... [ 97%] ................................. [100%] =================================== FAILURES =================================== _____________ test_publish_returns_non_zero_code_for_upload_errors _____________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 app = app_tester = http = def test_publish_returns_non_zero_code_for_upload_errors( app: PoetryTestApplication, app_tester: ApplicationTester, http: type[httpretty.httpretty], ) -> None: http.register_uri( http.POST, "https://upload.pypi.org/legacy/", status=400, body="Bad Request" ) exit_code = app_tester.execute("publish --username foo --password bar") assert exit_code == 1 expected_output = """ Publishing simple-project (1.2.3) to PyPI """ expected_error_output = """\ HTTP Error 400: Bad Request | b'Bad Request' """ assert expected_output in app_tester.io.fetch_output() > assert expected_error_output in app_tester.io.fetch_error() E assert "HTTP Error 400: Bad Request | b'Bad Request'\n" in ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\n - Uploading simple_project-1.2.3-py2.py3-none-any.whl 100...True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\n - Uploading simple_project-1.2.3-py2.py3-none-any.whl 100...True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' = fetch_error() E + where fetch_error = .fetch_error E + where = .io tests/console/commands/test_publish.py:65: AssertionError ___________ test_publish_returns_non_zero_code_for_connection_errors ___________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 app = app_tester = http = @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") def test_publish_returns_non_zero_code_for_connection_errors( app: PoetryTestApplication, app_tester: ApplicationTester, http: type[httpretty.httpretty], ) -> None: def request_callback(*_: Any, **__: Any) -> None: raise requests.ConnectionError() http.register_uri( http.POST, "https://upload.pypi.org/legacy/", body=request_callback ) exit_code = app_tester.execute("publish --username foo --password bar") assert exit_code == 1 expected = str(UploadError(error=requests.ConnectionError())) > assert expected in app_tester.io.fetch_error() E AssertionError: assert 'Connection Error: We were unable to connect to the repository, ensure the url is correct and can be reached.' in ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\n - Uploading simple_project-1.2.3-py2.py3-none-any.whl 100...True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\n - Uploading simple_project-1.2.3-py2.py3-none-any.whl 100...True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' = fetch_error() E + where fetch_error = .fetch_error E + where = .io tests/console/commands/test_publish.py:87: AssertionError _____________ test_publish_dry_run_skip_existing[--skip-existing] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 app_tester = http = options = '--skip-existing' @pytest.mark.parametrize( "options", [ "--dry-run", "--skip-existing", "--dry-run --skip-existing", ], ) def test_publish_dry_run_skip_existing( app_tester: ApplicationTester, http: type[httpretty.httpretty], options: str ) -> None: http.register_uri( http.POST, "https://upload.pypi.org/legacy/", status=409, body="Conflict" ) exit_code = app_tester.execute(f"publish {options} --username foo --password bar") > assert exit_code == 0 E assert 1 == 0 tests/console/commands/test_publish.py:130: AssertionError __________________________ test_skip_existing_output ___________________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 app_tester = http = def test_skip_existing_output( app_tester: ApplicationTester, http: type[httpretty.httpretty] ) -> None: http.register_uri( http.POST, "https://upload.pypi.org/legacy/", status=409, body="Conflict" ) exit_code = app_tester.execute( "publish --skip-existing --username foo --password bar" ) > assert exit_code == 0 E assert 1 == 0 tests/console/commands/test_publish.py:151: AssertionError ______________________ test_metadata_from_wheel_url[None] ______________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-0.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff8daf5bc0> negative_offset_error = None @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error1] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-404.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-404.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff8663b380> negative_offset_error = (404, b'Not found') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-404.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-404.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error2] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-405.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-405.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff866385e0> negative_offset_error = (405, b'Method not allowed') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-405.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-405.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error3] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-416.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff866396c0> negative_offset_error = (416, b'Requested range not satisfiable') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error4] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-500.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff85945620> negative_offset_error = (500, b'Internal server error') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error5] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-501.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-501.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff85945a80> negative_offset_error = (501, b'Unsupported client range') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-501.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-501.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error6] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel--1.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel--1.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff859cdd00> negative_offset_error = (, b'handle negative offset as positive') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel--1.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel--1.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url[negative_offset_error7] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel--2.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel--2.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff86368400> negative_offset_error = (, b'one more byte than requested') @pytest.mark.parametrize( "negative_offset_error", [ None, (codes.not_found, b"Not found"), # Nexus (codes.method_not_allowed, b"Method not allowed"), (codes.requested_range_not_satisfiable, b"Requested range not satisfiable"), (codes.internal_server_error, b"Internal server error"), # GAR (codes.not_implemented, b"Unsupported client range"), # PyPI (NegativeOffsetFailure.as_positive, b"handle negative offset as positive"), (NegativeOffsetFailure.one_more, b"one more byte than requested"), ], ) def test_metadata_from_wheel_url( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, negative_offset_error: tuple[int, bytes] | None, ) -> None: # negative offsets supported: # 1. end of central directory # 2. whole central directory # 3. METADATA file # negative offsets not supported: # 1. failed range request # 2. HEAD request # 3.-5. see negative offsets 1.-3. expected_requests = 3 if negative_offset_error: if negative_offset_error[0] in { codes.requested_range_not_satisfiable, NegativeOffsetFailure.as_positive, NegativeOffsetFailure.one_more, }: expected_requests += 1 else: expected_requests += 2 > assert_metadata_from_wheel_url( negative_offset_error=negative_offset_error, expected_requests=expected_requests ) tests/inspection/test_lazy_wheel.py:265: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel--2.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel--2.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError ____________ test_metadata_from_wheel_url_416_missing_content_range ____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("lazy-wheel-416.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff8636af20> def test_metadata_from_wheel_url_416_missing_content_range( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, ) -> None: def request_callback_wrapper( request_callback: HTTPrettyRequestCallback, ) -> HTTPrettyRequestCallback: def _wrapped( request: HTTPrettyRequest, uri: str, response_headers: dict[str, Any] ) -> HTTPrettyResponse: status_code, response_headers, body = request_callback( request, uri, response_headers ) return ( status_code, { header: response_headers[header] for header in response_headers if header.lower() != "content-range" }, body, ) return _wrapped > assert_metadata_from_wheel_url( negative_offset_error=( codes.requested_range_not_satisfiable, b"Requested range not satisfiable", ), expected_requests=5, request_callback_wrapper=request_callback_wrapper, ) tests/inspection/test_lazy_wheel.py:300: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://lazy-wheel-416.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError __________________ test_metadata_from_wheel_url_with_redirect __________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://redirect.lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("redirect.lazy-wheel-0.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff8636a0c0> def test_metadata_from_wheel_url_with_redirect( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, ) -> None: > assert_metadata_from_wheel_url( negative_offset_error=None, expected_requests=6, redirect=True, ) tests/inspection/test_lazy_wheel.py:313: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://redirect.lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://redirect.lazy-wheel-0.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____________ test_metadata_from_wheel_url_with_redirect_after_500 _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://redirect.lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("redirect.lazy-wheel-500.com:443") name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: assert_metadata_from_wheel_url = ._assertion at 0x3ff86368fe0> def test_metadata_from_wheel_url_with_redirect_after_500( assert_metadata_from_wheel_url: AssertMetadataFromWheelUrl, ) -> None: > assert_metadata_from_wheel_url( negative_offset_error=(codes.internal_server_error, b"Internal server error"), expected_requests=10, redirect=True, ) tests/inspection/test_lazy_wheel.py:323: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/inspection/test_lazy_wheel.py:215: in _assertion metadata = metadata_from_wheel_url("poetry-core", url, requests.Session()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://redirect.lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://redirect.lazy-wheel-500.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _____ test_metadata_from_wheel_url_smaller_than_initial_chunk_size[None-1] _____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'zipp', url = 'https://tiny-wheel-none.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("tiny-wheel-none.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff863696c0> negative_offset_failure = None, expected_requests = 1 @pytest.mark.parametrize( ("negative_offset_failure", "expected_requests"), [ (None, 1), (NegativeOffsetFailure.as_positive, 1), (NegativeOffsetFailure.one_more, 2), ], ) def test_metadata_from_wheel_url_smaller_than_initial_chunk_size( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, negative_offset_failure: NegativeOffsetFailure | None, expected_requests: int, ) -> None: domain = f"tiny-wheel-{str(negative_offset_failure).casefold()}.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( negative_offset_error=( (negative_offset_failure, b"") if negative_offset_failure else None ) ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/zipp-3.5.0-py3-none-any.whl" > metadata = metadata_from_wheel_url("zipp", url, requests.Session()) tests/inspection/test_lazy_wheel.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'zipp', url = 'https://tiny-wheel-none.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for zipp from https://tiny-wheel-none.com/zipp-3.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError ______ test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-1-1] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'zipp', url = 'https://tiny-wheel--1.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("tiny-wheel--1.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff8636ad40> negative_offset_failure = expected_requests = 1 @pytest.mark.parametrize( ("negative_offset_failure", "expected_requests"), [ (None, 1), (NegativeOffsetFailure.as_positive, 1), (NegativeOffsetFailure.one_more, 2), ], ) def test_metadata_from_wheel_url_smaller_than_initial_chunk_size( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, negative_offset_failure: NegativeOffsetFailure | None, expected_requests: int, ) -> None: domain = f"tiny-wheel-{str(negative_offset_failure).casefold()}.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( negative_offset_error=( (negative_offset_failure, b"") if negative_offset_failure else None ) ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/zipp-3.5.0-py3-none-any.whl" > metadata = metadata_from_wheel_url("zipp", url, requests.Session()) tests/inspection/test_lazy_wheel.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'zipp', url = 'https://tiny-wheel--1.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for zipp from https://tiny-wheel--1.com/zipp-3.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError ______ test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-2-2] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'zipp', url = 'https://tiny-wheel--2.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("tiny-wheel--2.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff8636a2a0> negative_offset_failure = expected_requests = 2 @pytest.mark.parametrize( ("negative_offset_failure", "expected_requests"), [ (None, 1), (NegativeOffsetFailure.as_positive, 1), (NegativeOffsetFailure.one_more, 2), ], ) def test_metadata_from_wheel_url_smaller_than_initial_chunk_size( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, negative_offset_failure: NegativeOffsetFailure | None, expected_requests: int, ) -> None: domain = f"tiny-wheel-{str(negative_offset_failure).casefold()}.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( negative_offset_error=( (negative_offset_failure, b"") if negative_offset_failure else None ) ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/zipp-3.5.0-py3-none-any.whl" > metadata = metadata_from_wheel_url("zipp", url, requests.Session()) tests/inspection/test_lazy_wheel.py:356: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'zipp', url = 'https://tiny-wheel--2.com/zipp-3.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for zipp from https://tiny-wheel--2.com/zipp-3.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _ test_metadata_from_wheel_url_range_requests_not_supported_one_request[None] __ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("no-range-requests.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff859776a0> accept_ranges = None @pytest.mark.parametrize("accept_ranges", [None, "none"]) def test_metadata_from_wheel_url_range_requests_not_supported_one_request( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, accept_ranges: str | None, ) -> None: domain = "no-range-requests.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory(accept_ranges=accept_ranges) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/poetry_core-1.5.0-py3-none-any.whl" with pytest.raises(HTTPRangeRequestUnsupported): > metadata_from_wheel_url("poetry-core", url, requests.Session()) tests/inspection/test_lazy_wheel.py:382: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _ test_metadata_from_wheel_url_range_requests_not_supported_one_request[none] __ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("no-range-requests.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff859763e0> accept_ranges = 'none' @pytest.mark.parametrize("accept_ranges", [None, "none"]) def test_metadata_from_wheel_url_range_requests_not_supported_one_request( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, accept_ranges: str | None, ) -> None: domain = "no-range-requests.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory(accept_ranges=accept_ranges) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/poetry_core-1.5.0-py3-none-any.whl" with pytest.raises(HTTPRangeRequestUnsupported): > metadata_from_wheel_url("poetry-core", url, requests.Session()) tests/inspection/test_lazy_wheel.py:382: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://no-range-requests.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _ test_metadata_from_wheel_url_range_requests_not_supported_two_requests[negative_offset_error0] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://no-negative-offsets-405.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("no-negative-offsets-405.com:443") name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff85974b80> negative_offset_error = (405, b'Method not allowed') @pytest.mark.parametrize( "negative_offset_error", [ (codes.method_not_allowed, b"Method not allowed"), (codes.not_implemented, b"Unsupported client range"), ], ) def test_metadata_from_wheel_url_range_requests_not_supported_two_requests( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, negative_offset_error: tuple[int, bytes], ) -> None: domain = f"no-negative-offsets-{negative_offset_error[0]}.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( accept_ranges=None, negative_offset_error=negative_offset_error ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/poetry_core-1.5.0-py3-none-any.whl" with pytest.raises(HTTPRangeRequestUnsupported): > metadata_from_wheel_url("poetry-core", url, requests.Session()) tests/inspection/test_lazy_wheel.py:412: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://no-negative-offsets-405.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://no-negative-offsets-405.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _ test_metadata_from_wheel_url_range_requests_not_supported_two_requests[negative_offset_error1] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://no-negative-offsets-501.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("no-negative-offsets-501.com:443") name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff85975f80> negative_offset_error = (501, b'Unsupported client range') @pytest.mark.parametrize( "negative_offset_error", [ (codes.method_not_allowed, b"Method not allowed"), (codes.not_implemented, b"Unsupported client range"), ], ) def test_metadata_from_wheel_url_range_requests_not_supported_two_requests( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, negative_offset_error: tuple[int, bytes], ) -> None: domain = f"no-negative-offsets-{negative_offset_error[0]}.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( accept_ranges=None, negative_offset_error=negative_offset_error ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/poetry_core-1.5.0-py3-none-any.whl" with pytest.raises(HTTPRangeRequestUnsupported): > metadata_from_wheel_url("poetry-core", url, requests.Session()) tests/inspection/test_lazy_wheel.py:412: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://no-negative-offsets-501.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://no-negative-offsets-501.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError ___ test_metadata_from_wheel_url_range_requests_supported_but_not_respected ____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'poetry-core' url = 'https://range-requests-not-respected.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("range-requests-not-respected.com:443") name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff859753a0> def test_metadata_from_wheel_url_range_requests_supported_but_not_respected( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, ) -> None: domain = "range-requests-not-respected.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory( negative_offset_error=(codes.method_not_allowed, b"Method not allowed"), ignore_accept_ranges=True, ) http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/poetry_core-1.5.0-py3-none-any.whl" with pytest.raises(HTTPRangeRequestNotRespected): > metadata_from_wheel_url("poetry-core", url, requests.Session()) tests/inspection/test_lazy_wheel.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'poetry-core' url = 'https://range-requests-not-respected.com/poetry_core-1.5.0-py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for poetry-core from https://range-requests-not-respected.com/poetry_core-1.5.0-py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError _________________________________ test_search __________________________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 tester = http = def test_search(tester: CommandTester, http: type[httpretty.httpretty]) -> None: > tester.execute("sqlalchemy") tests/console/commands/test_search.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.13/site-packages/cleo/testers/command_tester.py:88: in execute self._status_code = self._command.run(self._io) /usr/lib/python3.13/site-packages/cleo/commands/base_command.py:117: in run return self.execute(io) or 0 /usr/lib/python3.13/site-packages/cleo/commands/command.py:61: in execute return self.handle() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/console/commands/search.py:17: in handle results = PyPiRepository().search(self.argument("tokens")) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:56: in search response = requests.get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________________ test_metadata_from_wheel_url_invalid_wheel __________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 name = 'demo-missing-dist-info' url = 'https://invalid-wheel.com/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. > with LazyWheelOverHTTP(url, session) as lazy_file: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:316: in __enter__ self._setup_content() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:384: in _setup_content self._length = self._fetch_content_length() ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:542: in _fetch_content_length ret_length, tail = self._extract_content_length(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:649: in _extract_content_length file_length, tail = self._try_initial_chunk_request(initial_chunk_size) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:606: in _try_initial_chunk_request tail = self._session.get(self._url, headers=headers, stream=True) /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get return self.request("GET", url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("invalid-wheel.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError The above exception was the direct cause of the following exception: http = handle_request_factory = ._factory at 0x3ff863696c0> def test_metadata_from_wheel_url_invalid_wheel( http: type[httpretty.httpretty], handle_request_factory: RequestCallbackFactory, ) -> None: domain = "invalid-wheel.com" uri_regex = re.compile(f"^https://{domain}/.*$") request_callback = handle_request_factory() http.register_uri(http.GET, uri_regex, body=request_callback) http.register_uri(http.HEAD, uri_regex, body=request_callback) url = f"https://{domain}/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl" with pytest.raises(InvalidWheel): > metadata_from_wheel_url("demo-missing-dist-info", url, requests.Session()) tests/inspection/test_lazy_wheel.py:458: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ name = 'demo-missing-dist-info' url = 'https://invalid-wheel.com/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl' session = def metadata_from_wheel_url( name: str, url: str, session: Session | Authenticator ) -> RawMetadata: """Fetch metadata from the given wheel URL. This uses HTTP range requests to only fetch the portion of the wheel containing metadata, just enough for the object to be constructed. :raises HTTPRangeRequestUnsupported: if range requests are unsupported for ``url``. :raises InvalidWheel: if the zip file contents could not be parsed. """ try: # After context manager exit, wheel.name will point to a deleted file path. # Add `delete_backing_file=False` to disable this for debugging. with LazyWheelOverHTTP(url, session) as lazy_file: metadata_bytes = lazy_file.read_metadata(name) metadata, _ = parse_email(metadata_bytes) return metadata except (BadZipFile, UnsupportedWheel): # We assume that these errors have occurred because the wheel contents # themselves are invalid, not because we've messed up our bookkeeping # and produced an invalid file. raise InvalidWheel(url, name) except Exception as e: if isinstance(e, LazyWheelUnsupportedError): # this is expected when the code handles issues with lazy wheel metadata retrieval correctly raise e logger.debug( "There was an unexpected %s when handling lazy wheel metadata retrieval for %s from %s: %s", type(e).__name__, name, url, e, ) # Catch all exception to handle any issues that may have occurred during # attempts to use Lazy Wheel. > raise LazyWheelUnsupportedError( f"Attempts to use lazy wheel metadata retrieval for {name} from {url} failed" ) from e E poetry.inspection.lazy_wheel.LazyWheelUnsupportedError: Attempts to use lazy wheel metadata retrieval for demo-missing-dist-info from https://invalid-wheel.com/demo_missing_dist_info-0.1.0-py2.py3-none-any.whl failed ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/inspection/lazy_wheel.py:112: LazyWheelUnsupportedError ______________________ test_isolated_env_install_success _______________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 pool = mock_file_downloads = None def test_isolated_env_install_success( pool: RepositoryPool, mock_file_downloads: None ) -> None: with ephemeral_environment(Path(sys.executable)) as venv: env = IsolatedEnv(venv, pool) assert "poetry-core" not in venv.run("pip", "freeze") > env.install({"poetry-core"}) tests/installation/test_chef.py:59: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = requirements = {'poetry-core'} def install(self, requirements: Collection[str]) -> None: from cleo.io.buffered_io import BufferedIO from poetry.core.packages.dependency import Dependency from poetry.core.packages.project_package import ProjectPackage from poetry.config.config import Config from poetry.installation.installer import Installer from poetry.packages.locker import Locker from poetry.repositories.installed_repository import InstalledRepository # We build Poetry dependencies from the requirements package = ProjectPackage("__root__", "0.0.0") package.python_versions = ".".join(str(v) for v in self._env.version_info[:3]) for requirement in requirements: dependency = Dependency.create_from_pep_508(requirement) package.add_dependency(dependency) io = BufferedIO() installer = Installer( io, self._env, package, Locker(self._env.path.joinpath("poetry.lock"), {}), self._pool, Config.create(), InstalledRepository.load(self._env), ) installer.update(True) if installer.run() != 0: > raise ChefInstallError(requirements, io.fetch_output(), io.fetch_error()) E poetry.installation.chef.ChefInstallError: Failed to install poetry-core. E E Output: E Updating dependencies E Resolving dependencies... E E Package operations: 1 install, 0 updates, 0 removals E E - Installing poetry-core (1.5.0) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install poetry-core. E E E E Error: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:102: ChefInstallError ______________________________ test_prepare_sdist ______________________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_prepare_sdist0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None def test_prepare_sdist( config: Config, config_cache_dir: Path, artifact_cache: ArtifactCache, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: chef = Chef( artifact_cache, EnvManager.get_system_env(), Factory.create_pool(config) ) archive = (fixture_dir("distributions") / "demo-0.1.0.tar.gz").resolve() destination = artifact_cache.get_cache_directory_for_link(Link(archive.as_uri())) > wheel = chef.prepare(archive) tests/installation/test_chef.py:103: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:123: in prepare return self._prepare_sdist(archive, destination=output_dir) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:194: in _prepare_sdist return self._prepare( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:135: in _prepare env.install(builder.build_system_requires) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = requirements = {'poetry-core>=1.1.0rc1'} def install(self, requirements: Collection[str]) -> None: from cleo.io.buffered_io import BufferedIO from poetry.core.packages.dependency import Dependency from poetry.core.packages.project_package import ProjectPackage from poetry.config.config import Config from poetry.installation.installer import Installer from poetry.packages.locker import Locker from poetry.repositories.installed_repository import InstalledRepository # We build Poetry dependencies from the requirements package = ProjectPackage("__root__", "0.0.0") package.python_versions = ".".join(str(v) for v in self._env.version_info[:3]) for requirement in requirements: dependency = Dependency.create_from_pep_508(requirement) package.add_dependency(dependency) io = BufferedIO() installer = Installer( io, self._env, package, Locker(self._env.path.joinpath("poetry.lock"), {}), self._pool, Config.create(), InstalledRepository.load(self._env), ) installer.update(True) if installer.run() != 0: > raise ChefInstallError(requirements, io.fetch_output(), io.fetch_error()) E poetry.installation.chef.ChefInstallError: Failed to install poetry-core>=1.1.0rc1. E E Output: E Updating dependencies E Resolving dependencies... E E Package operations: 1 install, 0 updates, 0 removals E E - Installing poetry-core (1.5.0) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install poetry-core. E E E E Error: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:102: ChefInstallError ____________________________ test_prepare_directory ____________________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_prepare_directory0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None def test_prepare_directory( config: Config, config_cache_dir: Path, artifact_cache: ArtifactCache, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: chef = Chef( artifact_cache, EnvManager.get_system_env(), Factory.create_pool(config) ) archive = fixture_dir("simple_project").resolve() > wheel = chef.prepare(archive) tests/installation/test_chef.py:121: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:121: in prepare return self._prepare(archive, destination=destination, editable=editable) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:135: in _prepare env.install(builder.build_system_requires) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = requirements = {'poetry-core>=1.1.0a7'} def install(self, requirements: Collection[str]) -> None: from cleo.io.buffered_io import BufferedIO from poetry.core.packages.dependency import Dependency from poetry.core.packages.project_package import ProjectPackage from poetry.config.config import Config from poetry.installation.installer import Installer from poetry.packages.locker import Locker from poetry.repositories.installed_repository import InstalledRepository # We build Poetry dependencies from the requirements package = ProjectPackage("__root__", "0.0.0") package.python_versions = ".".join(str(v) for v in self._env.version_info[:3]) for requirement in requirements: dependency = Dependency.create_from_pep_508(requirement) package.add_dependency(dependency) io = BufferedIO() installer = Installer( io, self._env, package, Locker(self._env.path.joinpath("poetry.lock"), {}), self._pool, Config.create(), InstalledRepository.load(self._env), ) installer.update(True) if installer.run() != 0: > raise ChefInstallError(requirements, io.fetch_output(), io.fetch_error()) E poetry.installation.chef.ChefInstallError: Failed to install poetry-core>=1.1.0a7. E E Output: E Updating dependencies E Resolving dependencies... E E Package operations: 1 install, 0 updates, 0 removals E E - Installing poetry-core (1.5.0) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install poetry-core. E E E E Error: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:102: ChefInstallError _______________________ test_prepare_directory_editable ________________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_prepare_directory_editabl0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None def test_prepare_directory_editable( config: Config, config_cache_dir: Path, artifact_cache: ArtifactCache, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: chef = Chef( artifact_cache, EnvManager.get_system_env(), Factory.create_pool(config) ) archive = fixture_dir("simple_project").resolve() > wheel = chef.prepare(archive, editable=True) tests/installation/test_chef.py:162: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:121: in prepare return self._prepare(archive, destination=destination, editable=editable) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:135: in _prepare env.install(builder.build_system_requires) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = requirements = {'poetry-core>=1.1.0a7'} def install(self, requirements: Collection[str]) -> None: from cleo.io.buffered_io import BufferedIO from poetry.core.packages.dependency import Dependency from poetry.core.packages.project_package import ProjectPackage from poetry.config.config import Config from poetry.installation.installer import Installer from poetry.packages.locker import Locker from poetry.repositories.installed_repository import InstalledRepository # We build Poetry dependencies from the requirements package = ProjectPackage("__root__", "0.0.0") package.python_versions = ".".join(str(v) for v in self._env.version_info[:3]) for requirement in requirements: dependency = Dependency.create_from_pep_508(requirement) package.add_dependency(dependency) io = BufferedIO() installer = Installer( io, self._env, package, Locker(self._env.path.joinpath("poetry.lock"), {}), self._pool, Config.create(), InstalledRepository.load(self._env), ) installer.update(True) if installer.run() != 0: > raise ChefInstallError(requirements, io.fetch_output(), io.fetch_error()) E poetry.installation.chef.ChefInstallError: Failed to install poetry-core>=1.1.0a7. E E Output: E Updating dependencies E Resolving dependencies... E E Package operations: 1 install, 0 updates, 0 removals E E - Installing poetry-core (1.5.0) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install poetry-core. E E E E Error: ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chef.py:102: ChefInstallError ___________ test_chooser_chooses_universal_wheel_link_if_available[] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_universal_wheel_link_if_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:148: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________ test_chooser_chooses_universal_wheel_link_if_available[legacy] ________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_universal_wheel_link_if_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:148: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________ test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = policy = ':all:', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] ___ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] ____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________ test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] __________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] _______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] ________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = policy = ':all:', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] _______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ____ test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] ____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' config = @pytest.mark.parametrize( ("policy", "filename"), [ (":all:", "pytest-3.5.0.tar.gz"), (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), ("black", "pytest-3.5.0-py2.py3-none-any.whl"), ("pytest", "pytest-3.5.0.tar.gz"), ("pytest,black", "pytest-3.5.0.tar.gz"), ], ) @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_no_binary_policy( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, policy: str, filename: str, config: Config, ) -> None: config.merge({"installer": {"no-binary": policy.split(",")}}) chooser = Chooser(pool, env, config) package = Package("pytest", "3.5.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_chooser_chooses_specific_python_universal_wheel_link_if_available[] ___ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_specific_python_universal_wheel_link_if_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_specific_python_universal_wheel_link_if_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:213: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________ test_chooser_chooses_system_specific_wheel_link_if_available[] ________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_system_specific_wheel_link_if_available( mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool ) -> None: env = MockEnv( supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] ) chooser = Chooser(pool, env) package = Package("pyyaml", "3.13.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_chooser_chooses_system_specific_wheel_link_if_available[legacy] _____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_pypi = None, mock_legacy = None, source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_system_specific_wheel_link_if_available( mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool ) -> None: env = MockEnv( supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] ) chooser = Chooser(pool, env) package = Package("pyyaml", "3.13.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ____ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] _____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("pyyaml", "3.13.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:262: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] __ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("pyyaml", "3.13.0") if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) > link = chooser.choose_for(package) tests/installation/test_chooser.py:262: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______ test_chooser_chooses_distributions_that_match_the_package_hashes[] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_distributions_that_match_the_package_hashes( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") files = [ { "hash": ( "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" ), "filename": "isort-4.3.4.tar.gz", } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files > link = chooser.choose_for(package) tests/installation/test_chooser.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] ___ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_distributions_that_match_the_package_hashes( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") files = [ { "hash": ( "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8" ), "filename": "isort-4.3.4.tar.gz", } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files > link = chooser.choose_for(package) tests/installation/test_chooser.py:297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________________ test_chooser_chooses_yanked_if_no_others[] __________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_yanked_if_no_others( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("black", "21.11b0") files = [ { "filename": "black-21.11b0-py3-none-any.whl", "hash": ( "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117" ), } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files > link = chooser.choose_for(package) tests/installation/test_chooser.py:332: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_chooser_chooses_yanked_if_no_others[legacy] _______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_chooses_yanked_if_no_others( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("black", "21.11b0") files = [ { "filename": "black-21.11b0-py3-none-any.whl", "hash": ( "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117" ), } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files > link = chooser.choose_for(package) tests/installation/test_chooser.py:332: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________________ test_chooser_does_not_choose_yanked_if_others _________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_legacy = None, mock_legacy_partial_yank = None pool = def test_chooser_does_not_choose_yanked_if_others( mock_legacy: None, mock_legacy_partial_yank: None, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, MockEnv(supported_tags=[Tag("py2", "none", "any")])) package = Package("futures", "3.2.0") files = [ { "filename": "futures-3.2.0-py2-none-any.whl", "hash": "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1", }, { "filename": "futures-3.2.0.tar.gz", "hash": "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265", }, ] package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package_partial_yank = Package( package.name, package.version.text, source_type="legacy", source_reference="foo2", source_url="https://foo2.bar/simple/", ) package.files = files package_partial_yank.files = files > link = chooser.choose_for(package) tests/installation/test_chooser.py:374: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________ test_chooser_throws_an_error_if_package_hashes_do_not_match[] _________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_throws_an_error_if_package_hashes_do_not_match( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: None, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") files = [ { "hash": ( "sha256:0000000000000000000000000000000000000000000000000000000000000000" ), "filename": "isort-4.3.4.tar.gz", } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files with pytest.raises(RuntimeError) as e: > chooser.choose_for(package) tests/installation/test_chooser.py:412: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:114: in find_links_for_package json_data = self._get(f"pypi/{package.name}/{package.version}/json") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/pypi_repository.py:195: in _get json_response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("pypi.org:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None source_type = 'legacy' pool = @pytest.mark.parametrize("source_type", ["", "legacy"]) def test_chooser_throws_an_error_if_package_hashes_do_not_match( env: MockEnv, mock_pypi: None, mock_legacy: None, source_type: None, pool: RepositoryPool, ) -> None: chooser = Chooser(pool, env) package = Package("isort", "4.3.4") files = [ { "hash": ( "sha256:0000000000000000000000000000000000000000000000000000000000000000" ), "filename": "isort-4.3.4.tar.gz", } ] if source_type == "legacy": package = Package( package.name, package.version.text, source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = files with pytest.raises(RuntimeError) as e: > chooser.choose_for(package) tests/installation/test_chooser.py:412: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________ test_chooser_md5_remote_fallback_to_sha256_inline_calculation _________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 env = MockEnv("/usr") pool = @pytest.mark.usefixtures("mock_legacy") def test_chooser_md5_remote_fallback_to_sha256_inline_calculation( env: MockEnv, pool: RepositoryPool ) -> None: chooser = Chooser(pool, env) package = Package( "demo", "0.1.0", source_type="legacy", source_reference="foo", source_url="https://foo.bar/simple/", ) package.files = [ { "hash": ( "sha256:9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ), "filename": "demo-0.1.0.tar.gz", } ] > res = chooser.choose_for(package) tests/installation/test_chooser.py:436: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:48: in choose_for for link in self._get_links(package): ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/chooser.py:90: in _get_links links = repository.find_links_for_package(package) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package page = self.get_page(package.name) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _________________ test_execute_executes_a_batch_of_operations __________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_executes_a_batch_0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_executes_a_batch_0/.venv") copy_wheel = ._copy_wheel at 0x3ff857a19e0> fixture_dir = ._fixture_dir at 0x3ff86c865c0> def test_execute_executes_a_batch_of_operations( mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, tmp_path: Path, mock_file_downloads: None, env: MockEnv, copy_wheel: Callable[[], Path], fixture_dir: FixtureDirGetter, ) -> None: wheel_install = mocker.patch.object(WheelInstaller, "install") config.merge({"cache-dir": str(tmp_path)}) artifact_cache = ArtifactCache(cache_dir=config.artifacts_cache_directory) prepare_spy = mocker.spy(Chef, "_prepare") chef = Chef(artifact_cache, env, Factory.create_pool(config)) chef.set_directory_wheel([copy_wheel(), copy_wheel()]) chef.set_sdist_wheel(copy_wheel()) io.set_verbosity(Verbosity.VERY_VERBOSE) executor = Executor(env, pool, config, io) executor._chef = chef file_package = Package( "demo", "0.1.0", source_type="file", source_url=(fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl") .resolve() .as_posix(), ) directory_package = Package( "simple-project", "1.2.3", source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), ) git_package = Package( "demo", "0.1.0", source_type="git", source_reference="master", source_url="https://github.com/demo/demo.git", develop=True, ) return_code = executor.execute( [ Install(Package("pytest", "3.5.1")), Uninstall(Package("attrs", "17.4.0")), Update(Package("requests", "2.18.3"), Package("requests", "2.18.4")), Update(Package("pytest", "3.5.1"), Package("pytest", "3.5.0")), Uninstall(Package("clikit", "0.2.3")).skip("Not currently installed"), Install(file_package), Install(directory_package), Install(git_package), ] ) expected = f""" Package operations: 4 installs, 2 updates, 1 removal - Installing pytest (3.5.1) - Removing attrs (17.4.0) - Updating requests (2.18.3 -> 2.18.4) - Downgrading pytest (3.5.1 -> 3.5.0) - Installing demo (0.1.0 {file_package.source_url}) - Installing simple-project (1.2.3 {directory_package.source_url}) - Installing demo (0.1.0 master) """ expected_lines = set(expected.splitlines()) output_lines = set(io.fetch_output().splitlines()) > assert output_lines == expected_lines E AssertionError: assert {'', ' ', ' ...icator)', ...} == {'', ' - Dow...roject)', ...} E E Extra items in the left set: E ' 16 ~/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/executor.py:395 in _do_execute_operation' E ' resp = conn.urlopen(' E ' 12 ~/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/executor.py:757 in _download_link' E ' 10 ~/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/executor.py:825 in _download_archive' E ' 898│ def with_socket_is_secure(sock, kw):'... E E ...Full output truncated (53 lines hidden), use '-vv' to show tests/installation/test_executor.py:236: AssertionError _______ test_execute_prints_warning_for_yanked_package[operations0-True] _______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_prints_warning_fo0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_prints_warning_fo0/.venv") operations = [, ] has_warning = True @pytest.mark.parametrize( "operations, has_warning", [ ( [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], True, ), ( [ Uninstall(Package("black", "21.11b0")), Uninstall(Package("pytest", "3.5.1")), ], False, ), ( [ Update(Package("black", "19.10b0"), Package("black", "21.11b0")), Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), ], True, ), ], ) def test_execute_prints_warning_for_yanked_package( config: Config, pool: RepositoryPool, io: BufferedIO, tmp_path: Path, mock_file_downloads: None, env: MockEnv, operations: list[Operation], has_warning: bool, ) -> None: config.merge({"cache-dir": str(tmp_path)}) executor = Executor(env, pool, config, io) return_code = executor.execute(operations) expected = ( "Warning: The file chosen for install of black 21.11b0 " "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " "Broken regex dependency. Use 21.11b1 instead." ) output = io.fetch_output() error = io.fetch_error() > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" E AssertionError: E output: E Package operations: 2 installs, 0 updates, 0 removals E E - Installing black (21.11b0) E - Installing pytest (3.5.1) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install pytest. E E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install black. E E E error: Warning: The file chosen for install of black 21.11b0 (black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: Broken regex dependency. Use 21.11b1 instead. E E E assert 1 == 0 tests/installation/test_executor.py:295: AssertionError _______ test_execute_prints_warning_for_yanked_package[operations2-True] _______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_prints_warning_fo2') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_prints_warning_fo2/.venv") operations = [, ] has_warning = True @pytest.mark.parametrize( "operations, has_warning", [ ( [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], True, ), ( [ Uninstall(Package("black", "21.11b0")), Uninstall(Package("pytest", "3.5.1")), ], False, ), ( [ Update(Package("black", "19.10b0"), Package("black", "21.11b0")), Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), ], True, ), ], ) def test_execute_prints_warning_for_yanked_package( config: Config, pool: RepositoryPool, io: BufferedIO, tmp_path: Path, mock_file_downloads: None, env: MockEnv, operations: list[Operation], has_warning: bool, ) -> None: config.merge({"cache-dir": str(tmp_path)}) executor = Executor(env, pool, config, io) return_code = executor.execute(operations) expected = ( "Warning: The file chosen for install of black 21.11b0 " "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " "Broken regex dependency. Use 21.11b1 instead." ) output = io.fetch_output() error = io.fetch_error() > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" E AssertionError: E output: E Package operations: 0 installs, 2 updates, 0 removals E E - Updating black (19.10b0 -> 21.11b0) E - Updating pytest (3.5.0 -> 3.5.1) E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install pytest. E E E UnmockedError E E Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. E E at /usr/lib/python3.13/site-packages/httpretty/core.py:894 in __getattr__ E 890│ "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " E 891│ "Please open an issue if this error causes further unexpected issues." E 892│ ) E 893│ E → 894│ raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E 895│ E 896│ return getattr(self.truesock, name) E 897│ E 898│ def with_socket_is_secure(sock, kw): E E Cannot install black. E E E error: Warning: The file chosen for install of black 21.11b0 (black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: Broken regex dependency. Use 21.11b1 instead. E E E assert 1 == 0 tests/installation/test_executor.py:295: AssertionError _____________________ test_execute_works_with_ansi_output ______________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io_decorated = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_works_with_ansi_o0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_works_with_ansi_o0/.venv") def test_execute_works_with_ansi_output( config: Config, pool: RepositoryPool, io_decorated: BufferedIO, tmp_path: Path, mock_file_downloads: None, env: MockEnv, ) -> None: config.merge({"cache-dir": str(tmp_path)}) executor = Executor(env, pool, config, io_decorated) return_code = executor.execute( [ Install(Package("cleo", "1.0.0a5")), ] ) # fmt: off expected = [ "\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m removals", "\x1b[34;1m-\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mPending...\x1b[39m", "\x1b[34;1m-\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mDownloading...\x1b[39m", "\x1b[34;1m-\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mInstalling...\x1b[39m", "\x1b[32;1m-\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[32m1.0.0a5\x1b[39m\x1b[39m)\x1b[39m", # finished ] # fmt: on output = io_decorated.fetch_output() # hint: use print(repr(output)) if you need to debug this for line in expected: > assert line in output E AssertionError: assert '\x1b[34;1m-\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mDownloading...\x1b[39m' in '\n\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m re...b[39m\x1b[39;2m, \x1b[39;22m\x1b[39mkw\x1b[39m\x1b[39;2m):\x1b[39;22m\n\n\x1b[31;1mCannot install cleo.\x1b[39;22m\n\n' tests/installation/test_executor.py:453: AssertionError ____________________ test_execute_works_with_no_ansi_output ____________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = pool = io_not_decorated = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_works_with_no_ans0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_execute_works_with_no_ans0/.venv") def test_execute_works_with_no_ansi_output( mocker: MockerFixture, config: Config, pool: RepositoryPool, io_not_decorated: BufferedIO, tmp_path: Path, mock_file_downloads: None, env: MockEnv, ) -> None: config.merge({"cache-dir": str(tmp_path)}) executor = Executor(env, pool, config, io_not_decorated) return_code = executor.execute( [ Install(Package("cleo", "1.0.0a5")), ] ) expected = """ Package operations: 1 install, 0 updates, 0 removals - Installing cleo (1.0.0a5) """ expected_lines = set(expected.splitlines()) output_lines = set(io_not_decorated.fetch_output().splitlines()) > assert output_lines == expected_lines E assert {'', ' ', ' ... 893│ ', ...} == {'', ' - Ins..., 0 removals'} E E Extra items in the left set: E 'Cannot install cleo.' E ' 898│ def with_socket_is_secure(sock, kw):' E ' UnmockedError' E ' 891│ "Please open an issue if this error causes further unexpected issues."' E ' 895│ '... E E ...Full output truncated (11 lines hidden), use '-vv' to show tests/installation/test_executor.py:483: AssertionError _____ test_executor_should_write_pep610_url_references_for_non_wheel_files _____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep1/venv") pool = config = io = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None def test_executor_should_write_pep610_url_references_for_non_wheel_files( tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: url = (fixture_dir("distributions") / "demo-0.1.0.tar.gz").resolve() package = Package("demo", "0.1.0", source_type="file", source_url=url.as_posix()) # Set package.files so the executor will attempt to hash the package package.files = [ { "file": "demo-0.1.0.tar.gz", "hash": ( "sha256:9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ), } ] executor = Executor(tmp_venv, pool, config, io) executor.execute([Install(package)]) expected_url_reference = { "archive_info": { "hashes": { "sha256": ( "9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ) }, }, "url": url.as_uri(), } > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:723: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep1/venv") package = Package('demo', '0.1.0', source_type='file', source_url='/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'sha256': '9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad'}}, 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError ____ test_executor_should_write_pep610_url_references_for_wheel_urls[False] ____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep4/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x3ff86c865c0> is_artifact_cached = False @pytest.mark.parametrize("is_artifact_cached", [False, True]) def test_executor_should_write_pep610_url_references_for_wheel_urls( tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, mock_file_downloads: None, mocker: MockerFixture, fixture_dir: FixtureDirGetter, is_artifact_cached: bool, ) -> None: if is_artifact_cached: link_cached = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" mocker.patch( "poetry.utils.cache.ArtifactCache.get_cached_archive_for_link", return_value=link_cached, ) download_spy = mocker.spy(Executor, "_download_archive") package = Package( "demo", "0.1.0", source_type="url", source_url="https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl", ) # Set package.files so the executor will attempt to hash the package package.files = [ { "file": "demo-0.1.0-py2.py3-none-any.whl", "hash": ( "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a" ), } ] executor = Executor(tmp_venv, pool, config, io) operation = Install(package) executor.execute([operation]) expected_url_reference = { "archive_info": { "hashes": { "sha256": ( "70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a" ) }, }, "url": package.source_url, } > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:835: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep4/venv") package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl') url_reference = {'archive_info': {'hashes': {'sha256': '70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError _ test_executor_should_write_pep610_url_references_for_non_wheel_urls[False-False-True-True] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep8/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x3ff86c865c0> is_sdist_cached = False, is_wheel_cached = False expect_artifact_building = True, expect_artifact_download = True @pytest.mark.parametrize( ( "is_sdist_cached", "is_wheel_cached", "expect_artifact_building", "expect_artifact_download", ), [ (True, False, True, False), (True, True, False, False), (False, False, True, True), (False, True, False, True), ], ) def test_executor_should_write_pep610_url_references_for_non_wheel_urls( tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, mock_file_downloads: None, mocker: MockerFixture, fixture_dir: FixtureDirGetter, is_sdist_cached: bool, is_wheel_cached: bool, expect_artifact_building: bool, expect_artifact_download: bool, ) -> None: built_wheel = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" mock_prepare = mocker.patch( "poetry.installation.chef.Chef._prepare", return_value=built_wheel, ) download_spy = mocker.spy(Executor, "_download_archive") if is_sdist_cached or is_wheel_cached: cached_sdist = fixture_dir("distributions") / "demo-0.1.0.tar.gz" cached_wheel = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" def mock_get_cached_archive_func( _cache_dir: Path, *, strict: bool, **__: Any ) -> Path | None: if is_wheel_cached and not strict: return cached_wheel if is_sdist_cached: return cached_sdist return None mocker.patch( "poetry.utils.cache.ArtifactCache._get_cached_archive", side_effect=mock_get_cached_archive_func, ) package = Package( "demo", "0.1.0", source_type="url", source_url="https://files.pythonhosted.org/demo-0.1.0.tar.gz", ) # Set package.files so the executor will attempt to hash the package package.files = [ { "file": "demo-0.1.0.tar.gz", "hash": ( "sha256:9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ), } ] executor = Executor(tmp_venv, pool, config, io) operation = Install(package) executor.execute([operation]) expected_url_reference = { "archive_info": { "hashes": { "sha256": ( "9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ) }, }, "url": package.source_url, } > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:931: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep8/venv") package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'sha256': '9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError _ test_executor_should_write_pep610_url_references_for_non_wheel_urls[False-True-False-True] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep9/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x3ff86c865c0> is_sdist_cached = False, is_wheel_cached = True expect_artifact_building = False, expect_artifact_download = True @pytest.mark.parametrize( ( "is_sdist_cached", "is_wheel_cached", "expect_artifact_building", "expect_artifact_download", ), [ (True, False, True, False), (True, True, False, False), (False, False, True, True), (False, True, False, True), ], ) def test_executor_should_write_pep610_url_references_for_non_wheel_urls( tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, mock_file_downloads: None, mocker: MockerFixture, fixture_dir: FixtureDirGetter, is_sdist_cached: bool, is_wheel_cached: bool, expect_artifact_building: bool, expect_artifact_download: bool, ) -> None: built_wheel = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" mock_prepare = mocker.patch( "poetry.installation.chef.Chef._prepare", return_value=built_wheel, ) download_spy = mocker.spy(Executor, "_download_archive") if is_sdist_cached or is_wheel_cached: cached_sdist = fixture_dir("distributions") / "demo-0.1.0.tar.gz" cached_wheel = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" def mock_get_cached_archive_func( _cache_dir: Path, *, strict: bool, **__: Any ) -> Path | None: if is_wheel_cached and not strict: return cached_wheel if is_sdist_cached: return cached_sdist return None mocker.patch( "poetry.utils.cache.ArtifactCache._get_cached_archive", side_effect=mock_get_cached_archive_func, ) package = Package( "demo", "0.1.0", source_type="url", source_url="https://files.pythonhosted.org/demo-0.1.0.tar.gz", ) # Set package.files so the executor will attempt to hash the package package.files = [ { "file": "demo-0.1.0.tar.gz", "hash": ( "sha256:9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ), } ] executor = Executor(tmp_venv, pool, config, io) operation = Install(package) executor.execute([operation]) expected_url_reference = { "archive_info": { "hashes": { "sha256": ( "9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad" ) }, }, "url": package.source_url, } > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:931: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_should_write_pep9/venv") package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'sha256': '9fa123ad707a5c6c944743bf3e11a0e80d86cb518d3cf25320866ca3ef43e2ad'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError __________________ test_uploader_properly_handles_400_errors ___________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = def test_uploader_properly_handles_400_errors( http: type[httpretty.httpretty], uploader: Uploader ) -> None: http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request") with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:33: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________________ test_uploader_properly_handles_403_errors ___________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = def test_uploader_properly_handles_403_errors( http: type[httpretty.httpretty], uploader: Uploader ) -> None: http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:44: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________ test_uploader_properly_handles_nonstandard_errors _______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = def test_uploader_properly_handles_nonstandard_errors( http: type[httpretty.httpretty], uploader: Uploader ) -> None: # content based off a true story. # Message changed to protect the ~~innocent~~ guilty. content = ( b'{\n "errors": [ {\n ' b'"status": 400,' b'"message": "I cant let you do that, dave"\n' b"} ]\n}" ) http.register_uri(http.POST, "https://foo.com", status=400, body=content) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:63: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_uploader_properly_handles_redirects[308-Permanent Redirect] _______ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 308, body = 'Permanent Redirect' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'build', exception = CalledProcessError(1, ['pip']) editable = False mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_0/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError _______ test_uploader_properly_handles_redirects[307-Temporary Redirect] _______ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 307, body = 'Temporary Redirect' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-get_requires_for_build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'get_requires_for_build' exception = CalledProcessError(1, ['pip']), editable = False mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_1/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError __________ test_uploader_properly_handles_redirects[304-Not Modified] __________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 304, body = 'Not Modified' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'build', exception = Exception('original error') editable = False mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_2/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError ___________ test_uploader_properly_handles_redirects[303-See Other] ____________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 303, body = 'See Other' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-get_requires_for_build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'get_requires_for_build' exception = Exception('original error'), editable = False mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_3/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError _____________ test_uploader_properly_handles_redirects[302-Found] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 302, body = 'Found' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_uploader_properly_handles_redirects[301-Moved Permanently] ________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 301, body = 'Moved Permanently' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'build', exception = CalledProcessError(1, ['pip']) editable = True mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_4/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError ________ test_uploader_properly_handles_redirects[300-Multiple Choices] ________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 300, body = 'Multiple Choices' @pytest.mark.parametrize( "status, body", [ (308, "Permanent Redirect"), (307, "Temporary Redirect"), (304, "Not Modified"), (303, "See Other"), (302, "Found"), (301, "Moved Permanently"), (300, "Multiple Choices"), ], ) def test_uploader_properly_handles_redirects( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-get_requires_for_build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'get_requires_for_build' exception = CalledProcessError(1, ['pip']), editable = True mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_5/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError _________________ test_uploader_properly_handles_301_redirects _________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = def test_uploader_properly_handles_301_redirects( http: type[httpretty.httpretty], uploader: Uploader ) -> None: http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect") with pytest.raises(UploadError) as e: > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:100: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'build', exception = Exception('original error') editable = True mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_6/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError ______________ test_uploader_registers_for_appropriate_400_errors ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 mocker = http = uploader = def test_uploader_registers_for_appropriate_400_errors( mocker: MockerFixture, http: type[httpretty.httpretty], uploader: Uploader ) -> None: register = mocker.patch("poetry.publishing.uploader.Uploader._register") http.register_uri( http.POST, "https://foo.com", status=400, body="No package was ever registered" ) with pytest.raises(UploadError): > uploader.upload("https://foo.com") tests/publishing/test_uploader.py:117: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________ test_uploader_skips_existing[409-] ______________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 409, body = '' @pytest.mark.parametrize( "status, body", [ (409, ""), (400, "File already exists"), (400, "Repository does not allow updating assets"), (403, "Not enough permissions to overwrite artifact"), (400, "file name has already been taken"), ], ) def test_uploader_skips_existing( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) # should not raise > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-get_requires_for_build] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 failing_method = 'get_requires_for_build' exception = Exception('original error'), editable = True mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_7/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("failing_method", ["build", "get_requires_for_build"]) @pytest.mark.parametrize( "exception", [ CalledProcessError(1, ["pip"], output=b"original error"), Exception("original error"), ], ) @pytest.mark.parametrize("editable", [False, True]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess( failing_method: str, exception: Exception, editable: bool, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: error = BuildBackendException(exception, description="hide the original error") mocker.patch.object(ProjectBuilder, failing_method, side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) package_name = "simple-project" package_version = "1.2.3" directory_package = Package( package_name, package_version, source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), develop=editable, ) # must not be included in the error message directory_package.python_versions = ">=3.7" return_code = executor.execute([Install(directory_package)]) assert return_code == 1 package_url = directory_package.source_url expected_start = f""" Package operations: 1 install, 0 updates, 0 removals - Installing {package_name} ({package_version} {package_url}) ChefBuildError hide the original error \ original error """ assert directory_package.source_url is not None if editable: pip_command = "pip wheel --no-cache-dir --use-pep517 --editable" requirement = directory_package.source_url assert Path(requirement).exists() else: pip_command = "pip wheel --no-cache-dir --use-pep517" requirement = f"{package_name} @ {path_to_url(directory_package.source_url)}" expected_end = f""" Note: This error originates from the build backend, and is likely not a problem with \ poetry but with {package_name} ({package_version} {package_url}) not supporting \ PEP 517 builds. You can verify this by running '{pip_command} "{requirement}"'. """ output = io.fetch_output() > assert output.startswith(expected_start) E AssertionError: assert False E + where False = ('\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...d/poetry-1.8.5/tests/fixtures/simple_project)\n\n ChefBuildError\n\n hide the original error\n \n original error\n') E + where = '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n'.startswith tests/installation/test_executor.py:1303: AssertionError ____________ test_uploader_skips_existing[400-File already exists] _____________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 400, body = 'File already exists' @pytest.mark.parametrize( "status, body", [ (409, ""), (400, "File already exists"), (400, "Repository does not allow updating assets"), (403, "Not enough permissions to overwrite artifact"), (400, "file name has already been taken"), ], ) def test_uploader_skips_existing( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) # should not raise > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-utf-8] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 encoding = 'utf-8', stderr = None mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_8/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("encoding", ["utf-8", "latin-1"]) @pytest.mark.parametrize("stderr", [None, "Errör on stderr"]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding( encoding: str, stderr: str | None, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: """Test that the output of the subprocess is decoded correctly.""" stdout = "Errör on stdout" error = BuildBackendException( CalledProcessError( 1, ["pip"], output=stdout.encode(encoding), stderr=stderr.encode(encoding) if stderr else None, ) ) mocker.patch.object(ProjectBuilder, "get_requires_for_build", side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) directory_package = Package( "simple-project", "1.2.3", source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), ) return_code = executor.execute([Install(directory_package)]) assert return_code == 1 > assert (stderr or stdout) in io.fetch_output() E AssertionError: assert ((None or 'Errör on stdout')) in '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' E + where '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' = fetch_output() E + where fetch_output = .fetch_output tests/installation/test_executor.py:1345: AssertionError _ test_uploader_skips_existing[400-Repository does not allow updating assets] __ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 400, body = 'Repository does not allow updating assets' @pytest.mark.parametrize( "status, body", [ (409, ""), (400, "File already exists"), (400, "Repository does not allow updating assets"), (403, "Not enough permissions to overwrite artifact"), (400, "file name has already been taken"), ], ) def test_uploader_skips_existing( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) # should not raise > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-latin-1] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 encoding = 'latin-1', stderr = None mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_9/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("encoding", ["utf-8", "latin-1"]) @pytest.mark.parametrize("stderr", [None, "Errör on stderr"]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding( encoding: str, stderr: str | None, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: """Test that the output of the subprocess is decoded correctly.""" stdout = "Errör on stdout" error = BuildBackendException( CalledProcessError( 1, ["pip"], output=stdout.encode(encoding), stderr=stderr.encode(encoding) if stderr else None, ) ) mocker.patch.object(ProjectBuilder, "get_requires_for_build", side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) directory_package = Package( "simple-project", "1.2.3", source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), ) return_code = executor.execute([Install(directory_package)]) assert return_code == 1 > assert (stderr or stdout) in io.fetch_output() E AssertionError: assert ((None or 'Errör on stdout')) in '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' E + where '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' = fetch_output() E + where fetch_output = .fetch_output tests/installation/test_executor.py:1345: AssertionError _ test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] _ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 403, body = 'Not enough permissions to overwrite artifact' @pytest.mark.parametrize( "status, body", [ (409, ""), (400, "File already exists"), (400, "Repository does not allow updating assets"), (403, "Not enough permissions to overwrite artifact"), (400, "file name has already been taken"), ], ) def test_uploader_skips_existing( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) # should not raise > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[Err\xf6r on stderr-utf-8] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 encoding = 'utf-8', stderr = 'Errör on stderr' mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_10/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("encoding", ["utf-8", "latin-1"]) @pytest.mark.parametrize("stderr", [None, "Errör on stderr"]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding( encoding: str, stderr: str | None, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: """Test that the output of the subprocess is decoded correctly.""" stdout = "Errör on stdout" error = BuildBackendException( CalledProcessError( 1, ["pip"], output=stdout.encode(encoding), stderr=stderr.encode(encoding) if stderr else None, ) ) mocker.patch.object(ProjectBuilder, "get_requires_for_build", side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) directory_package = Package( "simple-project", "1.2.3", source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), ) return_code = executor.execute([Install(directory_package)]) assert return_code == 1 > assert (stderr or stdout) in io.fetch_output() E AssertionError: assert (('Errör on stderr')) in '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' E + where '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' = fetch_output() E + where fetch_output = .fetch_output tests/installation/test_executor.py:1345: AssertionError ______ test_uploader_skips_existing[400-file name has already been taken] ______ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = status = 400, body = 'file name has already been taken' @pytest.mark.parametrize( "status, body", [ (409, ""), (400, "File already exists"), (400, "Repository does not allow updating assets"), (403, "Not enough permissions to overwrite artifact"), (400, "file name has already been taken"), ], ) def test_uploader_skips_existing( http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str ) -> None: http.register_uri(http.POST, "https://foo.com", status=status, body=body) # should not raise > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:138: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _ test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[Err\xf6r on stderr-latin-1] _ [gw1] linux -- Python 3.13.1 /usr/bin/python3 encoding = 'latin-1', stderr = 'Errör on stderr' mocker = config = pool = io = mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_build_backend_errors_are_11/.venv") fixture_dir = ._fixture_dir at 0x3ff86c865c0> @pytest.mark.parametrize("encoding", ["utf-8", "latin-1"]) @pytest.mark.parametrize("stderr", [None, "Errör on stderr"]) def test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding( encoding: str, stderr: str | None, mocker: MockerFixture, config: Config, pool: RepositoryPool, io: BufferedIO, mock_file_downloads: None, env: MockEnv, fixture_dir: FixtureDirGetter, ) -> None: """Test that the output of the subprocess is decoded correctly.""" stdout = "Errör on stdout" error = BuildBackendException( CalledProcessError( 1, ["pip"], output=stdout.encode(encoding), stderr=stderr.encode(encoding) if stderr else None, ) ) mocker.patch.object(ProjectBuilder, "get_requires_for_build", side_effect=error) io.set_verbosity(Verbosity.NORMAL) executor = Executor(env, pool, config, io) directory_package = Package( "simple-project", "1.2.3", source_type="directory", source_url=fixture_dir("simple_project").resolve().as_posix(), ) return_code = executor.execute([Install(directory_package)]) assert return_code == 1 > assert (stderr or stdout) in io.fetch_output() E AssertionError: assert (('Errör on stderr')) in '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' E + where '\nPackage operations: 1 install, 0 updates, 0 removals\n\n - Installing simple-project (1.2.3 /builddir/build/BUILD/...\n 105│ class Chef:\n 106│ def __init__(\n\nCannot install build-system.requires for simple-project.\n\n' = fetch_output() E + where fetch_output = .fetch_output tests/installation/test_executor.py:1345: AssertionError ____________ test_uploader_skip_existing_bubbles_unskippable_errors ____________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = uploader = def test_uploader_skip_existing_bubbles_unskippable_errors( http: type[httpretty.httpretty], uploader: Uploader ) -> None: http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") with pytest.raises(UploadError): > uploader.upload("https://foo.com", skip_existing=True) tests/publishing/test_uploader.py:147: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:122: in upload self._upload(session, url, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:204: in _upload self._upload_file(session, url, file, dry_run, skip_existing) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/publishing/uploader.py:247: in _upload_file resp = session.post( /usr/lib/python3.13/site-packages/requests/sessions.py:637: in post return self.request("POST", url, data=data, json=json, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______ test_executor_known_hashes[package_files0-expected_url_reference0] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 package_files = [{'file': 'demo-0.1.0.tar.gz', 'hash': 'sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c...d1fe7'}, {'file': 'demo-0.1.0.whl', 'hash': 'sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}] expected_url_reference = {'archive_info': {'hashes': {'sha512': '766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74..., 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac0/venv") pool = config = io = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None @pytest.mark.parametrize( "package_files,expected_url_reference", [ ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha512": "766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad" }, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", } ], { "archive_info": { "hashes": {"md5": "d1912c917363a64e127318655f7d1fe7"}, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha3_512:196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728", }, { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha3_512": "196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728" }, }, }, ), ], ) def test_executor_known_hashes( package_files: list[dict[str, str]], expected_url_reference: dict[str, Any], tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: # when installing sdist, an isolated build environment is required to extract metadata # this will install any build system requirements into the environment, to avoid failures when # network is not available we enable mock_file_downloads fixture here # see: https://github.com/python-poetry/poetry/issues/9114 package_source_url: Path = ( fixture_dir("distributions") / "demo-0.1.0.tar.gz" ).resolve() package = Package( "demo", "0.1.0", source_type="file", source_url=package_source_url.as_posix() ) package.files = package_files executor = Executor(tmp_venv, pool, config, io) executor.execute([Install(package)]) expected_url_reference["url"] = package_source_url.as_uri() > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:1582: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac0/venv") package = Package('demo', '0.1.0', source_type='file', source_url='/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'sha512': '766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74..., 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError ______ test_executor_known_hashes[package_files1-expected_url_reference1] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 package_files = [{'file': 'demo-0.1.0.tar.gz', 'hash': 'md5:d1912c917363a64e127318655f7d1fe7'}] expected_url_reference = {'archive_info': {'hashes': {'md5': 'd1912c917363a64e127318655f7d1fe7'}}, 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac1/venv") pool = config = io = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None @pytest.mark.parametrize( "package_files,expected_url_reference", [ ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha512": "766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad" }, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", } ], { "archive_info": { "hashes": {"md5": "d1912c917363a64e127318655f7d1fe7"}, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha3_512:196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728", }, { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha3_512": "196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728" }, }, }, ), ], ) def test_executor_known_hashes( package_files: list[dict[str, str]], expected_url_reference: dict[str, Any], tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: # when installing sdist, an isolated build environment is required to extract metadata # this will install any build system requirements into the environment, to avoid failures when # network is not available we enable mock_file_downloads fixture here # see: https://github.com/python-poetry/poetry/issues/9114 package_source_url: Path = ( fixture_dir("distributions") / "demo-0.1.0.tar.gz" ).resolve() package = Package( "demo", "0.1.0", source_type="file", source_url=package_source_url.as_posix() ) package.files = package_files executor = Executor(tmp_venv, pool, config, io) executor.execute([Install(package)]) expected_url_reference["url"] = package_source_url.as_uri() > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:1582: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac1/venv") package = Package('demo', '0.1.0', source_type='file', source_url='/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'md5': 'd1912c917363a64e127318655f7d1fe7'}}, 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError ______ test_executor_known_hashes[package_files2-expected_url_reference2] ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 package_files = [{'file': 'demo-0.1.0.tar.gz', 'hash': 'sha3_512:196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e7...d1fe7'}, {'file': 'demo-0.1.0.whl', 'hash': 'sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}] expected_url_reference = {'archive_info': {'hashes': {'sha3_512': '196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a2916..., 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac2/venv") pool = config = io = fixture_dir = ._fixture_dir at 0x3ff86c865c0> mock_file_downloads = None @pytest.mark.parametrize( "package_files,expected_url_reference", [ ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha512": "766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad" }, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", } ], { "archive_info": { "hashes": {"md5": "d1912c917363a64e127318655f7d1fe7"}, }, }, ), ( [ { "file": "demo-0.1.0.tar.gz", "hash": "sha3_512:196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728", }, { "file": "demo-0.1.0.tar.gz", "hash": "sha512:766ecf369b6bdf801f6f7bbfe23923cc9793d633a55619472cd3d5763f9154711fbf57c8b6ca74e4a82fa9bd8380af831e7b8668e68e362669fc60b1d81d79ad", }, { "file": "demo-0.1.0.tar.gz", "hash": "md5:d1912c917363a64e127318655f7d1fe7", }, { "file": "demo-0.1.0.whl", "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", }, ], { "archive_info": { "hashes": { "sha3_512": "196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a291600c7d196fe4411b4f5f6db45213fe6e5cd5512bf18b2e9eff728" }, }, }, ), ], ) def test_executor_known_hashes( package_files: list[dict[str, str]], expected_url_reference: dict[str, Any], tmp_venv: VirtualEnv, pool: RepositoryPool, config: Config, io: BufferedIO, fixture_dir: FixtureDirGetter, mock_file_downloads: None, ) -> None: # when installing sdist, an isolated build environment is required to extract metadata # this will install any build system requirements into the environment, to avoid failures when # network is not available we enable mock_file_downloads fixture here # see: https://github.com/python-poetry/poetry/issues/9114 package_source_url: Path = ( fixture_dir("distributions") / "demo-0.1.0.tar.gz" ).resolve() package = Package( "demo", "0.1.0", source_type="file", source_url=package_source_url.as_posix() ) package.files = package_files executor = Executor(tmp_venv, pool, config, io) executor.execute([Install(package)]) expected_url_reference["url"] = package_source_url.as_uri() > verify_installed_distribution(tmp_venv, package, expected_url_reference) tests/installation/test_executor.py:1582: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/test_executor_known_hashes_pac2/venv") package = Package('demo', '0.1.0', source_type='file', source_url='/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz') url_reference = {'archive_info': {'hashes': {'sha3_512': '196f4af9099185054ed72ca1d4c57707da5d724df0af7c3dfcc0fd018b0e0533908e790a2916..., 'url': 'file:///builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/fixtures/distributions/demo-0.1.0.tar.gz'} def verify_installed_distribution( venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None ) -> None: distributions = list(venv.site_packages.distributions(name=package.name)) > assert len(distributions) == 1 E assert 0 == 1 E + where 0 = len([]) tests/installation/test_executor.py:586: AssertionError __________________________ test_get_200_returns_page ___________________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = def test_get_200_returns_page(http: type[httpretty.httpretty]) -> None: repo = MockHttpRepository({"/foo/": 200}, http) > _ = repo.get_page("foo") tests/repositories/test_legacy_repository.py:553: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("legacy.foo.bar:80"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________ test_get_40x_and_returns_none[401] ______________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = status_code = 401 @pytest.mark.parametrize("status_code", [401, 403, 404]) def test_get_40x_and_returns_none( http: type[httpretty.httpretty], status_code: int ) -> None: repo = MockHttpRepository({"/foo/": status_code}, http) with pytest.raises(PackageNotFound): > repo.get_page("foo") tests/repositories/test_legacy_repository.py:563: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("legacy.foo.bar:80"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________ test_get_40x_and_returns_none[403] ______________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = status_code = 403 @pytest.mark.parametrize("status_code", [401, 403, 404]) def test_get_40x_and_returns_none( http: type[httpretty.httpretty], status_code: int ) -> None: repo = MockHttpRepository({"/foo/": status_code}, http) with pytest.raises(PackageNotFound): > repo.get_page("foo") tests/repositories/test_legacy_repository.py:563: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("legacy.foo.bar:80"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________ test_get_40x_and_returns_none[404] ______________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = status_code = 404 @pytest.mark.parametrize("status_code", [401, 403, 404]) def test_get_40x_and_returns_none( http: type[httpretty.httpretty], status_code: int ) -> None: repo = MockHttpRepository({"/foo/": status_code}, http) with pytest.raises(PackageNotFound): > repo.get_page("foo") tests/repositories/test_legacy_repository.py:563: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("legacy.foo.bar:80"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____________________________ test_get_5xx_raises ______________________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = def test_get_5xx_raises(http: type[httpretty.httpretty]) -> None: repo = MockHttpRepository({"/foo/": 500}, http) with pytest.raises(RepositoryError): > repo.get_page("foo") tests/repositories/test_legacy_repository.py:570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("legacy.foo.bar:80"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_authenticator_with_implicit_repository_configuration[repositories0] ___ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = config = , repositories = {} @pytest.mark.parametrize( ("repositories",), [ ({},), # ensure path is respected ({"publish": {"url": "https://foo.bar/legacy"}},), # ensure path length does not give incorrect results ({"publish": {"url": "https://foo.bar/upload/legacy"}},), ], ) def test_authenticator_with_implicit_repository_configuration( http: type[httpretty.httpretty], config: Config, repositories: dict[str, dict[str, str]], ) -> None: http.register_uri( http.GET, re.compile("^https?://foo.bar/(.+?)$"), ) config.merge( { "repositories": repositories, "http-basic": { "source": {"username": "foo", "password": "bar"}, "publish": {"username": "baz", "password": "qux"}, }, } ) repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) > repo.get_page("/foo") tests/repositories/test_legacy_repository.py:624: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_authenticator_with_implicit_repository_configuration[repositories1] ___ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = config = repositories = {'publish': {'url': 'https://foo.bar/legacy'}} @pytest.mark.parametrize( ("repositories",), [ ({},), # ensure path is respected ({"publish": {"url": "https://foo.bar/legacy"}},), # ensure path length does not give incorrect results ({"publish": {"url": "https://foo.bar/upload/legacy"}},), ], ) def test_authenticator_with_implicit_repository_configuration( http: type[httpretty.httpretty], config: Config, repositories: dict[str, dict[str, str]], ) -> None: http.register_uri( http.GET, re.compile("^https?://foo.bar/(.+?)$"), ) config.merge( { "repositories": repositories, "http-basic": { "source": {"username": "foo", "password": "bar"}, "publish": {"username": "baz", "password": "qux"}, }, } ) repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) > repo.get_page("/foo") tests/repositories/test_legacy_repository.py:624: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___ test_authenticator_with_implicit_repository_configuration[repositories2] ___ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = config = repositories = {'publish': {'url': 'https://foo.bar/upload/legacy'}} @pytest.mark.parametrize( ("repositories",), [ ({},), # ensure path is respected ({"publish": {"url": "https://foo.bar/legacy"}},), # ensure path length does not give incorrect results ({"publish": {"url": "https://foo.bar/upload/legacy"}},), ], ) def test_authenticator_with_implicit_repository_configuration( http: type[httpretty.httpretty], config: Config, repositories: dict[str, dict[str, str]], ) -> None: http.register_uri( http.GET, re.compile("^https?://foo.bar/(.+?)$"), ) config.merge( { "repositories": repositories, "http-basic": { "source": {"username": "foo", "password": "bar"}, "publish": {"username": "baz", "password": "qux"}, }, } ) repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) > repo.get_page("/foo") tests/repositories/test_legacy_repository.py:624: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/legacy_repository.py:138: in _get_page response = self._get_response(f"/{name}/") ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/repositories/http_repository.py:406: in _get_response response: requests.Response = self.session.get( ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:267: in get return self.request("get", url, **kwargs) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________ test_authenticator_uses_username_only_credentials _______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_config = mock_remote = None http = with_simple_keyring = None def test_authenticator_uses_username_only_credentials( mock_config: Config, mock_remote: None, http: type[httpretty.httpretty], with_simple_keyring: None, ) -> None: authenticator = Authenticator(mock_config, NullIO()) > authenticator.request("get", "https://foo001@foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:92: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________________ test_authenticator_ignores_locked_keyring ___________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_remote = None http = with_locked_keyring = None caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff86677230> def test_authenticator_ignores_locked_keyring( mock_remote: None, http: type[httpretty.httpretty], with_locked_keyring: None, caplog: LogCaptureFixture, ) -> None: caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") authenticator = Authenticator() > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:107: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ------------------------------ Captured log call ------------------------------- DEBUG poetry.utils.password_manager:password_manager.py:104 Checking if keyring is available DEBUG poetry.utils.password_manager:password_manager.py:138 Using keyring backend 'conftest LockedBackend' DEBUG poetry.utils.password_manager:password_manager.py:50 Keyring https://foo.bar/files/foo-0.1.0.tar.gz is locked DEBUG poetry.utils.password_manager:password_manager.py:50 Keyring foo.bar is locked __________________ test_authenticator_ignores_failing_keyring __________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_remote = None http = with_erroneous_keyring = None caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff858df890> def test_authenticator_ignores_failing_keyring( mock_remote: None, http: type[httpretty.httpretty], with_erroneous_keyring: None, caplog: LogCaptureFixture, ) -> None: caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") authenticator = Authenticator() > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:122: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ------------------------------ Captured log call ------------------------------- DEBUG poetry.utils.password_manager:password_manager.py:104 Checking if keyring is available DEBUG poetry.utils.password_manager:password_manager.py:138 Using keyring backend 'conftest ErroneousBackend' DEBUG poetry.utils.password_manager:password_manager.py:52 Accessing keyring https://foo.bar/files/foo-0.1.0.tar.gz failed Traceback (most recent call last): File "/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/password_manager.py", line 48, in get_credential credential = keyring.get_credential(name, username) File "/usr/lib/python3.13/site-packages/keyring/core.py", line 80, in get_credential return get_keyring().get_credential(service_name, username) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/conftest.py", line 149, in get_credential raise KeyringError() keyring.errors.KeyringError DEBUG poetry.utils.password_manager:password_manager.py:52 Accessing keyring foo.bar failed Traceback (most recent call last): File "/builddir/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/password_manager.py", line 48, in get_credential credential = keyring.get_credential(name, username) File "/usr/lib/python3.13/site-packages/keyring/core.py", line 80, in get_credential return get_keyring().get_credential(service_name, username) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^ File "/builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/conftest.py", line 149, in get_credential raise KeyringError() keyring.errors.KeyringError ______________ test_authenticator_uses_password_only_credentials _______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mock_config = mock_remote = None http = def test_authenticator_uses_password_only_credentials( mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] ) -> None: authenticator = Authenticator(mock_config, NullIO()) > authenticator.request("get", "https://:bar002@foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:133: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________ test_authenticator_uses_empty_strings_as_default_password ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None repo = {'foo': {'url': 'https://foo.bar/simple/'}} http = with_simple_keyring = None def test_authenticator_uses_empty_strings_as_default_password( config: Config, mock_remote: None, repo: dict[str, dict[str, str]], http: type[httpretty.httpretty], with_simple_keyring: None, ) -> None: config.merge( { "repositories": repo, "http-basic": {"foo": {"username": "bar"}}, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:155: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError __________ test_authenticator_uses_empty_strings_as_default_username ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None repo = {'foo': {'url': 'https://foo.bar/simple/'}} http = def test_authenticator_uses_empty_strings_as_default_username( config: Config, mock_remote: None, repo: dict[str, dict[str, str]], http: type[httpretty.httpretty], ) -> None: config.merge( { "repositories": repo, "http-basic": {"foo": {"username": None, "password": "bar"}}, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _________________ test_authenticator_falls_back_to_keyring_url _________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None repo = {'foo': {'url': 'https://foo.bar/simple/'}} http = with_simple_keyring = None dummy_keyring = def test_authenticator_falls_back_to_keyring_url( config: Config, mock_remote: None, repo: dict[str, dict[str, str]], http: type[httpretty.httpretty], with_simple_keyring: None, dummy_keyring: DummyBackend, ) -> None: config.merge( { "repositories": repo, } ) dummy_keyring.set_password( "https://foo.bar/simple/", None, SimpleCredential("foo", "bar") ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:202: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_authenticator_falls_back_to_keyring_netloc ________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None repo = {'foo': {'url': 'https://foo.bar/simple/'}} http = with_simple_keyring = None dummy_keyring = def test_authenticator_falls_back_to_keyring_netloc( config: Config, mock_remote: None, repo: dict[str, dict[str, str]], http: type[httpretty.httpretty], with_simple_keyring: None, dummy_keyring: DummyBackend, ) -> None: config.merge( { "repositories": repo, } ) dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar")) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:226: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_authenticator_uses_url_provided_credentials _______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 mock_config = mock_remote = None http = def test_authenticator_uses_url_provided_credentials( mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] ) -> None: authenticator = Authenticator(mock_config, NullIO()) > authenticator.request("get", "https://foo001:bar002@foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:67: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_authenticator_request_retries_on_exception ________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") def test_authenticator_request_retries_on_exception( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) seen: list[str] = [] def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: if seen.count(uri) < 2: seen.append(uri) raise requests.exceptions.ConnectionError("Disconnected") return [200, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) > response = authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:253: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______ test_authenticator_uses_credentials_from_config_if_not_provided ________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 mock_config = mock_remote = None http = def test_authenticator_uses_credentials_from_config_if_not_provided( mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] ) -> None: authenticator = Authenticator(mock_config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:78: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_authenticator_request_raises_exception_when_attempts_exhausted ______ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") def test_authenticator_request_raises_exception_when_attempts_exhausted( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" def callback(*_: Any, **___: Any) -> None: raise requests.exceptions.ConnectionError(str(uuid.uuid4())) http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.ConnectionError): > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:272: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_authenticator_uses_credentials_from_config_matched_by_url_path ______ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None http = def test_authenticator_uses_credentials_from_config_matched_by_url_path( config: Config, mock_remote: None, http: type[httpretty.httpretty] ) -> None: config.merge( { "repositories": { "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, }, "http-basic": { "foo-alpha": {"username": "bar", "password": "alpha"}, "foo-beta": {"username": "baz", "password": "beta"}, }, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:432: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_authenticator_request_respects_retry_header _______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = def test_authenticator_request_respects_retry_header( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) seen: list[str] = [] def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: if not seen.count(uri): seen.append(uri) return [429, {"Retry-After": "42"}, "Retry later"] return [200, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) > response = authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:299: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_authenticator_uses_credentials_from_config_with_at_sign_in_path _____ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None http = def test_authenticator_uses_credentials_from_config_with_at_sign_in_path( config: Config, mock_remote: None, http: type[httpretty.httpretty] ) -> None: config.merge( { "repositories": { "foo": {"url": "https://foo.bar/beta/files/simple/"}, }, "http-basic": { "foo": {"username": "bar", "password": "baz"}, }, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/beta/files/simple/f@@-0.1.0.tar.gz") tests/utils/test_authenticator.py:462: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[400-0] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 400, attempts = 0 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _________ test_authenticator_falls_back_to_keyring_url_matched_by_path _________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None http = with_simple_keyring = None dummy_keyring = def test_authenticator_falls_back_to_keyring_url_matched_by_path( config: Config, mock_remote: None, http: type[httpretty.httpretty], with_simple_keyring: None, dummy_keyring: DummyBackend, ) -> None: config.merge( { "repositories": { "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, } } ) dummy_keyring.set_password( "https://foo.bar/alpha/files/simple/", None, SimpleCredential("foo", "bar") ) dummy_keyring.set_password( "https://foo.bar/beta/files/simple/", None, SimpleCredential("foo", "baz") ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:495: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[401-0] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 401, attempts = 0 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[403-0] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 403, attempts = 0 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____ test_authenticator_uses_env_provided_credentials_matched_by_url_path _____ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , environ = None mock_remote = None http = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff99c4d310> def test_authenticator_uses_env_provided_credentials_matched_by_url_path( config: Config, environ: None, mock_remote: type[httpretty.httpretty], http: type[httpretty.httpretty], monkeypatch: MonkeyPatch, ) -> None: monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_USERNAME", "bar") monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_PASSWORD", "alpha") monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_USERNAME", "baz") monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_PASSWORD", "beta") config.merge( { "repositories": { "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, } } ) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:531: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[404-0] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 404, attempts = 0 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ________________ test_authenticator_azure_feed_guid_credentials ________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None http = with_simple_keyring = None dummy_keyring = def test_authenticator_azure_feed_guid_credentials( config: Config, mock_remote: None, http: type[httpretty.httpretty], with_simple_keyring: None, dummy_keyring: DummyBackend, ) -> None: config.merge( { "repositories": { "alpha": { "url": "https://foo.bar/org-alpha/_packaging/feed/pypi/simple/" }, "beta": { "url": "https://foo.bar/org-beta/_packaging/feed/pypi/simple/" }, }, "http-basic": { "alpha": {"username": "foo", "password": "bar"}, "beta": {"username": "baz", "password": "qux"}, }, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request( "get", "https://foo.bar/org-alpha/_packaging/GUID/pypi/simple/a/1.0.0/a-1.0.0.whl", ) tests/utils/test_authenticator.py:570: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[429-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 429, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________ test_authenticator_add_repository _______________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 config = , mock_remote = None http = with_simple_keyring = None dummy_keyring = def test_authenticator_add_repository( config: Config, mock_remote: None, http: type[httpretty.httpretty], with_simple_keyring: None, dummy_keyring: DummyBackend, ) -> None: config.merge( { "http-basic": { "source": {"username": "foo", "password": "bar"}, }, } ) authenticator = Authenticator(config, NullIO()) > authenticator.request( "get", "https://foo.bar/simple/a/1.0.0/a-1.0.0.whl", ) tests/utils/test_authenticator.py:606: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[500-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 500, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[501-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 501, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[502-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 502, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[503-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 503, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ___________ test_authenticator_request_retries_on_status_code[504-5] ___________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = http = status = 504, attempts = 5 @pytest.mark.parametrize( ["status", "attempts"], [ (400, 0), (401, 0), (403, 0), (404, 0), (429, 5), (500, 5), (501, 5), (502, 5), (503, 5), (504, 5), ], ) def test_authenticator_request_retries_on_status_code( mocker: MockerFixture, config: Config, http: type[httpretty.httpretty], status: int, attempts: int, ) -> None: sleep = mocker.patch("time.sleep") sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" content = str(uuid.uuid4()) def callback( request: requests.Request, uri: str, response_headers: dict[str, str] ) -> list[int | dict[str, str] | str]: return [status, response_headers, content] http.register_uri(httpretty.GET, sdist_uri, body=callback) authenticator = Authenticator(config, NullIO()) with pytest.raises(requests.exceptions.HTTPError) as excinfo: > authenticator.request("get", sdist_uri) tests/utils/test_authenticator.py:339: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________________________ test_download_file ______________________________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x3ff997e6b60> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file0') def test_download_file( http: type[httpretty], fixture_dir: FixtureDirGetter, tmp_path: Path ) -> None: file_path = fixture_dir("distributions") / "demo-0.1.0.tar.gz" url = "https://foo.com/demo-0.1.0.tar.gz" http.register_uri(http.GET, url, body=file_path.read_bytes()) dest = tmp_path / "demo-0.1.0.tar.gz" > download_file(url, dest) tests/utils/test_helpers.py:141: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:139: in download_file downloader = Downloader(url, dest, session) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:177: in __init__ self._response = get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _______________ test_authenticator_uses_env_provided_credentials _______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = repo = {'foo': {'url': 'https://foo.bar/simple/'}}, environ = None mock_remote = None http = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff8659f5c0> def test_authenticator_uses_env_provided_credentials( config: Config, repo: dict[str, dict[str, str]], environ: None, mock_remote: type[httpretty.httpretty], http: type[httpretty.httpretty], monkeypatch: MonkeyPatch, ) -> None: monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_USERNAME", "bar") monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_PASSWORD", "baz") config.merge({"repositories": repo}) authenticator = Authenticator(config, NullIO()) > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") tests/utils/test_authenticator.py:362: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/authenticator.py:238: in request resp = session.send(prepared_request, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/cachecontrol/adapter.py:76: in send resp = super().send(request, stream, timeout, verify, cert, proxies) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.bar:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____________ test_download_file_raise_accepts_ranges[False-False] _____________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x3ff997e6b60> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep0') accepts_ranges = False, raise_accepts_ranges = False @pytest.mark.parametrize("accepts_ranges", [False, True]) @pytest.mark.parametrize("raise_accepts_ranges", [False, True]) def test_download_file_raise_accepts_ranges( http: type[httpretty], fixture_dir: FixtureDirGetter, tmp_path: Path, accepts_ranges: bool, raise_accepts_ranges: bool, ) -> None: filename = "demo-0.1.0-py2.py3-none-any.whl" def handle_request( request: HTTPrettyRequest, uri: str, response_headers: dict[str, Any] ) -> tuple[int, dict[str, Any], bytes]: file_path = fixture_dir("distributions") / filename if accepts_ranges: response_headers["Accept-Ranges"] = "bytes" return 200, response_headers, file_path.read_bytes() url = f"https://foo.com/{filename}" http.register_uri(http.GET, url, body=handle_request) dest = tmp_path / filename if accepts_ranges and raise_accepts_ranges: with pytest.raises(HTTPRangeRequestSupported): download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) assert not dest.exists() else: > download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) tests/utils/test_helpers.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:139: in download_file downloader = Downloader(url, dest, session) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:177: in __init__ self._response = get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____________ test_download_file_raise_accepts_ranges[False-True] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x3ff997e6b60> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep1') accepts_ranges = True, raise_accepts_ranges = False @pytest.mark.parametrize("accepts_ranges", [False, True]) @pytest.mark.parametrize("raise_accepts_ranges", [False, True]) def test_download_file_raise_accepts_ranges( http: type[httpretty], fixture_dir: FixtureDirGetter, tmp_path: Path, accepts_ranges: bool, raise_accepts_ranges: bool, ) -> None: filename = "demo-0.1.0-py2.py3-none-any.whl" def handle_request( request: HTTPrettyRequest, uri: str, response_headers: dict[str, Any] ) -> tuple[int, dict[str, Any], bytes]: file_path = fixture_dir("distributions") / filename if accepts_ranges: response_headers["Accept-Ranges"] = "bytes" return 200, response_headers, file_path.read_bytes() url = f"https://foo.com/{filename}" http.register_uri(http.GET, url, body=handle_request) dest = tmp_path / filename if accepts_ranges and raise_accepts_ranges: with pytest.raises(HTTPRangeRequestSupported): download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) assert not dest.exists() else: > download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) tests/utils/test_helpers.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:139: in download_file downloader = Downloader(url, dest, session) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:177: in __init__ self._response = get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError _____________ test_download_file_raise_accepts_ranges[True-False] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x3ff997e6b60> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep2') accepts_ranges = False, raise_accepts_ranges = True @pytest.mark.parametrize("accepts_ranges", [False, True]) @pytest.mark.parametrize("raise_accepts_ranges", [False, True]) def test_download_file_raise_accepts_ranges( http: type[httpretty], fixture_dir: FixtureDirGetter, tmp_path: Path, accepts_ranges: bool, raise_accepts_ranges: bool, ) -> None: filename = "demo-0.1.0-py2.py3-none-any.whl" def handle_request( request: HTTPrettyRequest, uri: str, response_headers: dict[str, Any] ) -> tuple[int, dict[str, Any], bytes]: file_path = fixture_dir("distributions") / filename if accepts_ranges: response_headers["Accept-Ranges"] = "bytes" return 200, response_headers, file_path.read_bytes() url = f"https://foo.com/{filename}" http.register_uri(http.GET, url, body=handle_request) dest = tmp_path / filename if accepts_ranges and raise_accepts_ranges: with pytest.raises(HTTPRangeRequestSupported): download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) assert not dest.exists() else: > download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) tests/utils/test_helpers.py:189: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:139: in download_file downloader = Downloader(url, dest, session) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:177: in __init__ self._response = get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError ______________ test_download_file_raise_accepts_ranges[True-True] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x3ff997e6b60> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep3') accepts_ranges = True, raise_accepts_ranges = True @pytest.mark.parametrize("accepts_ranges", [False, True]) @pytest.mark.parametrize("raise_accepts_ranges", [False, True]) def test_download_file_raise_accepts_ranges( http: type[httpretty], fixture_dir: FixtureDirGetter, tmp_path: Path, accepts_ranges: bool, raise_accepts_ranges: bool, ) -> None: filename = "demo-0.1.0-py2.py3-none-any.whl" def handle_request( request: HTTPrettyRequest, uri: str, response_headers: dict[str, Any] ) -> tuple[int, dict[str, Any], bytes]: file_path = fixture_dir("distributions") / filename if accepts_ranges: response_headers["Accept-Ranges"] = "bytes" return 200, response_headers, file_path.read_bytes() url = f"https://foo.com/{filename}" http.register_uri(http.GET, url, body=handle_request) dest = tmp_path / filename if accepts_ranges and raise_accepts_ranges: with pytest.raises(HTTPRangeRequestSupported): > download_file(url, dest, raise_accepts_ranges=raise_accepts_ranges) tests/utils/test_helpers.py:186: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:139: in download_file downloader = Downloader(url, dest, session) ../BUILDROOT/usr/lib/python3.13/site-packages/poetry/utils/helpers.py:177: in __init__ self._response = get( /usr/lib/python3.13/site-packages/requests/api.py:73: in get return request("get", url, params=params, **kwargs) /usr/lib/python3.13/site-packages/requests/api.py:59: in request return session.request(method=method, url=url, **kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request resp = self.send(prep, **send_kwargs) /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send r = adapter.send(request, **kwargs) /usr/lib/python3.13/site-packages/requests/adapters.py:668: in send resp = conn.urlopen( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen response = self._make_request( /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request response = conn.getresponse() /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse _shutdown = getattr(self.sock, "shutdown", None) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = httpretty.core.socket("foo.com:443"), name = 'shutdown' def __getattr__(self, name): if name in ('getsockopt', 'selected_alpn_protocol') and not self.truesock: self.truesock = self.create_socket() elif httpretty.allow_net_connect and not self.truesock: # can't call self.connect_truesock() here because we # don't know if user wants to execute server of client # calls (or can they?) self.truesock = self.create_socket() elif not self.truesock: # Special case for # `hasattr(sock, "version")` call added in urllib3>=1.26. if name == 'version': raise AttributeError( "HTTPretty synthesized this error to fix urllib3 compatibility " "(see issue https://github.com/gabrielfalcao/HTTPretty/issues/409). " "Please open an issue if this error causes further unexpected issues." ) > raise UnmockedError('Failed to socket.{} because because a real socket does not exist'.format(name)) E httpretty.errors.UnmockedError: Failed to socket.shutdown because because a real socket does not exist E E Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue. /usr/lib/python3.13/site-packages/httpretty/core.py:894: UnmockedError =============================== warnings summary =============================== tests/inspection/test_info.py::test_info_from_wheel_metadata_versions[299] /usr/lib/python3.13/site-packages/pkginfo/distribution.py:184: NewMetadataVersion: New metadata version (New metadata version (2.99) higher than latest supported version: parsing as 2.4) higher than latest supported version: parsing as 2.4 warnings.warn(NewMetadataVersion(self.metadata_version)) tests/inspection/test_info.py::test_info_from_wheel_metadata_version_unknown /usr/lib/python3.13/site-packages/pkginfo/distribution.py:184: NewMetadataVersion: New metadata version (New metadata version (999.3) higher than latest supported version: parsing as 2.4) higher than latest supported version: parsing as 2.4 warnings.warn(NewMetadataVersion(self.metadata_version)) tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/utils/test_authenticator.py:197: DeprecationWarning: Empty usernames are deprecated. See #668 dummy_keyring.set_password( tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/utils/test_authenticator.py:223: DeprecationWarning: Empty usernames are deprecated. See #668 dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar")) tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/utils/test_authenticator.py:486: DeprecationWarning: Empty usernames are deprecated. See #668 dummy_keyring.set_password( tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5/tests/utils/test_authenticator.py:489: DeprecationWarning: Empty usernames are deprecated. See #668 dummy_keyring.set_password( -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors FAILED tests/console/commands/test_publish.py::test_publish_dry_run_skip_existing[--skip-existing] FAILED tests/console/commands/test_publish.py::test_skip_existing_output - as... FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[None] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error1] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error2] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error3] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error4] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error5] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error6] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error7] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_416_missing_content_range FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_with_redirect FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_with_redirect_after_500 FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[None-1] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-1-1] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-2-2] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_range_requests_not_supported_one_request[None] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_range_requests_not_supported_one_request[none] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_range_requests_not_supported_two_requests[negative_offset_error0] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_range_requests_not_supported_two_requests[negative_offset_error1] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_range_requests_supported_but_not_respected FAILED tests/console/commands/test_search.py::test_search - httpretty.errors.... FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_invalid_wheel FAILED tests/installation/test_chef.py::test_isolated_env_install_success - p... FAILED tests/installation/test_chef.py::test_prepare_sdist - poetry.installat... FAILED tests/installation/test_chef.py::test_prepare_directory - poetry.insta... FAILED tests/installation/test_chef.py::test_prepare_directory_editable - poe... FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] FAILED tests/installation/test_chooser.py::test_chooser_md5_remote_fallback_to_sha256_inline_calculation FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_urls[False-False-True-True] FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_urls[False-True-False-True] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-get_requires_for_build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-get_requires_for_build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-get_requires_for_build] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-build] FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-get_requires_for_build] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-utf-8] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-latin-1] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[Err\xf6r on stderr-utf-8] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] FAILED tests/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[Err\xf6r on stderr-latin-1] FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors FAILED tests/installation/test_executor.py::test_executor_known_hashes[package_files0-expected_url_reference0] FAILED tests/installation/test_executor.py::test_executor_known_hashes[package_files1-expected_url_reference1] FAILED tests/installation/test_executor.py::test_executor_known_hashes[package_files2-expected_url_reference2] FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises - ht... FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] FAILED tests/utils/test_helpers.py::test_download_file - httpretty.errors.Unm... FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[False-False] FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[False-True] FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[True-False] FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[True-True] =========== 140 failed, 1471 passed, 6 skipped, 6 warnings in 48.94s =========== error: Bad exit status from /var/tmp/rpm-tmp.rpHps1 (%check) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.rpHps1 (%check) Finish: rpmbuild poetry-1.8.5-1.fc42.src.rpm Finish: build phase for poetry-1.8.5-1.fc42.src.rpm INFO: chroot_scan: 1 files copied to /var/lib/copr-rpmbuild/results/chroot_scan INFO: /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root/var/log/dnf5.log INFO: chroot_scan: creating tarball /var/lib/copr-rpmbuild/results/chroot_scan.tar.gz /bin/tar: Removing leading `/' from member names ERROR: Exception(/var/lib/copr-rpmbuild/results/poetry-1.8.5-1.fc42.src.rpm) Config(fedora-rawhide-s390x) 1 minutes 18 seconds INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results INFO: Cleaning up build root ('cleanup_on_failure=True') Start: clean chroot INFO: unmounting tmpfs. Finish: clean chroot ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M 8c3e4cc7669543f8893013cdccc0b430 -D /var/lib/mock/fedora-rawhide-s390x-1736263696.844612/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.lshz2czg:/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 --target s390x /builddir/build/originals/poetry.spec' Copr build error: Build failed