Warning: Permanently added '3.239.38.25' (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-x86_64 --chroot fedora-rawhide-x86_64 Version: 1.2 PID: 36109 Logging PID: 36110 Task: {'allow_user_ssh': False, 'appstream': False, 'background': True, 'build_id': 8477013, 'buildroot_pkgs': [], 'chroot': 'fedora-rawhide-x86_64', '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-x86_64/', '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-x86_64', '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-62mvg4fk/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-62mvg4fk/poetry', '--depth', '500', '--no-single-branch', '--recursive'] cwd: . rc: 0 stdout: stderr: Cloning into '/var/lib/copr-rpmbuild/workspace/workdir-62mvg4fk/poetry'... Running: git checkout 3dd3b0ef8857b9b3417507fb0fe48f19c5998185 -- cmd: ['git', 'checkout', '3dd3b0ef8857b9b3417507fb0fe48f19c5998185', '--'] cwd: /var/lib/copr-rpmbuild/workspace/workdir-62mvg4fk/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-62mvg4fk/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 166M 0 --:--:-- --:--:-- --:--:-- 168M 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-62mvg4fk/poetry/poetry.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-62mvg4fk/poetry --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736227714.460679 -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-62mvg4fk/poetry/poetry.spec --sources /var/lib/copr-rpmbuild/workspace/workdir-62mvg4fk/poetry --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1736227714.460679 -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-62mvg4fk/poetry/poetry.spec) Config(fedora-rawhide-x86_64) 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-x86_64-bootstrap-1736227714.460679/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-db1b6f21-c7c5-4c7f-8318-3222860a6a9e INFO: Checking that 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 image matches host's architecture INFO: Copy content of container 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 to /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736227714.460679/root INFO: mounting 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 with podman image mount INFO: image 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 as /var/lib/containers/storage/overlay/d3212d8beae72a97d426f4f4cbc9926037985c9d492b381ad2608549e5b9deb3/merged INFO: umounting image 3b26c95bbe87cc88f475ce9c0ba4b394bf23541b10bebe9a634c9c8e61f73b10 (/var/lib/containers/storage/overlay/d3212d8beae72a97d426f4f4cbc9926037985c9d492b381ad2608549e5b9deb3/merged) with podman image umount INFO: Removing image mock-bootstrap-db1b6f21-c7c5-4c7f-8318-3222860a6a9e 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-x86_64-1736227714.460679/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.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 dnf5-5.2.8.1-2.fc42.x86_64 dnf5-plugins-5.2.8.1-2.fc42.x86_64 Start: installing minimal buildroot with dnf5 Updating and loading repositories: fedora 100% | 99.3 KiB/s | 27.6 KiB | 00m00s Copr repository 100% | 80.5 KiB/s | 1.5 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 46.3 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing group/module packages: bash x86_64 5.2.37-1.fc42 fedora 8.2 MiB bzip2 x86_64 1.0.8-19.fc41 fedora 95.7 KiB coreutils x86_64 9.5-11.fc42 copr_base 5.5 MiB cpio x86_64 2.15-2.fc41 fedora 1.1 MiB diffutils x86_64 3.10-8.fc41 fedora 1.6 MiB fedora-release-common noarch 42-0.11 fedora 19.8 KiB findutils x86_64 1:4.10.0-4.fc41 fedora 1.8 MiB gawk x86_64 5.3.0-4.fc41 fedora 1.7 MiB glibc-minimal-langpack x86_64 2.40.9000-26.fc42 fedora 0.0 B grep x86_64 3.11-9.fc41 fedora 1.0 MiB gzip x86_64 1.13-2.fc41 fedora 389.0 KiB info x86_64 7.1.1-2.fc42 fedora 361.8 KiB patch x86_64 2.7.6-25.fc41 fedora 266.7 KiB redhat-rpm-config noarch 300-1.no_annobin.0.fc42 copr_base 186.6 KiB rpm-build x86_64 4.20.0-1.fc42 fedora 194.3 KiB sed x86_64 4.9-3.fc41 fedora 861.5 KiB shadow-utils x86_64 2:4.17.0-2.fc42 fedora 4.0 MiB tar x86_64 2:1.35-4.fc41 fedora 2.9 MiB unzip x86_64 6.0-65.fc42 fedora 398.2 KiB util-linux x86_64 2.40.2-8.fc42 fedora 3.7 MiB which x86_64 2.21-42.fc41 fedora 80.2 KiB xz x86_64 1:5.6.3-2.fc42 fedora 1.2 MiB Installing dependencies: add-determinism x86_64 0.5.0-1.fc42 fedora 2.4 MiB alternatives x86_64 1.31-1.fc42 fedora 64.8 KiB ansible-srpm-macros noarch 1-16.fc41 fedora 35.7 KiB audit-libs x86_64 4.0.2-1.fc41 fedora 331.3 KiB authselect x86_64 1.5.0-8.fc42 fedora 157.5 KiB authselect-libs x86_64 1.5.0-8.fc42 fedora 822.2 KiB basesystem noarch 11-21.fc41 fedora 0.0 B binutils x86_64 2.43.50-9.fc42 fedora 25.8 MiB build-reproducibility-srpm-macros noarch 0.5.0-1.fc42 fedora 735.0 B bzip2-libs x86_64 1.0.8-19.fc41 fedora 80.7 KiB ca-certificates noarch 2024.2.69_v8.0.401-4.fc42 fedora 2.6 MiB coreutils-common x86_64 9.5-11.fc42 copr_base 11.2 MiB cracklib x86_64 2.9.11-6.fc41 fedora 238.9 KiB crypto-policies noarch 20241128-1.gitbb7b0b0.fc42 fedora 137.3 KiB curl x86_64 8.11.1-2.fc42 fedora 452.0 KiB cyrus-sasl-lib x86_64 2.1.28-27.fc41 fedora 2.3 MiB debugedit x86_64 5.1-2.fc42 fedora 200.3 KiB dwz x86_64 0.15-8.fc42 fedora 299.2 KiB ed x86_64 1.20.2-2.fc41 fedora 146.9 KiB efi-srpm-macros noarch 5-13.fc42 fedora 40.2 KiB elfutils x86_64 0.192-7.fc42 fedora 2.6 MiB elfutils-debuginfod-client x86_64 0.192-7.fc42 fedora 81.4 KiB elfutils-default-yama-scope noarch 0.192-7.fc42 fedora 1.8 KiB elfutils-libelf x86_64 0.192-7.fc42 fedora 1.2 MiB elfutils-libs x86_64 0.192-7.fc42 fedora 662.9 KiB fedora-gpg-keys noarch 42-0.3 fedora 126.4 KiB fedora-release noarch 42-0.11 fedora 0.0 B fedora-release-identity-basic noarch 42-0.11 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 x86_64 5.45-8.fc42 fedora 103.7 KiB file-libs x86_64 5.45-8.fc42 fedora 9.9 MiB filesystem x86_64 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 x86_64 15.2-4.fc42 fedora 12.7 MiB gdbm x86_64 1:1.23-7.fc41 fedora 460.9 KiB gdbm-libs x86_64 1:1.23-7.fc41 fedora 121.9 KiB ghc-srpm-macros noarch 1.9.2-1.fc42 fedora 779.0 B glibc x86_64 2.40.9000-26.fc42 fedora 6.7 MiB glibc-common x86_64 2.40.9000-26.fc42 fedora 1.0 MiB glibc-gconv-extra x86_64 2.40.9000-26.fc42 fedora 8.0 MiB gmp x86_64 1:6.3.0-2.fc41 fedora 811.4 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 x86_64 2.14-1.fc42 fedora 93.1 KiB json-c x86_64 0.18-1.fc42 fedora 83.3 KiB kernel-srpm-macros noarch 1.0-24.fc41 fedora 1.9 KiB keyutils-libs x86_64 1.6.3-4.fc41 fedora 54.4 KiB krb5-libs x86_64 1.21.3-3.fc42 fedora 2.3 MiB libacl x86_64 2.3.2-2.fc41 fedora 40.0 KiB libarchive x86_64 3.7.7-1.fc42 fedora 932.3 KiB libattr x86_64 2.5.2-4.fc41 fedora 28.5 KiB libblkid x86_64 2.40.2-8.fc42 fedora 262.5 KiB libbrotli x86_64 1.1.0-5.fc41 fedora 837.6 KiB libcap x86_64 2.71-1.fc42 fedora 210.8 KiB libcap-ng x86_64 0.8.5-3.fc41 fedora 69.2 KiB libcom_err x86_64 1.47.1-6.fc42 fedora 67.2 KiB libcurl x86_64 8.11.1-2.fc42 fedora 817.3 KiB libeconf x86_64 0.7.5-1.fc42 fedora 66.7 KiB libevent x86_64 2.1.12-14.fc41 fedora 895.7 KiB libfdisk x86_64 2.40.2-8.fc42 fedora 362.9 KiB libffi x86_64 3.4.6-3.fc42 fedora 86.4 KiB libgcc x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 266.9 KiB libgomp x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 529.3 KiB libidn2 x86_64 2.3.7-2.fc41 fedora 329.1 KiB libmount x86_64 2.40.2-8.fc42 fedora 355.8 KiB libnghttp2 x86_64 1.64.0-1.fc42 fedora 174.5 KiB libnsl2 x86_64 2.0.1-2.fc41 fedora 57.9 KiB libpkgconf x86_64 2.3.0-1.fc42 fedora 78.2 KiB libpsl x86_64 0.21.5-4.fc41 fedora 80.5 KiB libpwquality x86_64 1.4.5-11.fc41 fedora 417.8 KiB libselinux x86_64 3.8-0.rc3.1.fc42 fedora 191.6 KiB libsemanage x86_64 3.8-0.rc3.1.fc42 fedora 305.3 KiB libsepol x86_64 3.8-0.rc3.1.fc42 fedora 812.3 KiB libsmartcols x86_64 2.40.2-8.fc42 fedora 180.4 KiB libssh x86_64 0.11.1-1.fc42 fedora 569.6 KiB libssh-config noarch 0.11.1-1.fc42 fedora 277.0 B libstdc++ x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 2.7 MiB libtasn1 x86_64 4.19.0-9.fc41 fedora 175.7 KiB libtirpc x86_64 1.3.6-1.rc3.fc42 fedora 197.6 KiB libtool-ltdl x86_64 2.5.4-1.fc42 copr_base 68.1 KiB libunistring x86_64 1.1-8.fc41 fedora 1.7 MiB libuuid x86_64 2.40.2-8.fc42 fedora 41.4 KiB libverto x86_64 0.3.2-9.fc41 fedora 29.5 KiB libxcrypt x86_64 4.4.37-4.fc42 fedora 269.6 KiB libxml2 x86_64 2.12.9-1.fc42 fedora 1.7 MiB libzstd x86_64 1.5.6-2.fc41 fedora 795.9 KiB lua-libs x86_64 5.4.7-1.fc42 fedora 285.0 KiB lua-srpm-macros noarch 1-14.fc41 fedora 1.3 KiB lz4-libs x86_64 1.10.0-1.fc41 fedora 145.5 KiB mpfr x86_64 4.2.1-5.fc41 fedora 832.1 KiB ncurses-base noarch 6.5-2.20240629.fc41 fedora 326.3 KiB ncurses-libs x86_64 6.5-2.20240629.fc41 fedora 975.2 KiB ocaml-srpm-macros noarch 10-3.fc41 fedora 1.9 KiB openblas-srpm-macros noarch 2-18.fc41 fedora 112.0 B openldap x86_64 2.6.8-6.fc42 fedora 647.4 KiB openssl-libs x86_64 1:3.2.2-10.fc42 fedora 7.7 MiB p11-kit x86_64 0.25.5-4.fc42 fedora 2.2 MiB p11-kit-trust x86_64 0.25.5-4.fc42 fedora 403.8 KiB package-notes-srpm-macros noarch 0.5-12.fc41 fedora 1.6 KiB pam x86_64 1.7.0-3.fc42 fedora 1.8 MiB pam-libs x86_64 1.7.0-3.fc42 fedora 139.4 KiB pcre2 x86_64 10.44-1.fc41.1 fedora 653.5 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 x86_64 2.3.0-1.fc42 fedora 88.6 KiB pkgconf-m4 noarch 2.3.0-1.fc42 fedora 14.4 KiB pkgconf-pkg-config x86_64 2.3.0-1.fc42 fedora 989.0 B popt x86_64 1.19-7.fc41 fedora 136.9 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 x86_64 8.2-11.fc42 fedora 493.1 KiB rpm x86_64 4.20.0-1.fc42 fedora 3.1 MiB rpm-build-libs x86_64 4.20.0-1.fc42 fedora 206.7 KiB rpm-libs x86_64 4.20.0-1.fc42 fedora 726.1 KiB rpm-sequoia x86_64 1.7.0-3.fc42 fedora 2.3 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 x86_64 3.47.2-1.fc42 fedora 1.4 MiB systemd-libs x86_64 257.1-1.fc42 fedora 2.2 MiB util-linux-core x86_64 2.40.2-8.fc42 fedora 1.5 MiB xxhash-libs x86_64 0.8.3-1.fc42 fedora 88.5 KiB xz-libs x86_64 1:5.6.3-2.fc42 fedora 218.4 KiB zig-srpm-macros noarch 1-3.fc41 fedora 1.1 KiB zip x86_64 3.0-42.fc42 fedora 695.9 KiB zlib-ng-compat x86_64 2.2.2-1.fc42 fedora 134.0 KiB zstd x86_64 1.5.6-2.fc41 fedora 1.7 MiB Installing groups: Buildsystem building group Transaction Summary: Installing: 155 packages Total size of inbound packages is 51 MiB. Need to download 0 B. After this operation, 178 MiB extra will be used (install 178 MiB, remove 0 B). [1/1] tar-2:1.35-4.fc41.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x86_64 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.x8 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] diffutils-0:3.10-8.fc41.x86_64 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] fedora-release-common-0:42-0.11 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] findutils-1:4.10.0-4.fc41.x86_6 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] glibc-minimal-langpack-0:2.40.9 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] gzip-0:1.13-2.fc41.x86_64 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] info-0:7.1.1-2.fc42.x86_64 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] xz-1:5.6.3-2.fc42.x86_64 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] redhat-rpm-config-0:300-1.no_an 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] coreutils-0:9.5-11.fc42.x86_64 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] util-linux-0:2.40.2-8.fc42.x86_ 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] gawk-0:5.3.0-4.fc41.x86_64 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.x86_6 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.x86_64 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.x 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.x86_ 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] debugedit-0:5.1-2.fc42.x86_64 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] elfutils-0:0.192-7.fc42.x86_64 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-libelf-0:0.192-7.fc42. 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] file-0:5.45-8.fc42.x86_64 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] libarchive-0:3.7.7-1.fc42.x86_6 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] popt-0:1.19-7.fc41.x86_64 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] readline-0:8.2-11.fc42.x86_64 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] rpm-0:4.20.0-1.fc42.x86_64 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] rpm-build-libs-0:4.20.0-1.fc42. 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-libs-0:4.20.0-1.fc42.x86_64 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] zstd-0:1.5.6-2.fc41.x86_64 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] filesystem-0:3.18-29.fc42.x86_6 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] ncurses-libs-0:6.5-2.20240629.f 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] pcre2-0:10.44-1.fc41.1.x86_64 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] ed-0:1.20.2-2.fc41.x86_64 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] libattr-0:2.5.2-4.fc41.x86_64 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] audit-libs-0:4.0.2-1.fc41.x86_6 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] libeconf-0:0.7.5-1.fc42.x86_64 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] libsemanage-0:3.8-0.rc3.1.fc42. 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] libxcrypt-0:4.4.37-4.fc42.x86_6 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] pam-libs-0:1.7.0-3.fc42.x86_64 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] setup-0:2.15.0-9.fc42.noarch 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] fedora-repos-0:42-0.3.noarch 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] glibc-common-0:2.40.9000-26.fc4 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] xz-libs-1:5.6.3-2.fc42.x86_64 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] ansible-srpm-macros-0:1-16.fc41 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] build-reproducibility-srpm-macr 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] dwz-0:0.15-8.fc42.x86_64 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] efi-srpm-macros-0:5-13.fc42.noa 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] filesystem-srpm-macros-0:3.18-2 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] fonts-srpm-macros-1:2.0.5-17.fc 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] forge-srpm-macros-0:0.4.0-1.fc4 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] fpc-srpm-macros-0:1.3-13.fc41.n 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] ghc-srpm-macros-0:1.9.2-1.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] gnat-srpm-macros-0:6-6.fc41.noa 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] go-srpm-macros-0:3.6.0-5.fc42.n 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] kernel-srpm-macros-0:1.0-24.fc4 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] lua-srpm-macros-0:1-14.fc41.noa 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] ocaml-srpm-macros-0:10-3.fc41.n 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] openblas-srpm-macros-0:2-18.fc4 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] package-notes-srpm-macros-0:0.5 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] perl-srpm-macros-0:1-56.fc41.no 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] pyproject-srpm-macros-0:1.16.3- 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] python-srpm-macros-0:3.13-3.fc4 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] qt5-srpm-macros-0:5.15.15-1.fc4 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] qt6-srpm-macros-0:6.8.1-4.fc42. 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] rust-srpm-macros-0:26.3-3.fc42. 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] zig-srpm-macros-0:1-3.fc41.noar 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] zip-0:3.0-42.fc42.x86_64 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] gmp-1:6.3.0-2.fc41.x86_64 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] libcap-0:2.71-1.fc42.x86_64 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] openssl-libs-1:3.2.2-10.fc42.x8 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] systemd-libs-0:257.1-1.fc42.x86 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] libblkid-0:2.40.2-8.fc42.x86_64 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] libcap-ng-0:0.8.5-3.fc41.x86_64 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] libfdisk-0:2.40.2-8.fc42.x86_64 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] libmount-0:2.40.2-8.fc42.x86_64 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] libsmartcols-0:2.40.2-8.fc42.x8 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] libuuid-0:2.40.2-8.fc42.x86_64 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] util-linux-core-0:2.40.2-8.fc42 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] zlib-ng-compat-0:2.2.2-1.fc42.x 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] mpfr-0:4.2.1-5.fc41.x86_64 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] glibc-gconv-extra-0:2.40.9000-2 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] basesystem-0:11-21.fc41.noarch 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] libsepol-0:3.8-0.rc3.1.fc42.x86 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] elfutils-libs-0:0.192-7.fc42.x8 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] elfutils-debuginfod-client-0:0. 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] libzstd-0:1.5.6-2.fc41.x86_64 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] file-libs-0:5.45-8.fc42.x86_64 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] libxml2-0:2.12.9-1.fc42.x86_64 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] lz4-libs-0:1.10.0-1.fc41.x86_64 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] curl-0:8.11.1-2.fc42.x86_64 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] lua-libs-0:5.4.7-1.fc42.x86_64 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] rpm-sequoia-0:1.7.0-3.fc42.x8 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] sqlite-libs-0:3.47.2-1.fc42.x 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] ncurses-base-0:6.5-2.20240629 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] pcre2-syntax-0:10.44-1.fc41.1 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] fedora-gpg-keys-0:42-0.3.noar 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] fedora-repos-rawhide-0:42-0.3 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] add-determinism-0:0.5.0-1.fc4 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] ca-certificates-0:2024.2.69_v 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] crypto-policies-0:20241128-1. 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] elfutils-default-yama-scope-0 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] json-c-0:0.18-1.fc42.x86_64 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] coreutils-common-0:9.5-11.fc4 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] libgcc-0:15.0.0-0.2.fc42.x86_ 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] binutils-0:2.43.50-9.fc42.x86 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] pam-0:1.7.0-3.fc42.x86_64 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] p11-kit-trust-0:0.25.5-4.fc42 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] p11-kit-0:0.25.5-4.fc42.x86_6 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] libffi-0:3.4.6-3.fc42.x86_64 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] authselect-libs-0:1.5.0-8.fc4 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] alternatives-0:1.31-1.fc42.x8 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] jansson-0:2.14-1.fc42.x86_64 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] pkgconf-pkg-config-0:2.3.0-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] authselect-0:1.5.0-8.fc42.x86 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] gdbm-1:1.23-7.fc41.x86_64 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] gdbm-libs-1:1.23-7.fc41.x86_6 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] libnsl2-0:2.0.1-2.fc41.x86_64 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] libpwquality-0:1.4.5-11.fc41. 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] libtirpc-0:1.3.6-1.rc3.fc42.x 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] libtasn1-0:4.19.0-9.fc41.x86_ 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] pkgconf-0:2.3.0-1.fc42.x86_64 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] pkgconf-m4-0:2.3.0-1.fc42.noa 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] cracklib-0:2.9.11-6.fc41.x86_ 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] krb5-libs-0:1.21.3-3.fc42.x86 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] libcom_err-0:1.47.1-6.fc42.x8 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] libpkgconf-0:2.3.0-1.fc42.x86 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] keyutils-libs-0:1.6.3-4.fc41. 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] libverto-0:0.3.2-9.fc41.x86_6 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] libstdc++-0:15.0.0-0.2.fc42.x 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] libgomp-0:15.0.0-0.2.fc42.x86 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] fedora-release-0:42-0.11.noar 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] gdb-minimal-0:15.2-4.fc42.x86 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] xxhash-libs-0:0.8.3-1.fc42.x8 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] fedora-release-identity-basic 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] libcurl-0:8.11.1-2.fc42.x86_6 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] libbrotli-0:1.1.0-5.fc41.x86_ 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] libidn2-0:2.3.7-2.fc41.x86_64 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] libnghttp2-0:1.64.0-1.fc42.x8 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] libpsl-0:0.21.5-4.fc41.x86_64 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] libssh-0:0.11.1-1.fc42.x86_64 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] openldap-0:2.6.8-6.fc42.x86_6 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] libunistring-0:1.1-8.fc41.x86 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] publicsuffix-list-dafsa-0:202 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] libssh-config-0:0.11.1-1.fc42 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] cyrus-sasl-lib-0:2.1.28-27.fc 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] libevent-0:2.1.12-14.fc41.x86 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [154/154] Total 100% | 0.0 B/s | 0.0 B | 00m00s [ 1/155] libtool-ltdl-0:2.5.4-1.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [155/155] 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/157] Verify package files 100% | 875.0 B/s | 155.0 B | 00m00s >>> Running pre-transaction scriptlet: filesystem-0:3.18-29.fc42.x86_64 >>> Finished pre-transaction scriptlet: filesystem-0:3.18-29.fc42.x86_64 >>> [RPM] /var/lib/mock/fedora-rawhide-x86_64-1736227714.460679/root/var/cache/d [ 2/157] Prepare transaction 100% | 3.9 KiB/s | 155.0 B | 00m00s [ 3/157] Installing libgcc-0:15.0.0-0. 100% | 262.3 MiB/s | 268.6 KiB | 00m00s [ 4/157] Installing libssh-config-0:0. 100% | 0.0 B/s | 816.0 B | 00m00s [ 5/157] Installing publicsuffix-list- 100% | 0.0 B/s | 68.3 KiB | 00m00s [ 6/157] Installing fedora-release-ide 100% | 0.0 B/s | 976.0 B | 00m00s [ 7/157] Installing fedora-gpg-keys-0: 100% | 42.0 MiB/s | 172.2 KiB | 00m00s [ 8/157] Installing fedora-repos-rawhi 100% | 0.0 B/s | 2.4 KiB | 00m00s [ 9/157] Installing fedora-repos-0:42- 100% | 0.0 B/s | 5.7 KiB | 00m00s [ 10/157] Installing fedora-release-com 100% | 23.6 MiB/s | 24.1 KiB | 00m00s [ 11/157] Installing fedora-release-0:4 100% | 0.0 B/s | 124.0 B | 00m00s [ 12/157] Installing setup-0:2.15.0-9.f 100% | 59.1 MiB/s | 726.5 KiB | 00m00s >>> [RPM] /etc/hosts created as /etc/hosts.rpmnew [ 13/157] Installing filesystem-0:3.18- 100% | 3.5 MiB/s | 212.6 KiB | 00m00s [ 14/157] Installing basesystem-0:11-21 100% | 0.0 B/s | 124.0 B | 00m00s [ 15/157] Installing pkgconf-m4-0:2.3.0 100% | 0.0 B/s | 14.8 KiB | 00m00s [ 16/157] Installing coreutils-common-0 100% | 373.0 MiB/s | 11.2 MiB | 00m00s [ 17/157] Installing pcre2-syntax-0:10. 100% | 248.1 MiB/s | 254.1 KiB | 00m00s [ 18/157] Installing ncurses-base-0:6.5 100% | 85.9 MiB/s | 351.7 KiB | 00m00s [ 19/157] Installing glibc-minimal-lang 100% | 0.0 B/s | 124.0 B | 00m00s [ 20/157] Installing ncurses-libs-0:6.5 100% | 239.7 MiB/s | 981.8 KiB | 00m00s [ 21/157] Installing glibc-0:2.40.9000- 100% | 334.4 MiB/s | 6.7 MiB | 00m00s [ 22/157] Installing bash-0:5.2.37-1.fc 100% | 430.0 MiB/s | 8.2 MiB | 00m00s [ 23/157] Installing glibc-common-0:2.4 100% | 173.6 MiB/s | 1.0 MiB | 00m00s [ 24/157] Installing glibc-gconv-extra- 100% | 288.4 MiB/s | 8.1 MiB | 00m00s [ 25/157] Installing zlib-ng-compat-0:2 100% | 131.7 MiB/s | 134.9 KiB | 00m00s [ 26/157] Installing bzip2-libs-0:1.0.8 100% | 0.0 B/s | 81.8 KiB | 00m00s [ 27/157] Installing xz-libs-1:5.6.3-2. 100% | 214.3 MiB/s | 219.5 KiB | 00m00s [ 28/157] Installing popt-0:1.19-7.fc41 100% | 70.1 MiB/s | 143.5 KiB | 00m00s [ 29/157] Installing readline-0:8.2-11. 100% | 241.8 MiB/s | 495.3 KiB | 00m00s [ 30/157] Installing libuuid-0:2.40.2-8 100% | 0.0 B/s | 42.5 KiB | 00m00s [ 31/157] Installing libblkid-0:2.40.2- 100% | 257.5 MiB/s | 263.6 KiB | 00m00s [ 32/157] Installing libattr-0:2.5.2-4. 100% | 0.0 B/s | 29.5 KiB | 00m00s [ 33/157] Installing libacl-0:2.3.2-2.f 100% | 0.0 B/s | 40.7 KiB | 00m00s [ 34/157] Installing libxcrypt-0:4.4.37 100% | 265.9 MiB/s | 272.3 KiB | 00m00s [ 35/157] Installing gmp-1:6.3.0-2.fc41 100% | 397.3 MiB/s | 813.7 KiB | 00m00s [ 36/157] Installing libzstd-0:1.5.6-2. 100% | 389.3 MiB/s | 797.2 KiB | 00m00s [ 37/157] Installing elfutils-libelf-0: 100% | 389.0 MiB/s | 1.2 MiB | 00m00s [ 38/157] Installing libstdc++-0:15.0.0 100% | 393.0 MiB/s | 2.8 MiB | 00m00s [ 39/157] Installing libeconf-0:0.7.5-1 100% | 66.8 MiB/s | 68.4 KiB | 00m00s [ 40/157] Installing gdbm-libs-1:1.23-7 100% | 120.7 MiB/s | 123.6 KiB | 00m00s [ 41/157] Installing dwz-0:0.15-8.fc42. 100% | 293.5 MiB/s | 300.6 KiB | 00m00s [ 42/157] Installing mpfr-0:4.2.1-5.fc4 100% | 271.4 MiB/s | 833.7 KiB | 00m00s [ 43/157] Installing gawk-0:5.3.0-4.fc4 100% | 288.7 MiB/s | 1.7 MiB | 00m00s [ 44/157] Installing unzip-0:6.0-65.fc4 100% | 196.2 MiB/s | 401.7 KiB | 00m00s [ 45/157] Installing file-libs-0:5.45-8 100% | 709.9 MiB/s | 9.9 MiB | 00m00s [ 46/157] Installing file-0:5.45-8.fc42 100% | 14.7 MiB/s | 105.2 KiB | 00m00s [ 47/157] Installing crypto-policies-0: 100% | 32.0 MiB/s | 163.7 KiB | 00m00s [ 48/157] Installing pcre2-0:10.44-1.fc 100% | 319.8 MiB/s | 654.9 KiB | 00m00s [ 49/157] Installing grep-0:3.11-9.fc41 100% | 200.7 MiB/s | 1.0 MiB | 00m00s [ 50/157] Installing xz-1:5.6.3-2.fc42. 100% | 247.4 MiB/s | 1.2 MiB | 00m00s [ 51/157] Installing libcap-ng-0:0.8.5- 100% | 69.4 MiB/s | 71.0 KiB | 00m00s [ 52/157] Installing audit-libs-0:4.0.2 100% | 325.6 MiB/s | 333.4 KiB | 00m00s [ 53/157] Installing pam-libs-0:1.7.0-3 100% | 138.5 MiB/s | 141.8 KiB | 00m00s [ 54/157] Installing libcap-0:2.71-1.fc 100% | 105.4 MiB/s | 215.8 KiB | 00m00s [ 55/157] Installing systemd-libs-0:257 100% | 317.2 MiB/s | 2.2 MiB | 00m00s [ 56/157] Installing libsmartcols-0:2.4 100% | 177.1 MiB/s | 181.4 KiB | 00m00s [ 57/157] Installing libsepol-0:3.8-0.r 100% | 397.1 MiB/s | 813.3 KiB | 00m00s [ 58/157] Installing libselinux-0:3.8-0 100% | 188.4 MiB/s | 192.9 KiB | 00m00s [ 59/157] Installing sed-0:4.9-3.fc41.x 100% | 212.3 MiB/s | 869.7 KiB | 00m00s [ 60/157] Installing findutils-1:4.10.0 100% | 309.7 MiB/s | 1.9 MiB | 00m00s [ 61/157] Installing libmount-0:2.40.2- 100% | 348.6 MiB/s | 356.9 KiB | 00m00s [ 62/157] Installing lz4-libs-0:1.10.0- 100% | 143.1 MiB/s | 146.6 KiB | 00m00s [ 63/157] Installing lua-libs-0:5.4.7-1 100% | 279.5 MiB/s | 286.2 KiB | 00m00s [ 64/157] Installing libffi-0:3.4.6-3.f 100% | 85.7 MiB/s | 87.8 KiB | 00m00s [ 65/157] Installing alternatives-0:1.3 100% | 64.8 MiB/s | 66.4 KiB | 00m00s [ 66/157] Installing libtasn1-0:4.19.0- 100% | 173.3 MiB/s | 177.5 KiB | 00m00s [ 67/157] Installing p11-kit-0:0.25.5-4 100% | 277.0 MiB/s | 2.2 MiB | 00m00s [ 68/157] Installing libcom_err-0:1.47. 100% | 0.0 B/s | 68.3 KiB | 00m00s [ 69/157] Installing libunistring-0:1.1 100% | 346.1 MiB/s | 1.7 MiB | 00m00s [ 70/157] Installing libidn2-0:2.3.7-2. 100% | 163.6 MiB/s | 335.1 KiB | 00m00s [ 71/157] Installing libpsl-0:0.21.5-4. 100% | 79.7 MiB/s | 81.7 KiB | 00m00s [ 72/157] Installing p11-kit-trust-0:0. 100% | 56.6 MiB/s | 405.5 KiB | 00m00s [ 73/157] Installing openssl-libs-1:3.2 100% | 384.5 MiB/s | 7.7 MiB | 00m00s [ 74/157] Installing coreutils-0:9.5-11 100% | 264.7 MiB/s | 5.6 MiB | 00m00s [ 75/157] Installing ca-certificates-0: 100% | 2.1 MiB/s | 2.4 MiB | 00m01s [ 76/157] Installing gzip-0:1.13-2.fc41 100% | 128.4 MiB/s | 394.6 KiB | 00m00s [ 77/157] Installing authselect-libs-0: 100% | 163.5 MiB/s | 837.2 KiB | 00m00s [ 78/157] Installing cracklib-0:2.9.11- 100% | 81.5 MiB/s | 250.3 KiB | 00m00s [ 79/157] Installing libpwquality-0:1.4 100% | 105.0 MiB/s | 430.1 KiB | 00m00s [ 80/157] Installing rpm-sequoia-0:1.7. 100% | 332.0 MiB/s | 2.3 MiB | 00m00s [ 81/157] Installing libevent-0:2.1.12- 100% | 292.8 MiB/s | 899.5 KiB | 00m00s [ 82/157] Installing zstd-0:1.5.6-2.fc4 100% | 338.3 MiB/s | 1.7 MiB | 00m00s [ 83/157] Installing util-linux-core-0: 100% | 254.6 MiB/s | 1.5 MiB | 00m00s [ 84/157] Installing tar-2:1.35-4.fc41. 100% | 369.8 MiB/s | 3.0 MiB | 00m00s [ 85/157] Installing libsemanage-0:3.8- 100% | 149.9 MiB/s | 307.1 KiB | 00m00s [ 86/157] Installing shadow-utils-2:4.1 100% | 238.2 MiB/s | 4.0 MiB | 00m00s [ 87/157] Installing zip-0:3.0-42.fc42. 100% | 341.7 MiB/s | 699.8 KiB | 00m00s [ 88/157] Installing gdbm-1:1.23-7.fc41 100% | 227.4 MiB/s | 465.8 KiB | 00m00s [ 89/157] Installing cyrus-sasl-lib-0:2 100% | 384.3 MiB/s | 2.3 MiB | 00m00s [ 90/157] Installing libfdisk-0:2.40.2- 100% | 355.5 MiB/s | 364.0 KiB | 00m00s [ 91/157] Installing libxml2-0:2.12.9-1 100% | 337.2 MiB/s | 1.7 MiB | 00m00s [ 92/157] Installing libarchive-0:3.7.7 100% | 304.1 MiB/s | 934.2 KiB | 00m00s [ 93/157] Installing bzip2-0:1.0.8-19.f 100% | 97.8 MiB/s | 100.2 KiB | 00m00s [ 94/157] Installing sqlite-libs-0:3.47 100% | 358.5 MiB/s | 1.4 MiB | 00m00s [ 95/157] Installing rpm-libs-0:4.20.0- 100% | 355.3 MiB/s | 727.7 KiB | 00m00s [ 96/157] Installing add-determinism-0: 100% | 394.8 MiB/s | 2.4 MiB | 00m00s [ 97/157] Installing build-reproducibil 100% | 0.0 B/s | 1.0 KiB | 00m00s [ 98/157] Installing ed-0:1.20.2-2.fc41 100% | 145.7 MiB/s | 149.2 KiB | 00m00s [ 99/157] Installing patch-0:2.7.6-25.f 100% | 261.9 MiB/s | 268.2 KiB | 00m00s [100/157] Installing filesystem-srpm-ma 100% | 0.0 B/s | 36.8 KiB | 00m00s [101/157] Installing elfutils-default-y 100% | 408.6 KiB/s | 2.0 KiB | 00m00s [102/157] Installing elfutils-libs-0:0. 100% | 216.4 MiB/s | 664.7 KiB | 00m00s [103/157] Installing cpio-0:2.15-2.fc41 100% | 274.9 MiB/s | 1.1 MiB | 00m00s [104/157] Installing diffutils-0:3.10-8 100% | 318.1 MiB/s | 1.6 MiB | 00m00s [105/157] Installing json-c-0:0.18-1.fc 100% | 82.6 MiB/s | 84.6 KiB | 00m00s [106/157] Installing jansson-0:2.14-1.f 100% | 92.3 MiB/s | 94.5 KiB | 00m00s [107/157] Installing libpkgconf-0:2.3.0 100% | 0.0 B/s | 79.3 KiB | 00m00s [108/157] Installing pkgconf-0:2.3.0-1. 100% | 89.0 MiB/s | 91.1 KiB | 00m00s [109/157] Installing pkgconf-pkg-config 100% | 0.0 B/s | 1.8 KiB | 00m00s [110/157] Installing keyutils-libs-0:1. 100% | 54.5 MiB/s | 55.8 KiB | 00m00s [111/157] Installing libverto-0:0.3.2-9 100% | 30.5 MiB/s | 31.3 KiB | 00m00s [112/157] Installing krb5-libs-0:1.21.3 100% | 329.3 MiB/s | 2.3 MiB | 00m00s [113/157] Installing libtirpc-0:1.3.6-1 100% | 194.7 MiB/s | 199.4 KiB | 00m00s [114/157] Installing libnsl2-0:2.0.1-2. 100% | 57.7 MiB/s | 59.1 KiB | 00m00s [115/157] Installing pam-0:1.7.0-3.fc42 100% | 172.1 MiB/s | 1.9 MiB | 00m00s [116/157] Installing libssh-0:0.11.1-1. 100% | 279.2 MiB/s | 571.7 KiB | 00m00s [117/157] Installing libgomp-0:15.0.0-0 100% | 259.1 MiB/s | 530.7 KiB | 00m00s [118/157] Installing rpm-build-libs-0:4 100% | 202.6 MiB/s | 207.5 KiB | 00m00s [119/157] Installing xxhash-libs-0:0.8. 100% | 87.8 MiB/s | 89.9 KiB | 00m00s [120/157] Installing libbrotli-0:1.1.0- 100% | 273.4 MiB/s | 839.9 KiB | 00m00s [121/157] Installing libnghttp2-0:1.64. 100% | 171.5 MiB/s | 175.6 KiB | 00m00s [122/157] Installing libtool-ltdl-0:2.5 100% | 67.6 MiB/s | 69.2 KiB | 00m00s [123/157] Installing openldap-0:2.6.8-6 100% | 212.0 MiB/s | 651.2 KiB | 00m00s [124/157] Installing libcurl-0:8.11.1-2 100% | 399.6 MiB/s | 818.4 KiB | 00m00s [125/157] Installing elfutils-debuginfo 100% | 81.8 MiB/s | 83.8 KiB | 00m00s [126/157] Installing elfutils-0:0.192-7 100% | 377.8 MiB/s | 2.6 MiB | 00m00s [127/157] Installing binutils-0:2.43.50 100% | 385.1 MiB/s | 25.8 MiB | 00m00s [128/157] Installing gdb-minimal-0:15.2 100% | 385.6 MiB/s | 12.7 MiB | 00m00s [129/157] Installing debugedit-0:5.1-2. 100% | 198.3 MiB/s | 203.0 KiB | 00m00s [130/157] Installing curl-0:8.11.1-2.fc 100% | 44.4 MiB/s | 454.5 KiB | 00m00s [131/157] Installing rpm-0:4.20.0-1.fc4 100% | 179.0 MiB/s | 2.5 MiB | 00m00s [132/157] Installing efi-srpm-macros-0: 100% | 0.0 B/s | 41.2 KiB | 00m00s [133/157] Installing lua-srpm-macros-0: 100% | 0.0 B/s | 1.9 KiB | 00m00s [134/157] Installing zig-srpm-macros-0: 100% | 0.0 B/s | 1.7 KiB | 00m00s [135/157] Installing rust-srpm-macros-0 100% | 0.0 B/s | 5.6 KiB | 00m00s [136/157] Installing qt6-srpm-macros-0: 100% | 0.0 B/s | 732.0 B | 00m00s [137/157] Installing qt5-srpm-macros-0: 100% | 0.0 B/s | 776.0 B | 00m00s [138/157] Installing perl-srpm-macros-0 100% | 0.0 B/s | 1.1 KiB | 00m00s [139/157] Installing package-notes-srpm 100% | 0.0 B/s | 2.0 KiB | 00m00s [140/157] Installing openblas-srpm-macr 100% | 0.0 B/s | 392.0 B | 00m00s [141/157] Installing ocaml-srpm-macros- 100% | 0.0 B/s | 2.2 KiB | 00m00s [142/157] Installing kernel-srpm-macros 100% | 0.0 B/s | 2.3 KiB | 00m00s [143/157] Installing gnat-srpm-macros-0 100% | 0.0 B/s | 1.3 KiB | 00m00s [144/157] Installing ghc-srpm-macros-0: 100% | 0.0 B/s | 1.0 KiB | 00m00s [145/157] Installing fpc-srpm-macros-0: 100% | 0.0 B/s | 420.0 B | 00m00s [146/157] Installing ansible-srpm-macro 100% | 0.0 B/s | 36.2 KiB | 00m00s [147/157] Installing fonts-srpm-macros- 100% | 55.7 MiB/s | 57.0 KiB | 00m00s [148/157] Installing forge-srpm-macros- 100% | 0.0 B/s | 40.3 KiB | 00m00s [149/157] Installing go-srpm-macros-0:3 100% | 60.5 MiB/s | 62.0 KiB | 00m00s [150/157] Installing python-srpm-macros 100% | 0.0 B/s | 52.2 KiB | 00m00s [151/157] Installing redhat-rpm-config- 100% | 94.3 MiB/s | 193.2 KiB | 00m00s [152/157] Installing rpm-build-0:4.20.0 100% | 99.1 MiB/s | 202.9 KiB | 00m00s [153/157] Installing pyproject-srpm-mac 100% | 1.2 MiB/s | 2.5 KiB | 00m00s [154/157] Installing util-linux-0:2.40. 100% | 176.9 MiB/s | 3.7 MiB | 00m00s [155/157] Installing authselect-0:1.5.0 100% | 79.1 MiB/s | 161.9 KiB | 00m00s [156/157] Installing which-0:2.21-42.fc 100% | 80.5 MiB/s | 82.4 KiB | 00m00s [157/157] Installing info-0:7.1.1-2.fc4 100% | 229.9 KiB/s | 362.2 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.x86_64 alternatives-1.31-1.fc42.x86_64 ansible-srpm-macros-1-16.fc41.noarch audit-libs-4.0.2-1.fc41.x86_64 authselect-1.5.0-8.fc42.x86_64 authselect-libs-1.5.0-8.fc42.x86_64 basesystem-11-21.fc41.noarch bash-5.2.37-1.fc42.x86_64 binutils-2.43.50-9.fc42.x86_64 build-reproducibility-srpm-macros-0.5.0-1.fc42.noarch bzip2-1.0.8-19.fc41.x86_64 bzip2-libs-1.0.8-19.fc41.x86_64 ca-certificates-2024.2.69_v8.0.401-4.fc42.noarch coreutils-9.5-11.fc42.x86_64 coreutils-common-9.5-11.fc42.x86_64 cpio-2.15-2.fc41.x86_64 cracklib-2.9.11-6.fc41.x86_64 crypto-policies-20241128-1.gitbb7b0b0.fc42.noarch curl-8.11.1-2.fc42.x86_64 cyrus-sasl-lib-2.1.28-27.fc41.x86_64 debugedit-5.1-2.fc42.x86_64 diffutils-3.10-8.fc41.x86_64 dwz-0.15-8.fc42.x86_64 ed-1.20.2-2.fc41.x86_64 efi-srpm-macros-5-13.fc42.noarch elfutils-0.192-7.fc42.x86_64 elfutils-debuginfod-client-0.192-7.fc42.x86_64 elfutils-default-yama-scope-0.192-7.fc42.noarch elfutils-libelf-0.192-7.fc42.x86_64 elfutils-libs-0.192-7.fc42.x86_64 fedora-gpg-keys-42-0.3.noarch fedora-release-42-0.11.noarch fedora-release-common-42-0.11.noarch fedora-release-identity-basic-42-0.11.noarch fedora-repos-42-0.3.noarch fedora-repos-rawhide-42-0.3.noarch file-5.45-8.fc42.x86_64 file-libs-5.45-8.fc42.x86_64 filesystem-3.18-29.fc42.x86_64 filesystem-srpm-macros-3.18-29.fc42.noarch findutils-4.10.0-4.fc41.x86_64 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.x86_64 gdb-minimal-15.2-4.fc42.x86_64 gdbm-1.23-7.fc41.x86_64 gdbm-libs-1.23-7.fc41.x86_64 ghc-srpm-macros-1.9.2-1.fc42.noarch glibc-2.40.9000-26.fc42.x86_64 glibc-common-2.40.9000-26.fc42.x86_64 glibc-gconv-extra-2.40.9000-26.fc42.x86_64 glibc-minimal-langpack-2.40.9000-26.fc42.x86_64 gmp-6.3.0-2.fc41.x86_64 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.x86_64 gzip-1.13-2.fc41.x86_64 info-7.1.1-2.fc42.x86_64 jansson-2.14-1.fc42.x86_64 json-c-0.18-1.fc42.x86_64 kernel-srpm-macros-1.0-24.fc41.noarch keyutils-libs-1.6.3-4.fc41.x86_64 krb5-libs-1.21.3-3.fc42.x86_64 libacl-2.3.2-2.fc41.x86_64 libarchive-3.7.7-1.fc42.x86_64 libattr-2.5.2-4.fc41.x86_64 libblkid-2.40.2-8.fc42.x86_64 libbrotli-1.1.0-5.fc41.x86_64 libcap-2.71-1.fc42.x86_64 libcap-ng-0.8.5-3.fc41.x86_64 libcom_err-1.47.1-6.fc42.x86_64 libcurl-8.11.1-2.fc42.x86_64 libeconf-0.7.5-1.fc42.x86_64 libevent-2.1.12-14.fc41.x86_64 libfdisk-2.40.2-8.fc42.x86_64 libffi-3.4.6-3.fc42.x86_64 libgcc-15.0.0-0.2.fc42.x86_64 libgomp-15.0.0-0.2.fc42.x86_64 libidn2-2.3.7-2.fc41.x86_64 libmount-2.40.2-8.fc42.x86_64 libnghttp2-1.64.0-1.fc42.x86_64 libnsl2-2.0.1-2.fc41.x86_64 libpkgconf-2.3.0-1.fc42.x86_64 libpsl-0.21.5-4.fc41.x86_64 libpwquality-1.4.5-11.fc41.x86_64 libselinux-3.8-0.rc3.1.fc42.x86_64 libsemanage-3.8-0.rc3.1.fc42.x86_64 libsepol-3.8-0.rc3.1.fc42.x86_64 libsmartcols-2.40.2-8.fc42.x86_64 libssh-0.11.1-1.fc42.x86_64 libssh-config-0.11.1-1.fc42.noarch libstdc++-15.0.0-0.2.fc42.x86_64 libtasn1-4.19.0-9.fc41.x86_64 libtirpc-1.3.6-1.rc3.fc42.x86_64 libtool-ltdl-2.5.4-1.fc42.x86_64 libunistring-1.1-8.fc41.x86_64 libuuid-2.40.2-8.fc42.x86_64 libverto-0.3.2-9.fc41.x86_64 libxcrypt-4.4.37-4.fc42.x86_64 libxml2-2.12.9-1.fc42.x86_64 libzstd-1.5.6-2.fc41.x86_64 lua-libs-5.4.7-1.fc42.x86_64 lua-srpm-macros-1-14.fc41.noarch lz4-libs-1.10.0-1.fc41.x86_64 mpfr-4.2.1-5.fc41.x86_64 ncurses-base-6.5-2.20240629.fc41.noarch ncurses-libs-6.5-2.20240629.fc41.x86_64 ocaml-srpm-macros-10-3.fc41.noarch openblas-srpm-macros-2-18.fc41.noarch openldap-2.6.8-6.fc42.x86_64 openssl-libs-3.2.2-10.fc42.x86_64 p11-kit-0.25.5-4.fc42.x86_64 p11-kit-trust-0.25.5-4.fc42.x86_64 package-notes-srpm-macros-0.5-12.fc41.noarch pam-1.7.0-3.fc42.x86_64 pam-libs-1.7.0-3.fc42.x86_64 patch-2.7.6-25.fc41.x86_64 pcre2-10.44-1.fc41.1.x86_64 pcre2-syntax-10.44-1.fc41.1.noarch perl-srpm-macros-1-56.fc41.noarch pkgconf-2.3.0-1.fc42.x86_64 pkgconf-m4-2.3.0-1.fc42.noarch pkgconf-pkg-config-2.3.0-1.fc42.x86_64 popt-1.19-7.fc41.x86_64 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.x86_64 redhat-rpm-config-300-1.no_annobin.0.fc42.noarch rpm-4.20.0-1.fc42.x86_64 rpm-build-4.20.0-1.fc42.x86_64 rpm-build-libs-4.20.0-1.fc42.x86_64 rpm-libs-4.20.0-1.fc42.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 rust-srpm-macros-26.3-3.fc42.noarch sed-4.9-3.fc41.x86_64 setup-2.15.0-9.fc42.noarch shadow-utils-4.17.0-2.fc42.x86_64 sqlite-libs-3.47.2-1.fc42.x86_64 systemd-libs-257.1-1.fc42.x86_64 tar-1.35-4.fc41.x86_64 unzip-6.0-65.fc42.x86_64 util-linux-2.40.2-8.fc42.x86_64 util-linux-core-2.40.2-8.fc42.x86_64 which-2.21-42.fc41.x86_64 xxhash-libs-0.8.3-1.fc42.x86_64 xz-5.6.3-2.fc42.x86_64 xz-libs-5.6.3-2.fc42.x86_64 zig-srpm-macros-1-3.fc41.noarch zip-3.0-42.fc42.x86_64 zlib-ng-compat-2.2.2-1.fc42.x86_64 zstd-1.5.6-2.fc41.x86_64 Start: buildsrpm Start: rpmbuild -bs Building target platforms: x86_64 Building for target x86_64 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-x86_64-1736227714.460679/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-62mvg4fk/poetry/poetry.spec) Config(child) 0 minutes 11 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-x86_64) Start(bootstrap): chroot init INFO: mounting tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736227714.460679/root. INFO: reusing tmpfs at /var/lib/mock/fedora-rawhide-x86_64-bootstrap-1736227714.460679/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-x86_64-1736227714.460679/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.x86_64 rpm-sequoia-1.7.0-3.fc42.x86_64 dnf5-5.2.8.1-2.fc42.x86_64 dnf5-plugins-5.2.8.1-2.fc42.x86_64 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: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1733875200 Wrote: /builddir/build/SRPMS/poetry-1.8.5-1.fc42.src.rpm Updating and loading repositories: Additional repo https_fedorapeople_org 100% | 39.1 KiB/s | 1.5 KiB | 00m00s fedora 100% | 103.4 KiB/s | 27.6 KiB | 00m00s Copr repository 100% | 95.6 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Package Arch Version Repository Size Installing: gcc x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 109.9 MiB git-core x86_64 2.47.1-1.fc42 fedora 22.6 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 x86_64 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 x86_64 12.80-1.fc42 fedora 992.8 KiB cpp x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 37.5 MiB expat x86_64 2.6.4-1.fc42 fedora 285.5 KiB gcc-plugin-annobin x86_64 15.0.0-0.2.fc42 https_fedorapeople_org_dmalcolm_gcc_gcc_15_mass_prebuild_basearch 59.6 KiB glibc-devel x86_64 2.40.9000-26.fc42 fedora 2.3 MiB kernel-headers x86_64 6.13.0-0.rc5.42.fc42 fedora 6.5 MiB less x86_64 668-1.fc42 fedora 406.4 KiB libb2 x86_64 0.98.1-12.fc41 fedora 42.2 KiB libcbor x86_64 0.11.0-2.fc41 fedora 73.9 KiB libedit x86_64 3.1-54.20250104cvs.fc42 fedora 239.3 KiB libfido2 x86_64 1.15.0-2.fc41 fedora 238.2 KiB libmpc x86_64 1.3.1-6.fc41 fedora 164.7 KiB libxcrypt-devel x86_64 4.4.37-4.fc42 fedora 30.5 KiB make x86_64 1:4.4.1-9.fc42 fedora 1.8 MiB mpdecimal x86_64 2.5.1-16.fc41 fedora 204.9 KiB openssh x86_64 9.9p1-5.fc42 fedora 1.4 MiB openssh-clients x86_64 9.9p1-5.fc42 fedora 2.7 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 x86_64 3.13.1-2.fc42 fedora 30.6 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 x86_64 3.13.1-2.fc42 fedora 39.8 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.16.0-23.fc41 fedora 118.3 KiB tzdata noarch 2024b-1.fc42 fedora 1.6 MiB Transaction Summary: Installing: 42 packages Total size of inbound packages is 76 MiB. Need to download 9 MiB. After this operation, 256 MiB extra will be used (install 256 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/9] gcc-0:15.0.0-0.2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 3/10] python3-devel-0:3.13.1-2.fc42.x 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 4/11] expat-0:2.6.4-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 5/12] less-0:668-1.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 6/14] python-rpm-macros-0:3.13-3.fc41 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 7/15] python3-rpm-macros-0:3.13-3.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 8/19] cpp-0:15.0.0-0.2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 9/20] libmpc-0:1.3.1-6.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [10/21] make-1:4.4.1-9.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [11/22] python3-libs-0:3.13.1-2.fc42.x8 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [12/23] libedit-0:3.1-54.20250104cvs.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [13/26] libb2-0:0.98.1-12.fc41.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [14/27] mpdecimal-0:2.5.1-16.fc41.x86_6 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [15/28] python-pip-wheel-0:24.3.1-1.fc4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [16/29] tzdata-0:2024b-1.fc42.noarch 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [17/33] python3-packaging-0:24.2-2.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [18/35] python3-0:3.13.1-2.fc42.x86_64 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [19/36] glibc-devel-0:2.40.9000-26.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [20/37] libxcrypt-devel-0:4.4.37-4.fc42 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [21/38] kernel-headers-0:6.13.0-0.rc5.4 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [22/39] gcc-plugin-annobin-0:15.0.0-0.2 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [23/40] annobin-plugin-gcc-0:12.80-1.fc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [24/41] annobin-docs-0:12.80-1.fc42.noa 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [25/42] python3-rpm-generators-0:14-11. 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [26/42] python-unversioned-command-0:3. 100% | 692.9 KiB/s | 11.1 KiB | 00m00s [27/42] python3-deepdiff-0:8.0.1-1.fc42 100% | 31.4 MiB/s | 192.7 KiB | 00m00s [28/42] git-core-0:2.47.1-1.fc42.x86_64 100% | 179.9 MiB/s | 4.9 MiB | 00m00s [29/42] python3-cachy-0:0.3.0-19.fc41.n 100% | 2.1 MiB/s | 61.2 KiB | 00m00s [30/42] python3-httpretty-0:1.1.4-21.fc 100% | 14.1 MiB/s | 72.1 KiB | 00m00s [31/42] python3-pytest-mock-0:3.14.0-2. 100% | 13.6 MiB/s | 41.7 KiB | 00m00s [32/42] python3-pytest-xdist-0:3.6.1-4. 100% | 21.7 MiB/s | 111.0 KiB | 00m00s [33/42] python3-orderly-set-0:5.2.2-3.f 100% | 10.6 MiB/s | 32.6 KiB | 00m00s [34/42] python3-six-0:1.16.0-23.fc41.no 100% | 20.1 MiB/s | 41.2 KiB | 00m00s [35/42] python3-execnet-0:2.1.1-4.fc42. 100% | 51.0 MiB/s | 261.1 KiB | 00m00s [36/42] libfido2-0:1.15.0-2.fc41.x86_64 100% | 16.0 MiB/s | 98.1 KiB | 00m00s [37/42] openssh-0:9.9p1-5.fc42.x86_64 100% | 86.3 MiB/s | 353.3 KiB | 00m00s [38/42] libcbor-0:0.11.0-2.fc41.x86_64 100% | 32.4 MiB/s | 33.1 KiB | 00m00s [39/42] python3-iniconfig-0:1.1.1-23.fc 100% | 8.8 MiB/s | 18.1 KiB | 00m00s [40/42] python3-pluggy-0:1.5.0-1.fc41.n 100% | 19.1 MiB/s | 58.6 KiB | 00m00s [41/42] python3-pytest-0:8.3.4-1.fc42.n 100% | 195.5 MiB/s | 2.2 MiB | 00m00s [42/42] openssh-clients-0:9.9p1-5.fc42. 100% | 28.6 MiB/s | 761.6 KiB | 00m00s -------------------------------------------------------------------------------- [42/42] Total 100% | 24.2 MiB/s | 9.1 MiB | 00m00s Running transaction [ 1/44] Verify package files 100% | 187.0 B/s | 42.0 B | 00m00s [ 2/44] Prepare transaction 100% | 1.1 KiB/s | 42.0 B | 00m00s [ 3/44] Installing python-rpm-macros-0: 100% | 0.0 B/s | 22.8 KiB | 00m00s [ 4/44] Installing python3-rpm-macros-0 100% | 0.0 B/s | 6.7 KiB | 00m00s [ 5/44] Installing libmpc-0:1.3.1-6.fc4 100% | 162.3 MiB/s | 166.2 KiB | 00m00s [ 6/44] Installing expat-0:2.6.4-1.fc42 100% | 280.9 MiB/s | 287.6 KiB | 00m00s [ 7/44] Installing cpp-0:15.0.0-0.2.fc4 100% | 382.6 MiB/s | 37.5 MiB | 00m00s [ 8/44] Installing pyproject-rpm-macros 100% | 113.0 MiB/s | 115.7 KiB | 00m00s [ 9/44] Installing annobin-docs-0:12.80 100% | 48.7 MiB/s | 99.7 KiB | 00m00s [10/44] Installing kernel-headers-0:6.1 100% | 221.5 MiB/s | 6.6 MiB | 00m00s [11/44] Installing libxcrypt-devel-0:4. 100% | 16.0 MiB/s | 32.9 KiB | 00m00s [12/44] Installing glibc-devel-0:2.40.9 100% | 179.4 MiB/s | 2.3 MiB | 00m00s [13/44] Installing libcbor-0:0.11.0-2.f 100% | 73.5 MiB/s | 75.3 KiB | 00m00s [14/44] Installing libfido2-0:1.15.0-2. 100% | 58.5 MiB/s | 239.7 KiB | 00m00s [15/44] Installing tzdata-0:2024b-1.fc4 100% | 60.8 MiB/s | 1.9 MiB | 00m00s [16/44] Installing python-pip-wheel-0:2 100% | 622.1 MiB/s | 1.2 MiB | 00m00s [17/44] Installing mpdecimal-0:2.5.1-16 100% | 201.2 MiB/s | 206.0 KiB | 00m00s [18/44] Installing libb2-0:0.98.1-12.fc 100% | 8.5 MiB/s | 43.3 KiB | 00m00s [19/44] Installing python3-libs-0:3.13. 100% | 338.0 MiB/s | 40.2 MiB | 00m00s [20/44] Installing python3-0:3.13.1-2.f 100% | 31.6 MiB/s | 32.4 KiB | 00m00s [21/44] Installing python3-packaging-0: 100% | 184.9 MiB/s | 568.0 KiB | 00m00s [22/44] Installing python3-rpm-generato 100% | 0.0 B/s | 82.9 KiB | 00m00s [23/44] Installing python3-orderly-set- 100% | 104.2 MiB/s | 106.7 KiB | 00m00s [24/44] Installing python3-six-0:1.16.0 100% | 117.9 MiB/s | 120.7 KiB | 00m00s [25/44] Installing python3-execnet-0:2. 100% | 183.2 MiB/s | 938.2 KiB | 00m00s [26/44] Installing python3-iniconfig-0: 100% | 23.0 MiB/s | 23.6 KiB | 00m00s [27/44] Installing python3-pluggy-0:1.5 100% | 64.9 MiB/s | 199.4 KiB | 00m00s [28/44] Installing python3-pytest-0:8.3 100% | 466.9 MiB/s | 21.0 MiB | 00m00s [29/44] Installing openssh-0:9.9p1-5.fc 100% | 459.8 MiB/s | 1.4 MiB | 00m00s [30/44] Installing libedit-0:3.1-54.202 100% | 235.3 MiB/s | 241.0 KiB | 00m00s [31/44] Installing openssh-clients-0:9. 100% | 221.5 MiB/s | 2.7 MiB | 00m00s [32/44] Installing make-1:4.4.1-9.fc42. 100% | 257.2 MiB/s | 1.8 MiB | 00m00s [33/44] Installing gcc-0:15.0.0-0.2.fc4 100% | 422.9 MiB/s | 110.0 MiB | 00m00s [34/44] Installing less-0:668-1.fc42.x8 100% | 200.0 MiB/s | 409.7 KiB | 00m00s [35/44] Installing git-core-0:2.47.1-1. 100% | 444.2 MiB/s | 22.7 MiB | 00m00s [36/44] Installing gcc-plugin-annobin-0 100% | 5.0 MiB/s | 61.2 KiB | 00m00s [37/44] Installing annobin-plugin-gcc-0 100% | 74.7 MiB/s | 994.5 KiB | 00m00s [38/44] Installing python3-pytest-mock- 100% | 119.0 MiB/s | 121.9 KiB | 00m00s [39/44] Installing python3-pytest-xdist 100% | 211.0 MiB/s | 432.1 KiB | 00m00s [40/44] Installing python3-httpretty-0: 100% | 277.6 MiB/s | 284.3 KiB | 00m00s [41/44] Installing python3-deepdiff-0:8 100% | 213.9 MiB/s | 656.9 KiB | 00m00s [42/44] Installing python3-devel-0:3.13 100% | 201.7 MiB/s | 1.8 MiB | 00m00s [43/44] Installing python-unversioned-c 100% | 0.0 B/s | 424.0 B | 00m00s [44/44] Installing python3-cachy-0:0.3. 100% | 1.2 MiB/s | 145.4 KiB | 00m00s Warning: skipped OpenPGP checks for 3 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: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1733875200 Executing(%mkbuilddir): /bin/sh -e /var/tmp/rpm-tmp.TSGyLo + 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.3IOzni + 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.4dZcw1 + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.x86_64-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.x86_64-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: fedora 100% | 106.6 KiB/s | 27.6 KiB | 00m00s Copr repository 100% | 127.5 KiB/s | 1.5 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 56.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.x86_64" is already installed. Package "git-core-2.47.1-1.fc42.x86_64" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" 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 754 KiB. After this operation, 14 MiB extra will be used (install 14 MiB, remove 0 B). [1/1] python3-pip-0:24.3.1-1.fc42.noarc 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded -------------------------------------------------------------------------------- [1/1] Total 100% | 0.0 B/s | 0.0 B | 00m00s [1/4] python3-fastjsonschema-0:2.21.1-1 100% | 4.5 MiB/s | 65.2 KiB | 00m00s [2/4] python3-poetry-core-0:1.9.1-1.fc4 100% | 10.4 MiB/s | 299.2 KiB | 00m00s [3/4] python3-lark-0:1.2.2-1.fc42.noarc 100% | 13.1 MiB/s | 389.3 KiB | 00m00s -------------------------------------------------------------------------------- [4/4] Total 100% | 0.0 B/s | 0.0 B | 00m00s Running transaction [1/6] Verify package files 100% | 400.0 B/s | 4.0 B | 00m00s [2/6] Prepare transaction 100% | 235.0 B/s | 4.0 B | 00m00s [3/6] Installing python3-lark-0:1.2.2-1 100% | 219.5 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% | 95.6 MiB/s | 1.1 MiB | 00m00s [6/6] Installing python3-pip-0:24.3.1-1 100% | 184.4 MiB/s | 11.6 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.ki4VXm + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.x86_64-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.x86_64-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% | 102.2 KiB/s | 27.6 KiB | 00m00s Copr repository 100% | 127.5 KiB/s | 1.5 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 37.2 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.x86_64" is already installed. Package "git-core-2.47.1-1.fc42.x86_64" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" 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 x86_64 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 x86_64 1.17.1-1.fc42 fedora 1.3 MiB python3-charset-normalizer noarch 3.4.0-1.fc42 fedora 319.9 KiB python3-cryptography x86_64 43.0.0-3.fc42 fedora 4.7 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 x86_64 1.1.0-1.fc42 fedora 330.0 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 x86_64 3.11.0-1.fc42 fedora 11.0 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 9 MiB. After this operation, 44 MiB extra will be used (install 44 MiB, remove 0 B). [ 1/24] python3-setuptools-0:74.1.3-4.f 100% | 0.0 B/s | 0.0 B | 00m00s >>> Already downloaded [ 2/41] python3-CacheControl+filecache- 100% | 723.4 KiB/s | 8.7 KiB | 00m00s [ 3/41] python3-build-0:1.2.2-1.fc42.no 100% | 4.4 MiB/s | 66.9 KiB | 00m00s [ 4/41] python3-CacheControl-0:0.14.1-1 100% | 3.9 MiB/s | 59.8 KiB | 00m00s [ 5/41] python3-installer-0:0.7.0-8.fc4 100% | 43.4 MiB/s | 266.4 KiB | 00m00s [ 6/41] python3-crashtest-0:0.4.1-7.fc4 100% | 5.3 MiB/s | 32.7 KiB | 00m00s [ 7/41] python3-pexpect-0:4.9.0-8.fc42. 100% | 43.2 MiB/s | 177.1 KiB | 00m00s [ 8/41] python3-cleo-0:2.1.0-4.fc41.noa 100% | 16.4 MiB/s | 235.0 KiB | 00m00s [ 9/41] python3-platformdirs-0:4.2.2-2. 100% | 15.1 MiB/s | 46.3 KiB | 00m00s [10/41] python3-poetry-plugin-export-0: 100% | 17.5 MiB/s | 35.9 KiB | 00m00s [11/41] python3-pyproject-hooks-0:1.2.0 100% | 9.9 MiB/s | 30.4 KiB | 00m00s [12/41] python3-requests-0:2.32.3-3.fc4 100% | 31.1 MiB/s | 159.4 KiB | 00m00s [13/41] python3-requests-toolbelt-0:1.0 100% | 28.7 MiB/s | 117.7 KiB | 00m00s [14/41] python3-shellingham-0:1.5.4-8.f 100% | 16.5 MiB/s | 33.8 KiB | 00m00s [15/41] python3-tomlkit-0:0.13.2-1.fc42 100% | 29.3 MiB/s | 120.1 KiB | 00m00s [16/41] python3-pkginfo-0:1.12.0-1.fc42 100% | 2.5 MiB/s | 52.0 KiB | 00m00s [17/41] python3-virtualenv-0:20.28.1-1. 100% | 47.2 MiB/s | 290.2 KiB | 00m00s [18/41] python3-dulwich-0:0.22.1-1.fc42 100% | 108.8 MiB/s | 557.1 KiB | 00m00s [19/41] python3-keyring-0:25.5.0-1.fc42 100% | 23.8 MiB/s | 121.6 KiB | 00m00s [20/41] python3-trove-classifiers-0:202 100% | 8.8 MiB/s | 27.1 KiB | 00m00s [21/41] python3-filelock-0:3.15.4-2.fc4 100% | 14.1 MiB/s | 43.3 KiB | 00m00s [22/41] python3-msgpack-0:1.1.0-1.fc42. 100% | 17.3 MiB/s | 106.2 KiB | 00m00s [23/41] python3-ptyprocess-0:0.7.0-9.fc 100% | 8.8 MiB/s | 36.0 KiB | 00m00s [24/41] python3-poetry-0:1.8.5-1.fc42.n 100% | 105.1 MiB/s | 645.6 KiB | 00m00s [25/41] python3-charset-normalizer-0:3. 100% | 17.8 MiB/s | 109.2 KiB | 00m00s [26/41] python3-idna-0:3.10-1.fc42.noar 100% | 22.9 MiB/s | 117.2 KiB | 00m00s [27/41] python3-urllib3-0:2.3.0-1.fc42. 100% | 69.2 MiB/s | 283.3 KiB | 00m00s [28/41] python-wheel-wheel-1:0.45.1-1.f 100% | 15.1 MiB/s | 77.1 KiB | 00m00s [29/41] python3-distlib-0:0.3.9-1.fc42. 100% | 52.1 MiB/s | 266.7 KiB | 00m00s [30/41] python3-jaraco-classes-0:3.4.0- 100% | 10.4 MiB/s | 21.3 KiB | 00m00s [31/41] python-setuptools-wheel-0:74.1. 100% | 72.3 MiB/s | 1.1 MiB | 00m00s [32/41] python3-jaraco-context-0:6.0.1- 100% | 10.5 MiB/s | 21.4 KiB | 00m00s [33/41] python3-jaraco-functools-0:4.1. 100% | 11.7 MiB/s | 24.0 KiB | 00m00s [34/41] python3-jeepney-0:0.8.0-10.fc41 100% | 96.2 MiB/s | 295.7 KiB | 00m00s [35/41] python3-secretstorage-0:3.3.3^2 100% | 22.0 MiB/s | 45.0 KiB | 00m00s [36/41] python3-more-itertools-0:10.5.0 100% | 38.5 MiB/s | 118.1 KiB | 00m00s [37/41] python3-cryptography-0:43.0.0-3 100% | 168.3 MiB/s | 1.3 MiB | 00m00s [38/41] python3-cffi-0:1.17.1-1.fc42.x8 100% | 50.1 MiB/s | 307.6 KiB | 00m00s [39/41] python3-pycparser-0:2.20-18.fc4 100% | 31.1 MiB/s | 159.5 KiB | 00m00s [40/41] python3-ply-0:3.11-25.fc41.noar 100% | 26.6 MiB/s | 136.2 KiB | 00m00s [41/41] python3-rapidfuzz-0:3.11.0-1.fc 100% | 23.7 MiB/s | 1.9 MiB | 00m00s -------------------------------------------------------------------------------- [41/41] Total 100% | 23.6 MiB/s | 9.4 MiB | 00m00s Running transaction [ 1/43] Verify package files 100% | 1.1 KiB/s | 41.0 B | 00m00s [ 2/43] Prepare transaction 100% | 1.1 KiB/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% | 309.7 MiB/s | 634.3 KiB | 00m00s [ 6/43] Installing python3-urllib3-0:2. 100% | 145.4 MiB/s | 1.0 MiB | 00m00s [ 7/43] Installing python3-setuptools-0 100% | 225.2 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% | 373.1 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% | 267.6 MiB/s | 1.3 MiB | 00m00s [20/43] Installing python3-cryptography 100% | 251.3 MiB/s | 4.8 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% | 390.7 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% | 384.3 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% | 161.0 MiB/s | 329.8 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% | 442.0 MiB/s | 11.1 MiB | 00m00s [34/43] Installing python3-cleo-0:2.1.0 100% | 129.0 MiB/s | 792.6 KiB | 00m00s [35/43] Installing python3-msgpack-0:1. 100% | 163.5 MiB/s | 334.9 KiB | 00m00s [36/43] Installing python3-CacheControl 100% | 148.4 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% | 340.9 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% | 64.6 MiB/s | 2.3 MiB | 00m00s Complete! Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.61tXtt + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.x86_64-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.x86_64-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% | 101.9 KiB/s | 27.6 KiB | 00m00s Additional repo https_fedorapeople_org 100% | 36.3 KiB/s | 1.5 KiB | 00m00s Copr repository 100% | 95.6 KiB/s | 1.5 KiB | 00m00s Repositories loaded. Nothing to do. Package "python-unversioned-command-3.13.1-2.fc42.noarch" is already installed. Package "gcc-15.0.0-0.2.fc42.x86_64" is already installed. Package "git-core-2.47.1-1.fc42.x86_64" is already installed. Package "pyproject-rpm-macros-1.16.3-1.fc42.noarch" is already installed. Package "python3-devel-3.13.1-2.fc42.x86_64" 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.x86_64" 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. Building target platforms: x86_64 Building for target x86_64 setting SOURCE_DATE_EPOCH=1733875200 Executing(%generate_buildrequires): /bin/sh -e /var/tmp/rpm-tmp.H1LKEI + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.x86_64-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.x86_64-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.yhkF3n + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + VALAFLAGS=-g + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.l6dSzQ + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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.x86_64-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.x86_64-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.x86_64-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.x86_64-pyproject-files --output-modules /builddir/build/BUILD/poetry-1.8.5-build/poetry-1.8.5-1.fc42.x86_64-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.x86_64-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 -j4 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 -j4 /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__/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__/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__/__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__/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/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.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/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/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/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/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.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.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__/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/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__/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__/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__/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__/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.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.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__/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__/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/__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/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__/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__/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__/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__/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__/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__/export.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/__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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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__/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/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/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__/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__/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/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/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/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/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__/__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__/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/__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_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/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/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/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/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/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/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/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/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/__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__/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__/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/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/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.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/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/__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/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/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/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/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/__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/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/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__/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__/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__/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__/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__/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__/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__/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/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/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__/__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__/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/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/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/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/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/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/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/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/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/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/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__/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/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/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__/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__/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/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/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__/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/__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__/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__/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__/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__/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/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__/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/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/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.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/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/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_pool.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__/__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/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/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__/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__/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__/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__/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__/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__/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__/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__/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__/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/__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/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__/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__/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/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__/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/__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__/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__/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__/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__/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__/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__/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__/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/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/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/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/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/__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/__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/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__/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__/locations.cpython-313.pyc: rewriting with normalized contents /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/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/__pycache__/factory.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__/factory.cpython-313.pyc: replacing with normalized version /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 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.0dgldt + 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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CFLAGS + CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + export CXXFLAGS + FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -I/usr/lib64/gfortran/modules ' + export FCFLAGS + VALAFLAGS=-g + export VALAFLAGS + RUSTFLAGS='-Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn' + export RUSTFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -mtls-dialect=gnu2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer ' + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,pack-relative-relocs -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=4 + /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: 4/4 workers 4 workers [1617 items] ........................................................................ [ 4%] ........................................................................ [ 8%] ........................................................................ [ 13%] ........................................................................ [ 17%] ........................................................................ [ 22%] ........................................................................ [ 26%] ............................FF......F..F................................ [ 31%] .............F......F................F...s.................sF........... [ 35%] .............F....F.......................F............................. [ 40%] ......................................................F..F..F......F..FF [ 44%] ..FF..F.F.F.F.F..FF...FF..F.F...............F........F...............F.. [ 48%] ......F........F...F....F.......FF.....F..F................FF.........F. [ 53%] F...........................F................................F.......... [ 57%] .............F.............s............................................ [ 62%] ..............F......................................................... [ 66%] ........................................................................ [ 71%] ........................................................................ [ 75%] ..F....F....F.F....F........F......F..FF..F...............F........F.... [ 80%] F...F....F.F.....F.....F....F..F...F...F...F....F....F.....F.F..FF...FFF [ 84%] F.F.F.F.FF.sF...FFFFFFFFF..F..FFF.FFF.F.FFF.sFF...F.....FF.............F [ 89%] ..F............Fs.......F..............................F.FF....F..FF.FFF [ 93%] ........F............................................................... [ 97%] F..F...FF...............FFFFFFFFF [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_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_0/.venv") fixture_dir = ._fixture_dir at 0x7fd673aae700> @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_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_1/.venv") fixture_dir = ._fixture_dir at 0x7fd673aae700> @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_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_2/.venv") fixture_dir = ._fixture_dir at 0x7fd673aae700> @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_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 0x7fd673aae700> 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 0x7fd673aae700> 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 0x7fd673aae700> 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_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_uploader_properly_handles_400_errors ___________________ [gw3] 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 ___________________ [gw3] 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 _______________ [gw3] 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] _______ [gw3] 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_metadata_from_wheel_url[None] ______________________ [gw2] 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 0x7f01f6761ee0> 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_uploader_properly_handles_redirects[307-Temporary Redirect] _______ [gw3] 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_metadata_from_wheel_url[negative_offset_error1] _____________ [gw2] 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 0x7f01ee223f60> 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_uploader_properly_handles_redirects[304-Not Modified] __________ [gw3] 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_metadata_from_wheel_url[negative_offset_error2] _____________ [gw2] 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 0x7f01ee222de0> 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_uploader_properly_handles_redirects[303-See Other] ____________ [gw3] 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_metadata_from_wheel_url[negative_offset_error3] _____________ [gw2] 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 0x7f01ee223240> 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_uploader_properly_handles_redirects[302-Found] ______________ [gw3] 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_metadata_from_wheel_url[negative_offset_error4] _____________ [gw2] 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 0x7f01ee220040> 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_uploader_properly_handles_redirects[301-Moved Permanently] ________ [gw3] 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_metadata_from_wheel_url[negative_offset_error5] _____________ [gw2] 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 0x7f01ee2239c0> 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] _____________ [gw2] 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 0x7f01ee222a20> 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_uploader_properly_handles_redirects[300-Multiple Choices] ________ [gw3] 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_metadata_from_wheel_url[negative_offset_error7] _____________ [gw2] 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 0x7f01ee22ade0> 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_uploader_properly_handles_301_redirects _________________ [gw3] 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_metadata_from_wheel_url_416_missing_content_range ____________ [gw2] 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 0x7f01ee222c00> 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_uploader_registers_for_appropriate_400_errors ______________ [gw3] 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_metadata_from_wheel_url_with_redirect __________________ [gw2] 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 0x7f01ee9c8c20> 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_uploader_skips_existing[409-] ______________________ [gw3] 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_metadata_from_wheel_url_with_redirect_after_500 _____________ [gw2] 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 0x7f01ef2fdd00> 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_uploader_skips_existing[400-File already exists] _____________ [gw3] 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_metadata_from_wheel_url_smaller_than_initial_chunk_size[None-1] _____ [gw2] 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 0x7f01ee9c99e0> 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_uploader_skips_existing[400-Repository does not allow updating assets] __ [gw3] 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_metadata_from_wheel_url_smaller_than_initial_chunk_size[-1-1] ______ [gw2] 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 0x7f01ef2fede0> 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_uploader_skips_existing[403-Not enough permissions to overwrite artifact] _ [gw3] 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_metadata_from_wheel_url_smaller_than_initial_chunk_size[-2-2] ______ [gw2] 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 0x7f01ef2ff4c0> 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_uploader_skips_existing[400-file name has already been taken] ______ [gw3] 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_metadata_from_wheel_url_range_requests_not_supported_one_request[None] __ [gw2] 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 0x7f01ef2ff7e0> 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] __ [gw2] 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 0x7f01ef2fd940> 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_uploader_skip_existing_bubbles_unskippable_errors ____________ [gw3] 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_metadata_from_wheel_url_range_requests_not_supported_two_requests[negative_offset_error0] _ [gw2] 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 0x7f01ee881c60> 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] _ [gw2] 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 0x7f01ee8836a0> 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 ____ [gw2] 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 0x7f01ee632fc0> 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_metadata_from_wheel_url_invalid_wheel __________________ [gw2] 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 0x7f01eea7cfe0> 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_get_200_returns_page ___________________________ [gw3] 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] ______________________ [gw3] 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] ______________________ [gw3] 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_isolated_env_install_success _______________________ [gw2] 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_get_40x_and_returns_none[404] ______________________ [gw3] 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 ______________________________ [gw3] 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] ___ [gw3] 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] ___ [gw3] 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_prepare_sdist ______________________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_prepare_sdist0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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_authenticator_with_implicit_repository_configuration[repositories2] ___ [gw3] 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_prepare_directory ____________________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_prepare_directory0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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 ________________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = config_cache_dir = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_prepare_directory_editabl0/.cache/pypoetry') artifact_cache = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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[] ___________ [gw2] 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] ________ [gw2] 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] ___________ [gw2] 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] ___ [gw2] 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] ____ [gw2] 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] __________ [gw2] 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] _______ [gw2] 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] ________ [gw2] 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] _ [gw2] 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] _ [gw2] 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] _______ [gw2] 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] ____ [gw2] 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[] ___ [gw2] 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_authenticator_uses_url_provided_credentials _______________ [gw3] 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_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] _ [gw2] 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_authenticator_uses_credentials_from_config_if_not_provided ________ [gw3] 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_chooser_chooses_system_specific_wheel_link_if_available[] ________ [gw2] 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_authenticator_uses_username_only_credentials _______________ [gw3] 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_chooser_chooses_system_specific_wheel_link_if_available[legacy] _____ [gw2] 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_authenticator_ignores_locked_keyring ___________________ [gw3] linux -- Python 3.13.1 /usr/bin/python3 mock_remote = None http = with_locked_keyring = None caplog = <_pytest.logging.LogCaptureFixture object at 0x7fa75245c9d0> 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_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] _____ [gw2] 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_authenticator_ignores_failing_keyring __________________ [gw3] linux -- Python 3.13.1 /usr/bin/python3 mock_remote = None http = with_erroneous_keyring = None caplog = <_pytest.logging.LogCaptureFixture object at 0x7fa7521b4050> 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_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] __ [gw2] 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_authenticator_uses_password_only_credentials _______________ [gw3] 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_chooser_chooses_distributions_that_match_the_package_hashes[] ______ [gw2] 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_authenticator_uses_empty_strings_as_default_password ___________ [gw3] 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_chooser_chooses_distributions_that_match_the_package_hashes[legacy] ___ [gw2] 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_authenticator_uses_empty_strings_as_default_username ___________ [gw3] 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_chooser_chooses_yanked_if_no_others[] __________________ [gw2] 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_authenticator_falls_back_to_keyring_url _________________ [gw3] 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_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_chooser_chooses_yanked_if_no_others[legacy] _______________ [gw2] 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_authenticator_falls_back_to_keyring_netloc ________________ [gw3] 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_chooser_does_not_choose_yanked_if_others _________________ [gw2] 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_authenticator_request_retries_on_exception ________________ [gw3] 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_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 0x7fd673593ce0> 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_authenticator_request_raises_exception_when_attempts_exhausted ______ [gw3] 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_chooser_throws_an_error_if_package_hashes_do_not_match[] _________ [gw2] 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_authenticator_request_respects_retry_header _______________ [gw3] 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_matched_by_url_path ______ [gw1] 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_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] ______ [gw2] 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_authenticator_uses_credentials_from_config_with_at_sign_in_path _____ [gw1] 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] ___________ [gw3] 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_chooser_md5_remote_fallback_to_sha256_inline_calculation _________ [gw2] 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_authenticator_falls_back_to_keyring_url_matched_by_path _________ [gw1] 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] ___________ [gw3] 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_execute_executes_a_batch_of_operations __________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_executes_a_batch_0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_executes_a_batch_0/.venv") copy_wheel = ._copy_wheel at 0x7f01ed87c540> fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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 ' 898│ def with_socket_is_secure(sock, kw):' E ' 897│ ' E ' return self._download_link(operation, link)' E ' downloader = Downloader(url, dest, self._authenticator)' E ' 14 ~/build/BUILD/poetry-1.8.5-build/BUILDROOT/usr/lib/python3.13/site-packages/poetry/installation/executor.py:558 in _install'... E E ...Full output truncated (53 lines hidden), use '-vv' to show tests/installation/test_executor.py:236: AssertionError _____ test_authenticator_uses_env_provided_credentials_matched_by_url_path _____ [gw1] linux -- Python 3.13.1 /usr/bin/python3 config = , environ = None mock_remote = None http = monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x7fd6735935c0> 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[403-0] ___________ [gw3] 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_execute_prints_warning_for_yanked_package[operations0-True] _______ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_prints_warning_fo0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/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 black. 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 pytest. 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_authenticator_azure_feed_guid_credentials ________________ [gw1] 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[404-0] ___________ [gw3] 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_add_repository _______________________ [gw1] 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[429-5] ___________ [gw3] 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_execute_prints_warning_for_yanked_package[operations2-True] _______ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_prints_warning_fo2') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/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 black. 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 pytest. 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_authenticator_request_retries_on_status_code[500-5] ___________ [gw3] 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] ___________ [gw3] 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_execute_works_with_ansi_output ______________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 config = pool = io_decorated = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_works_with_ansi_o0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/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_download_file ______________________________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x7fd673aae700> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/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_execute_works_with_no_ansi_output ____________________ [gw2] linux -- Python 3.13.1 /usr/bin/python3 mocker = config = pool = io_not_decorated = tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_execute_works_with_no_ans0') mock_file_downloads = None env = MockEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/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 AssertionError: assert {'', ' ', ' ... 893│ ', ...} == {'', ' - Ins..., 0 removals'} E E Extra items in the left set: E ' 898│ def with_socket_is_secure(sock, kw):' E ' 897│ ' E ' 893│ ' E ' 896│ return getattr(self.truesock, name)' E ' '... E E ...Full output truncated (11 lines hidden), use '-vv' to show tests/installation/test_executor.py:483: AssertionError ___________ test_authenticator_request_retries_on_status_code[502-5] ___________ [gw3] 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_download_file_raise_accepts_ranges[True-False] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x7fd8565d2ca0> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep0') 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[False-False] _____________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x7fd673aae700> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/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[True-True] ______________ [gw0] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x7fd8565d2ca0> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw0/test_download_file_raise_accep1') 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 ___________ test_authenticator_request_retries_on_status_code[503-5] ___________ [gw3] 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_download_file_raise_accepts_ranges[False-True] ______________ [gw1] linux -- Python 3.13.1 /usr/bin/python3 http = fixture_dir = ._fixture_dir at 0x7fd673aae700> tmp_path = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/popen-gw1/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_executor_should_write_pep610_url_references_for_non_wheel_files _____ [gw2] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_executor_should_write_pep1/venv") pool = config = io = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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-gw2/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] ____ [gw2] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_executor_should_write_pep4/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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-gw2/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] _ [gw2] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_executor_should_write_pep8/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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-gw2/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] _ [gw2] linux -- Python 3.13.1 /usr/bin/python3 tmp_venv = VirtualEnv("/tmp/pytest-of-mockbuild/pytest-0/popen-gw2/test_executor_should_write_pep9/venv") pool = config = io = mock_file_downloads = None mocker = fixture_dir = ._fixture_dir at 0x7f01ef13a700> 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-gw2/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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-build] _ [gw2] 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-gw2/test_build_backend_errors_are_0/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-get_requires_for_build] _ [gw2] 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-gw2/test_build_backend_errors_are_1/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-build] _ [gw2] 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-gw2/test_build_backend_errors_are_2/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-get_requires_for_build] _ [gw2] 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-gw2/test_build_backend_errors_are_3/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-build] _ [gw2] 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-gw2/test_build_backend_errors_are_4/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-get_requires_for_build] _ [gw2] 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-gw2/test_build_backend_errors_are_5/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-build] _ [gw2] 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-gw2/test_build_backend_errors_are_6/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-get_requires_for_build] _ [gw2] 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-gw2/test_build_backend_errors_are_7/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-utf-8] _ [gw2] 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-gw2/test_build_backend_errors_are_8/.venv") fixture_dir = ._fixture_dir at 0x7f01ef13a700> @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 =============================== 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-latin-1] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[Err\xf6r on stderr-latin-1] 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/console/commands/test_search.py::test_search - httpretty.errors.... 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/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[None] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error1] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error2] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error3] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error4] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 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/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url[negative_offset_error7] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_416_missing_content_range FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_with_redirect FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_with_redirect_after_500 FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[None-1] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-1-1] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] FAILED tests/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_smaller_than_initial_chunk_size[-2-2] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 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/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 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/inspection/test_lazy_wheel.py::test_metadata_from_wheel_url_invalid_wheel 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/installation/test_chef.py::test_isolated_env_install_success - p... 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/installation/test_chef.py::test_prepare_sdist - poetry.installat... FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 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/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 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/installation/test_chooser.py::test_chooser_md5_remote_fallback_to_sha256_inline_calculation 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/installation/test_executor.py::test_execute_executes_a_batch_of_operations 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[403-0] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 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[404-0] FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 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/installation/test_executor.py::test_execute_works_with_ansi_output FAILED tests/utils/test_helpers.py::test_download_file - httpretty.errors.Unm... FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 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[False-False] FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[True-True] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] FAILED tests/utils/test_helpers.py::test_download_file_raise_accepts_ranges[False-True] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception0-build] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[False-exception1-build] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception0-build] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess[True-exception1-build] 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/installation/test_executor.py::test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding[None-utf-8] =========== 140 failed, 1471 passed, 6 skipped, 6 warnings in 30.82s =========== error: Bad exit status from /var/tmp/rpm-tmp.0dgldt (%check) Bad exit status from /var/tmp/rpm-tmp.0dgldt (%check) RPM build errors: 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-x86_64-1736227714.460679/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-x86_64) 0 minutes 47 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 d0d06e50773c47188d4f2e8ff07e58aa -D /var/lib/mock/fedora-rawhide-x86_64-1736227714.460679/root -a -u mockbuild --capability=cap_ipc_lock --rlimit=RLIMIT_NOFILE=10240 --capability=cap_ipc_lock --bind=/tmp/mock-resolv.ktm5wo_e:/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 x86_64 /builddir/build/originals/poetry.spec' Copr build error: Build failed