0s autopkgtest [22:58:47]: starting date and time: 2024-03-21 22:58:47+0000 1s autopkgtest [22:58:48]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 1s autopkgtest [22:58:48]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.lz_0wcuh/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:git,src:curl,src:gnutls28,src:libpsl,src:nettle --apt-upgrade poetry --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=git/1:2.43.0-1ubuntu5 curl/8.5.0-2ubuntu7 gnutls28/3.8.3-1.1ubuntu2 libpsl/0.21.2-1.1 nettle/3.9.1-2.2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos01-s390x-8.secgroup --name adt-noble-s390x-poetry-20240321-225847-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/ 138s autopkgtest [23:01:05]: testbed dpkg architecture: s390x 138s autopkgtest [23:01:05]: testbed apt version: 2.7.12 138s autopkgtest [23:01:05]: @@@@@@@@@@@@@@@@@@@@ test bed setup 138s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 139s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 139s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3774 kB] 139s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB] 139s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [496 kB] 139s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [671 kB] 139s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B] 139s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B] 139s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B] 139s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [3994 kB] 139s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B] 139s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [45.1 kB] 139s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B] 142s Fetched 9169 kB in 3s (3598 kB/s) 142s Reading package lists... 145s Reading package lists... 145s Building dependency tree... 145s Reading state information... 145s Calculating upgrade... 145s The following packages have been kept back: 145s curl 145s The following packages will be upgraded: 145s cloud-init debianutils python3-markupsafe 146s 3 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 146s Need to get 700 kB of archives. 146s After this operation, 11.3 kB disk space will be freed. 146s Get:1 http://ftpmaster.internal/ubuntu noble/main s390x debianutils s390x 5.17 [90.1 kB] 146s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x python3-markupsafe s390x 2.1.5-1build1 [12.8 kB] 146s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x cloud-init all 24.1.2-0ubuntu1 [597 kB] 146s Preconfiguring packages ... 146s Fetched 700 kB in 1s (1350 kB/s) 146s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 51778 files and directories currently installed.) 146s Preparing to unpack .../debianutils_5.17_s390x.deb ... 146s Unpacking debianutils (5.17) over (5.16) ... 147s Setting up debianutils (5.17) ... 147s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 51778 files and directories currently installed.) 147s Preparing to unpack .../python3-markupsafe_2.1.5-1build1_s390x.deb ... 147s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ... 147s Preparing to unpack .../cloud-init_24.1.2-0ubuntu1_all.deb ... 147s Unpacking cloud-init (24.1.2-0ubuntu1) over (24.1.1-0ubuntu1) ... 147s Setting up cloud-init (24.1.2-0ubuntu1) ... 149s Setting up python3-markupsafe (2.1.5-1build1) ... 149s Processing triggers for man-db (2.12.0-3) ... 150s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 150s Reading package lists... 151s Building dependency tree... 151s Reading state information... 151s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 151s Unknown architecture, assuming PC-style ttyS0 151s sh: Attempting to set up Debian/Ubuntu apt sources automatically 151s sh: Distribution appears to be Ubuntu 152s Reading package lists... 152s Building dependency tree... 152s Reading state information... 152s eatmydata is already the newest version (131-1). 152s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s dbus is already the newest version (1.14.10-4ubuntu1). 153s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s rng-tools-debian is already the newest version (2.4). 153s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 154s Reading package lists... 154s Building dependency tree... 154s Reading state information... 154s The following packages will be REMOVED: 154s cloud-init* python3-configobj* python3-debconf* 154s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 154s After this operation, 3256 kB disk space will be freed. 154s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 51777 files and directories currently installed.) 154s Removing cloud-init (24.1.2-0ubuntu1) ... 155s Removing python3-configobj (5.0.8-3) ... 155s Removing python3-debconf (1.5.86) ... 155s Processing triggers for man-db (2.12.0-3) ... 155s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 51388 files and directories currently installed.) 155s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 156s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 156s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 156s invoke-rc.d: policy-rc.d denied execution of try-restart. 156s Reading package lists... 156s Building dependency tree... 156s Reading state information... 157s linux-generic is already the newest version (6.8.0-11.11+1). 157s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 157s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 157s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 157s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 160s Reading package lists... 160s Reading package lists... 160s Building dependency tree... 160s Reading state information... 160s Calculating upgrade... 160s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 160s Reading package lists... 161s Building dependency tree... 161s Reading state information... 161s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 161s autopkgtest [23:01:28]: rebooting testbed after setup commands that affected boot 191s autopkgtest [23:01:58]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Tue Feb 13 23:45:46 UTC 2024 194s autopkgtest [23:02:01]: @@@@@@@@@@@@@@@@@@@@ apt-source poetry 197s Get:1 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (dsc) [3263 B] 197s Get:2 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (tar) [2624 kB] 197s Get:3 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (diff) [7344 B] 197s gpgv: Signature made Fri Nov 24 13:13:39 2023 UTC 197s gpgv: using RSA key 13796755BBC72BB8ABE2AEB5FA9DEC5DE11C63F1 197s gpgv: issuer "eamanu@debian.org" 197s gpgv: Can't check signature: No public key 197s dpkg-source: warning: cannot verify inline signature for ./poetry_1.7.1+dfsg-1.dsc: no acceptable signature found 197s autopkgtest [23:02:04]: testing package poetry version 1.7.1+dfsg-1 197s autopkgtest [23:02:04]: build not needed 198s autopkgtest [23:02:05]: test pytest: preparing testbed 203s Reading package lists... 203s Building dependency tree... 203s Reading state information... 203s Starting pkgProblemResolver with broken count: 0 203s Starting 2 pkgProblemResolver with broken count: 0 203s Done 203s The following additional packages will be installed: 203s cpp cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu gcc gcc-13 gcc-13-base 203s gcc-13-s390x-linux-gnu gcc-s390x-linux-gnu git git-man libasan8 libatomic1 203s libblas3 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev liberror-perl 203s libexpat1-dev libgcc-13-dev libgfortran5 libgomp1 libisl23 libitm1 203s libjs-jquery libjs-sphinxdoc libjs-underscore liblapack3 libmpc3 libnsl-dev 203s libpython3-all-dev libpython3-dev libpython3.11-minimal libpython3.11-stdlib 203s libpython3.12 libpython3.12-dev libtirpc-dev libubsan1 linux-libc-dev 203s python3-all python3-all-dev python3-build python3-cachecontrol python3-cachy 203s python3-cleo python3-crashtest python3-deepdiff python3-dev python3-distlib 203s python3-dulwich python3-execnet python3-fastjsonschema python3-filelock 203s python3-httpretty python3-iniconfig python3-installer python3-jsonpickle 203s python3-lockfile python3-msgpack python3-numpy python3-ordered-set 203s python3-packaging python3-pexpect python3-pip-whl python3-pkginfo 203s python3-platformdirs python3-pluggy python3-poetry python3-poetry-core 203s python3-ptyprocess python3-pylev python3-pyproject-hooks python3-pytest 203s python3-pytest-mock python3-pytest-xdist python3-requests-toolbelt 203s python3-setuptools-whl python3-shellingham python3-toml python3-tomlkit 203s python3-trove-classifiers python3-venv python3-virtualenv python3-wheel 203s python3-wheel-whl python3.11 python3.11-minimal python3.11-venv 203s python3.12-dev python3.12-venv rpcsvc-proto zlib1g-dev 203s Suggested packages: 203s cpp-doc gcc-13-locales cpp-13-doc gcc-multilib manpages-dev autoconf 203s automake libtool flex bison gdb gcc-doc gcc-13-multilib gcc-13-doc 203s gdb-s390x-linux-gnu git-daemon-run | git-daemon-sysvinit git-doc git-email 203s git-gui gitk gitweb git-cvs git-mediawiki git-svn glibc-doc python3-pip 203s python-build-doc python-cleo-doc python3-gpg execnet-doc 203s python-fastjsonschema-doc python-installer-doc python-jsonpickle-doc 203s python3-simplejson python-lockfile-doc gfortran python-pexpect-doc 203s python-pytest-mock-doc python3.11-doc binfmt-support 203s Recommended packages: 203s manpages manpages-dev libc-devtools javascript-common python3-clevercsv 203s python3-fastimport python-pkginfo-doc build-essential 203s The following NEW packages will be installed: 203s autopkgtest-satdep cpp cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu gcc 203s gcc-13 gcc-13-base gcc-13-s390x-linux-gnu gcc-s390x-linux-gnu git git-man 203s libasan8 libatomic1 libblas3 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 203s liberror-perl libexpat1-dev libgcc-13-dev libgfortran5 libgomp1 libisl23 203s libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblapack3 libmpc3 203s libnsl-dev libpython3-all-dev libpython3-dev libpython3.11-minimal 203s libpython3.11-stdlib libpython3.12 libpython3.12-dev libtirpc-dev libubsan1 203s linux-libc-dev python3-all python3-all-dev python3-build 203s python3-cachecontrol python3-cachy python3-cleo python3-crashtest 203s python3-deepdiff python3-dev python3-distlib python3-dulwich python3-execnet 203s python3-fastjsonschema python3-filelock python3-httpretty python3-iniconfig 203s python3-installer python3-jsonpickle python3-lockfile python3-msgpack 203s python3-numpy python3-ordered-set python3-packaging python3-pexpect 203s python3-pip-whl python3-pkginfo python3-platformdirs python3-pluggy 203s python3-poetry python3-poetry-core python3-ptyprocess python3-pylev 203s python3-pyproject-hooks python3-pytest python3-pytest-mock 203s python3-pytest-xdist python3-requests-toolbelt python3-setuptools-whl 203s python3-shellingham python3-toml python3-tomlkit python3-trove-classifiers 203s python3-venv python3-virtualenv python3-wheel python3-wheel-whl python3.11 203s python3.11-minimal python3.11-venv python3.12-dev python3.12-venv 203s rpcsvc-proto zlib1g-dev 203s 0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded. 203s Need to get 75.0 MB/75.0 MB of archives. 203s After this operation, 275 MB of additional disk space will be used. 203s Get:1 /tmp/autopkgtest.ATeZkA/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [824 B] 204s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.11-minimal s390x 3.11.8-1 [838 kB] 205s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x python3.11-minimal s390x 3.11.8-1 [2248 kB] 205s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-base s390x 13.2.0-17ubuntu2 [47.4 kB] 205s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.11-stdlib s390x 3.11.8-1 [1938 kB] 205s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x python3.11 s390x 3.11.8-1 [589 kB] 205s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x libisl23 s390x 0.26-3 [722 kB] 205s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x libmpc3 s390x 1.3.1-1 [54.9 kB] 205s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [9929 kB] 206s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13 s390x 13.2.0-17ubuntu2 [1026 B] 206s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x cpp-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [5308 B] 206s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x cpp s390x 4:13.2.0-7ubuntu1 [22.4 kB] 206s Get:13 http://ftpmaster.internal/ubuntu noble/main s390x libcc1-0 s390x 14-20240303-1ubuntu1 [49.9 kB] 206s Get:14 http://ftpmaster.internal/ubuntu noble/main s390x libgomp1 s390x 14-20240303-1ubuntu1 [151 kB] 206s Get:15 http://ftpmaster.internal/ubuntu noble/main s390x libitm1 s390x 14-20240303-1ubuntu1 [31.1 kB] 206s Get:16 http://ftpmaster.internal/ubuntu noble/main s390x libatomic1 s390x 14-20240303-1ubuntu1 [9392 B] 206s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x libasan8 s390x 14-20240303-1ubuntu1 [2998 kB] 206s Get:18 http://ftpmaster.internal/ubuntu noble/main s390x libubsan1 s390x 14-20240303-1ubuntu1 [1186 kB] 206s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x libgcc-13-dev s390x 13.2.0-17ubuntu2 [1003 kB] 206s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [19.1 MB] 209s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13 s390x 13.2.0-17ubuntu2 [467 kB] 209s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x gcc-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [1208 B] 209s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x gcc s390x 4:13.2.0-7ubuntu1 [5014 B] 209s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x liberror-perl all 0.17029-2 [25.6 kB] 209s Get:25 http://ftpmaster.internal/ubuntu noble/main s390x git-man all 1:2.43.0-1ubuntu1 [1100 kB] 209s Get:26 http://ftpmaster.internal/ubuntu noble/main s390x git s390x 1:2.43.0-1ubuntu1 [3837 kB] 209s Get:27 http://ftpmaster.internal/ubuntu noble/main s390x libblas3 s390x 3.12.0-3 [245 kB] 209s Get:28 http://ftpmaster.internal/ubuntu noble/main s390x libc-dev-bin s390x 2.39-0ubuntu2 [20.2 kB] 210s Get:29 http://ftpmaster.internal/ubuntu noble/main s390x linux-libc-dev s390x 6.8.0-11.11 [1590 kB] 210s Get:30 http://ftpmaster.internal/ubuntu noble/main s390x libcrypt-dev s390x 1:4.4.36-4 [135 kB] 210s Get:31 http://ftpmaster.internal/ubuntu noble/main s390x libtirpc-dev s390x 1.3.4+ds-1build1 [225 kB] 210s Get:32 http://ftpmaster.internal/ubuntu noble/main s390x libnsl-dev s390x 1.3.0-3 [73.5 kB] 210s Get:33 http://ftpmaster.internal/ubuntu noble/main s390x rpcsvc-proto s390x 1.4.2-0ubuntu6 [64.7 kB] 210s Get:34 http://ftpmaster.internal/ubuntu noble/main s390x libc6-dev s390x 2.39-0ubuntu2 [1629 kB] 210s Get:35 http://ftpmaster.internal/ubuntu noble/main s390x libexpat1-dev s390x 2.6.0-1 [1013 kB] 210s Get:36 http://ftpmaster.internal/ubuntu noble/main s390x libgfortran5 s390x 14-20240303-1ubuntu1 [598 kB] 210s Get:37 http://ftpmaster.internal/ubuntu noble/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 210s Get:38 http://ftpmaster.internal/ubuntu noble/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 210s Get:39 http://ftpmaster.internal/ubuntu noble/main s390x libjs-sphinxdoc all 7.2.6-4 [149 kB] 210s Get:40 http://ftpmaster.internal/ubuntu noble/main s390x liblapack3 s390x 3.12.0-3 [2979 kB] 211s Get:41 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.12 s390x 3.12.2-1 [2561 kB] 211s Get:42 http://ftpmaster.internal/ubuntu noble/main s390x zlib1g-dev s390x 1:1.3.dfsg-3ubuntu1 [905 kB] 211s Get:43 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.12-dev s390x 3.12.2-1 [5667 kB] 212s Get:44 http://ftpmaster.internal/ubuntu noble/main s390x libpython3-dev s390x 3.12.1-0ubuntu2 [9986 B] 212s Get:45 http://ftpmaster.internal/ubuntu noble/main s390x libpython3-all-dev s390x 3.12.1-0ubuntu2 [910 B] 212s Get:46 http://ftpmaster.internal/ubuntu noble/main s390x python3-all s390x 3.12.1-0ubuntu2 [908 B] 212s Get:47 http://ftpmaster.internal/ubuntu noble/main s390x python3.12-dev s390x 3.12.2-1 [505 kB] 212s Get:48 http://ftpmaster.internal/ubuntu noble/main s390x python3-dev s390x 3.12.1-0ubuntu2 [26.7 kB] 212s Get:49 http://ftpmaster.internal/ubuntu noble/main s390x python3-all-dev s390x 3.12.1-0ubuntu2 [908 B] 212s Get:50 http://ftpmaster.internal/ubuntu noble/main s390x python3-packaging all 23.2-1 [40.6 kB] 212s Get:51 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pyproject-hooks all 1.0.0-2 [9434 B] 212s Get:52 http://ftpmaster.internal/ubuntu noble/universe s390x python3-toml all 0.10.2-1 [16.5 kB] 212s Get:53 http://ftpmaster.internal/ubuntu noble/universe s390x python3-wheel all 0.42.0-1 [53.1 kB] 212s Get:54 http://ftpmaster.internal/ubuntu noble/universe s390x python3-build all 1.0.3-2 [27.3 kB] 212s Get:55 http://ftpmaster.internal/ubuntu noble/main s390x python3-msgpack s390x 1.0.3-3build1 [101 kB] 212s Get:56 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cachecontrol all 0.14.0-1 [19.0 kB] 212s Get:57 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cachy all 0.3.0-4 [12.0 kB] 212s Get:58 http://ftpmaster.internal/ubuntu noble/universe s390x python3-crashtest all 0.4.1-1 [6804 B] 212s Get:59 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pylev all 1.4.0-1 [6594 B] 212s Get:60 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cleo all 2.1.0-2 [51.8 kB] 212s Get:61 http://ftpmaster.internal/ubuntu noble/universe s390x python3-jsonpickle all 3.0.3+dfsg-1 [35.5 kB] 212s Get:62 http://ftpmaster.internal/ubuntu noble/main s390x python3-numpy s390x 1:1.24.2-2 [5137 kB] 213s Get:63 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ordered-set all 4.1.0-1 [9778 B] 213s Get:64 http://ftpmaster.internal/ubuntu noble/universe s390x python3-deepdiff all 6.7.1-1 [62.8 kB] 213s Get:65 http://ftpmaster.internal/ubuntu noble/universe s390x python3-distlib all 0.3.8-1 [318 kB] 213s Get:66 http://ftpmaster.internal/ubuntu noble/universe s390x python3-dulwich s390x 0.21.6-1build1 [310 kB] 213s Get:67 http://ftpmaster.internal/ubuntu noble/universe s390x python3-execnet all 2.0.0-2 [33.6 kB] 213s Get:68 http://ftpmaster.internal/ubuntu noble/universe s390x python3-fastjsonschema all 2.19.0-1 [19.6 kB] 213s Get:69 http://ftpmaster.internal/ubuntu noble/universe s390x python3-filelock all 3.13.1-1 [10.8 kB] 213s Get:70 http://ftpmaster.internal/ubuntu noble/universe s390x python3-httpretty all 1.1.4-4 [23.1 kB] 213s Get:71 http://ftpmaster.internal/ubuntu noble/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 213s Get:72 http://ftpmaster.internal/ubuntu noble/universe s390x python3-installer all 0.7.0+dfsg1-2 [18.1 kB] 213s Get:73 http://ftpmaster.internal/ubuntu noble/universe s390x python3-lockfile all 1:0.12.2-3 [13.7 kB] 213s Get:74 http://ftpmaster.internal/ubuntu noble/main s390x python3-ptyprocess all 0.7.0-5 [15.1 kB] 213s Get:75 http://ftpmaster.internal/ubuntu noble/main s390x python3-pexpect all 4.9-2 [48.1 kB] 213s Get:76 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pip-whl all 24.0+dfsg-1 [1702 kB] 213s Get:77 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pkginfo all 1.9.6-1 [15.7 kB] 213s Get:78 http://ftpmaster.internal/ubuntu noble/universe s390x python3-platformdirs all 4.2.0-1 [16.1 kB] 213s Get:79 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pluggy all 1.4.0-1 [20.4 kB] 213s Get:80 http://ftpmaster.internal/ubuntu noble/universe s390x python3-poetry-core all 1.9.0-1 [203 kB] 213s Get:81 http://ftpmaster.internal/ubuntu noble/main s390x python3-requests-toolbelt all 1.0.0-2 [36.7 kB] 213s Get:82 http://ftpmaster.internal/ubuntu noble/universe s390x python3-shellingham all 1.5.4-1 [9482 B] 213s Get:83 http://ftpmaster.internal/ubuntu noble/universe s390x python3-tomlkit all 0.12.4-1 [37.5 kB] 213s Get:84 http://ftpmaster.internal/ubuntu noble/universe s390x python3-trove-classifiers all 2024.1.31-1 [10.4 kB] 213s Get:85 http://ftpmaster.internal/ubuntu noble/universe s390x python3-setuptools-whl all 68.1.2-2 [715 kB] 213s Get:86 http://ftpmaster.internal/ubuntu noble/universe s390x python3-wheel-whl all 0.42.0-1 [67.8 kB] 213s Get:87 http://ftpmaster.internal/ubuntu noble/universe s390x python3-virtualenv all 20.25.0+ds-1 [70.7 kB] 213s Get:88 http://ftpmaster.internal/ubuntu noble/universe s390x python3-poetry all 1.7.1+dfsg-1 [138 kB] 213s Get:89 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest all 7.4.4-1 [305 kB] 213s Get:90 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest-mock all 3.12.0-1.1 [11.3 kB] 213s Get:91 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest-xdist all 3.4.0-1 [32.0 kB] 213s Get:92 http://ftpmaster.internal/ubuntu noble/universe s390x python3.12-venv s390x 3.12.2-1 [5670 B] 213s Get:93 http://ftpmaster.internal/ubuntu noble/universe s390x python3-venv s390x 3.12.1-0ubuntu2 [1046 B] 213s Get:94 http://ftpmaster.internal/ubuntu noble/universe s390x python3.11-venv s390x 3.11.8-1 [5740 B] 214s Fetched 75.0 MB in 10s (7483 kB/s) 214s Selecting previously unselected package libpython3.11-minimal:s390x. 214s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 51331 files and directories currently installed.) 214s Preparing to unpack .../00-libpython3.11-minimal_3.11.8-1_s390x.deb ... 214s Unpacking libpython3.11-minimal:s390x (3.11.8-1) ... 214s Selecting previously unselected package python3.11-minimal. 214s Preparing to unpack .../01-python3.11-minimal_3.11.8-1_s390x.deb ... 214s Unpacking python3.11-minimal (3.11.8-1) ... 214s Selecting previously unselected package gcc-13-base:s390x. 214s Preparing to unpack .../02-gcc-13-base_13.2.0-17ubuntu2_s390x.deb ... 214s Unpacking gcc-13-base:s390x (13.2.0-17ubuntu2) ... 214s Selecting previously unselected package libpython3.11-stdlib:s390x. 214s Preparing to unpack .../03-libpython3.11-stdlib_3.11.8-1_s390x.deb ... 214s Unpacking libpython3.11-stdlib:s390x (3.11.8-1) ... 215s Selecting previously unselected package python3.11. 215s Preparing to unpack .../04-python3.11_3.11.8-1_s390x.deb ... 215s Unpacking python3.11 (3.11.8-1) ... 215s Selecting previously unselected package libisl23:s390x. 215s Preparing to unpack .../05-libisl23_0.26-3_s390x.deb ... 215s Unpacking libisl23:s390x (0.26-3) ... 215s Selecting previously unselected package libmpc3:s390x. 215s Preparing to unpack .../06-libmpc3_1.3.1-1_s390x.deb ... 215s Unpacking libmpc3:s390x (1.3.1-1) ... 215s Selecting previously unselected package cpp-13-s390x-linux-gnu. 215s Preparing to unpack .../07-cpp-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ... 215s Unpacking cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 215s Selecting previously unselected package cpp-13. 215s Preparing to unpack .../08-cpp-13_13.2.0-17ubuntu2_s390x.deb ... 215s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 215s Selecting previously unselected package cpp-s390x-linux-gnu. 215s Preparing to unpack .../09-cpp-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ... 215s Unpacking cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 215s Selecting previously unselected package cpp. 215s Preparing to unpack .../10-cpp_4%3a13.2.0-7ubuntu1_s390x.deb ... 215s Unpacking cpp (4:13.2.0-7ubuntu1) ... 215s Selecting previously unselected package libcc1-0:s390x. 215s Preparing to unpack .../11-libcc1-0_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libcc1-0:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libgomp1:s390x. 215s Preparing to unpack .../12-libgomp1_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libgomp1:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libitm1:s390x. 215s Preparing to unpack .../13-libitm1_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libitm1:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libatomic1:s390x. 215s Preparing to unpack .../14-libatomic1_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libatomic1:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libasan8:s390x. 215s Preparing to unpack .../15-libasan8_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libasan8:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libubsan1:s390x. 215s Preparing to unpack .../16-libubsan1_14-20240303-1ubuntu1_s390x.deb ... 215s Unpacking libubsan1:s390x (14-20240303-1ubuntu1) ... 215s Selecting previously unselected package libgcc-13-dev:s390x. 215s Preparing to unpack .../17-libgcc-13-dev_13.2.0-17ubuntu2_s390x.deb ... 215s Unpacking libgcc-13-dev:s390x (13.2.0-17ubuntu2) ... 215s Selecting previously unselected package gcc-13-s390x-linux-gnu. 215s Preparing to unpack .../18-gcc-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ... 215s Unpacking gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 216s Selecting previously unselected package gcc-13. 216s Preparing to unpack .../19-gcc-13_13.2.0-17ubuntu2_s390x.deb ... 216s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 216s Selecting previously unselected package gcc-s390x-linux-gnu. 216s Preparing to unpack .../20-gcc-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ... 216s Unpacking gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 216s Selecting previously unselected package gcc. 216s Preparing to unpack .../21-gcc_4%3a13.2.0-7ubuntu1_s390x.deb ... 216s Unpacking gcc (4:13.2.0-7ubuntu1) ... 216s Selecting previously unselected package liberror-perl. 216s Preparing to unpack .../22-liberror-perl_0.17029-2_all.deb ... 216s Unpacking liberror-perl (0.17029-2) ... 216s Selecting previously unselected package git-man. 216s Preparing to unpack .../23-git-man_1%3a2.43.0-1ubuntu1_all.deb ... 216s Unpacking git-man (1:2.43.0-1ubuntu1) ... 216s Selecting previously unselected package git. 216s Preparing to unpack .../24-git_1%3a2.43.0-1ubuntu1_s390x.deb ... 216s Unpacking git (1:2.43.0-1ubuntu1) ... 216s Selecting previously unselected package libblas3:s390x. 216s Preparing to unpack .../25-libblas3_3.12.0-3_s390x.deb ... 216s Unpacking libblas3:s390x (3.12.0-3) ... 216s Selecting previously unselected package libc-dev-bin. 216s Preparing to unpack .../26-libc-dev-bin_2.39-0ubuntu2_s390x.deb ... 216s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 216s Selecting previously unselected package linux-libc-dev:s390x. 216s Preparing to unpack .../27-linux-libc-dev_6.8.0-11.11_s390x.deb ... 216s Unpacking linux-libc-dev:s390x (6.8.0-11.11) ... 216s Selecting previously unselected package libcrypt-dev:s390x. 216s Preparing to unpack .../28-libcrypt-dev_1%3a4.4.36-4_s390x.deb ... 216s Unpacking libcrypt-dev:s390x (1:4.4.36-4) ... 216s Selecting previously unselected package libtirpc-dev:s390x. 216s Preparing to unpack .../29-libtirpc-dev_1.3.4+ds-1build1_s390x.deb ... 216s Unpacking libtirpc-dev:s390x (1.3.4+ds-1build1) ... 216s Selecting previously unselected package libnsl-dev:s390x. 216s Preparing to unpack .../30-libnsl-dev_1.3.0-3_s390x.deb ... 216s Unpacking libnsl-dev:s390x (1.3.0-3) ... 216s Selecting previously unselected package rpcsvc-proto. 216s Preparing to unpack .../31-rpcsvc-proto_1.4.2-0ubuntu6_s390x.deb ... 216s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 216s Selecting previously unselected package libc6-dev:s390x. 216s Preparing to unpack .../32-libc6-dev_2.39-0ubuntu2_s390x.deb ... 216s Unpacking libc6-dev:s390x (2.39-0ubuntu2) ... 216s Selecting previously unselected package libexpat1-dev:s390x. 216s Preparing to unpack .../33-libexpat1-dev_2.6.0-1_s390x.deb ... 216s Unpacking libexpat1-dev:s390x (2.6.0-1) ... 216s Selecting previously unselected package libgfortran5:s390x. 216s Preparing to unpack .../34-libgfortran5_14-20240303-1ubuntu1_s390x.deb ... 216s Unpacking libgfortran5:s390x (14-20240303-1ubuntu1) ... 216s Selecting previously unselected package libjs-jquery. 216s Preparing to unpack .../35-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 216s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 217s Selecting previously unselected package libjs-underscore. 217s Preparing to unpack .../36-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 217s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 217s Selecting previously unselected package libjs-sphinxdoc. 217s Preparing to unpack .../37-libjs-sphinxdoc_7.2.6-4_all.deb ... 217s Unpacking libjs-sphinxdoc (7.2.6-4) ... 217s Selecting previously unselected package liblapack3:s390x. 217s Preparing to unpack .../38-liblapack3_3.12.0-3_s390x.deb ... 217s Unpacking liblapack3:s390x (3.12.0-3) ... 217s Selecting previously unselected package libpython3.12:s390x. 217s Preparing to unpack .../39-libpython3.12_3.12.2-1_s390x.deb ... 217s Unpacking libpython3.12:s390x (3.12.2-1) ... 217s Selecting previously unselected package zlib1g-dev:s390x. 217s Preparing to unpack .../40-zlib1g-dev_1%3a1.3.dfsg-3ubuntu1_s390x.deb ... 217s Unpacking zlib1g-dev:s390x (1:1.3.dfsg-3ubuntu1) ... 217s Selecting previously unselected package libpython3.12-dev:s390x. 217s Preparing to unpack .../41-libpython3.12-dev_3.12.2-1_s390x.deb ... 217s Unpacking libpython3.12-dev:s390x (3.12.2-1) ... 217s Selecting previously unselected package libpython3-dev:s390x. 217s Preparing to unpack .../42-libpython3-dev_3.12.1-0ubuntu2_s390x.deb ... 217s Unpacking libpython3-dev:s390x (3.12.1-0ubuntu2) ... 217s Selecting previously unselected package libpython3-all-dev:s390x. 217s Preparing to unpack .../43-libpython3-all-dev_3.12.1-0ubuntu2_s390x.deb ... 217s Unpacking libpython3-all-dev:s390x (3.12.1-0ubuntu2) ... 217s Selecting previously unselected package python3-all. 217s Preparing to unpack .../44-python3-all_3.12.1-0ubuntu2_s390x.deb ... 217s Unpacking python3-all (3.12.1-0ubuntu2) ... 217s Selecting previously unselected package python3.12-dev. 217s Preparing to unpack .../45-python3.12-dev_3.12.2-1_s390x.deb ... 217s Unpacking python3.12-dev (3.12.2-1) ... 217s Selecting previously unselected package python3-dev. 217s Preparing to unpack .../46-python3-dev_3.12.1-0ubuntu2_s390x.deb ... 217s Unpacking python3-dev (3.12.1-0ubuntu2) ... 217s Selecting previously unselected package python3-all-dev. 217s Preparing to unpack .../47-python3-all-dev_3.12.1-0ubuntu2_s390x.deb ... 217s Unpacking python3-all-dev (3.12.1-0ubuntu2) ... 217s Selecting previously unselected package python3-packaging. 217s Preparing to unpack .../48-python3-packaging_23.2-1_all.deb ... 217s Unpacking python3-packaging (23.2-1) ... 217s Selecting previously unselected package python3-pyproject-hooks. 217s Preparing to unpack .../49-python3-pyproject-hooks_1.0.0-2_all.deb ... 217s Unpacking python3-pyproject-hooks (1.0.0-2) ... 217s Selecting previously unselected package python3-toml. 217s Preparing to unpack .../50-python3-toml_0.10.2-1_all.deb ... 217s Unpacking python3-toml (0.10.2-1) ... 217s Selecting previously unselected package python3-wheel. 217s Preparing to unpack .../51-python3-wheel_0.42.0-1_all.deb ... 217s Unpacking python3-wheel (0.42.0-1) ... 217s Selecting previously unselected package python3-build. 217s Preparing to unpack .../52-python3-build_1.0.3-2_all.deb ... 217s Unpacking python3-build (1.0.3-2) ... 217s Selecting previously unselected package python3-msgpack. 217s Preparing to unpack .../53-python3-msgpack_1.0.3-3build1_s390x.deb ... 217s Unpacking python3-msgpack (1.0.3-3build1) ... 217s Selecting previously unselected package python3-cachecontrol. 217s Preparing to unpack .../54-python3-cachecontrol_0.14.0-1_all.deb ... 217s Unpacking python3-cachecontrol (0.14.0-1) ... 217s Selecting previously unselected package python3-cachy. 217s Preparing to unpack .../55-python3-cachy_0.3.0-4_all.deb ... 217s Unpacking python3-cachy (0.3.0-4) ... 217s Selecting previously unselected package python3-crashtest. 217s Preparing to unpack .../56-python3-crashtest_0.4.1-1_all.deb ... 217s Unpacking python3-crashtest (0.4.1-1) ... 217s Selecting previously unselected package python3-pylev. 217s Preparing to unpack .../57-python3-pylev_1.4.0-1_all.deb ... 217s Unpacking python3-pylev (1.4.0-1) ... 217s Selecting previously unselected package python3-cleo. 217s Preparing to unpack .../58-python3-cleo_2.1.0-2_all.deb ... 217s Unpacking python3-cleo (2.1.0-2) ... 217s Selecting previously unselected package python3-jsonpickle. 217s Preparing to unpack .../59-python3-jsonpickle_3.0.3+dfsg-1_all.deb ... 217s Unpacking python3-jsonpickle (3.0.3+dfsg-1) ... 218s Selecting previously unselected package python3-numpy. 218s Preparing to unpack .../60-python3-numpy_1%3a1.24.2-2_s390x.deb ... 218s Unpacking python3-numpy (1:1.24.2-2) ... 218s Selecting previously unselected package python3-ordered-set. 218s Preparing to unpack .../61-python3-ordered-set_4.1.0-1_all.deb ... 218s Unpacking python3-ordered-set (4.1.0-1) ... 218s Selecting previously unselected package python3-deepdiff. 218s Preparing to unpack .../62-python3-deepdiff_6.7.1-1_all.deb ... 218s Unpacking python3-deepdiff (6.7.1-1) ... 218s Selecting previously unselected package python3-distlib. 218s Preparing to unpack .../63-python3-distlib_0.3.8-1_all.deb ... 218s Unpacking python3-distlib (0.3.8-1) ... 218s Selecting previously unselected package python3-dulwich. 218s Preparing to unpack .../64-python3-dulwich_0.21.6-1build1_s390x.deb ... 218s Unpacking python3-dulwich (0.21.6-1build1) ... 218s Selecting previously unselected package python3-execnet. 218s Preparing to unpack .../65-python3-execnet_2.0.0-2_all.deb ... 218s Unpacking python3-execnet (2.0.0-2) ... 218s Selecting previously unselected package python3-fastjsonschema. 218s Preparing to unpack .../66-python3-fastjsonschema_2.19.0-1_all.deb ... 218s Unpacking python3-fastjsonschema (2.19.0-1) ... 218s Selecting previously unselected package python3-filelock. 218s Preparing to unpack .../67-python3-filelock_3.13.1-1_all.deb ... 218s Unpacking python3-filelock (3.13.1-1) ... 218s Selecting previously unselected package python3-httpretty. 218s Preparing to unpack .../68-python3-httpretty_1.1.4-4_all.deb ... 218s Unpacking python3-httpretty (1.1.4-4) ... 218s Selecting previously unselected package python3-iniconfig. 218s Preparing to unpack .../69-python3-iniconfig_1.1.1-2_all.deb ... 218s Unpacking python3-iniconfig (1.1.1-2) ... 218s Selecting previously unselected package python3-installer. 218s Preparing to unpack .../70-python3-installer_0.7.0+dfsg1-2_all.deb ... 218s Unpacking python3-installer (0.7.0+dfsg1-2) ... 218s Selecting previously unselected package python3-lockfile. 218s Preparing to unpack .../71-python3-lockfile_1%3a0.12.2-3_all.deb ... 218s Unpacking python3-lockfile (1:0.12.2-3) ... 218s Selecting previously unselected package python3-ptyprocess. 218s Preparing to unpack .../72-python3-ptyprocess_0.7.0-5_all.deb ... 218s Unpacking python3-ptyprocess (0.7.0-5) ... 218s Selecting previously unselected package python3-pexpect. 218s Preparing to unpack .../73-python3-pexpect_4.9-2_all.deb ... 218s Unpacking python3-pexpect (4.9-2) ... 218s Selecting previously unselected package python3-pip-whl. 218s Preparing to unpack .../74-python3-pip-whl_24.0+dfsg-1_all.deb ... 218s Unpacking python3-pip-whl (24.0+dfsg-1) ... 218s Selecting previously unselected package python3-pkginfo. 218s Preparing to unpack .../75-python3-pkginfo_1.9.6-1_all.deb ... 218s Unpacking python3-pkginfo (1.9.6-1) ... 218s Selecting previously unselected package python3-platformdirs. 218s Preparing to unpack .../76-python3-platformdirs_4.2.0-1_all.deb ... 218s Unpacking python3-platformdirs (4.2.0-1) ... 218s Selecting previously unselected package python3-pluggy. 218s Preparing to unpack .../77-python3-pluggy_1.4.0-1_all.deb ... 218s Unpacking python3-pluggy (1.4.0-1) ... 218s Selecting previously unselected package python3-poetry-core. 218s Preparing to unpack .../78-python3-poetry-core_1.9.0-1_all.deb ... 218s Unpacking python3-poetry-core (1.9.0-1) ... 218s Selecting previously unselected package python3-requests-toolbelt. 218s Preparing to unpack .../79-python3-requests-toolbelt_1.0.0-2_all.deb ... 218s Unpacking python3-requests-toolbelt (1.0.0-2) ... 218s Selecting previously unselected package python3-shellingham. 218s Preparing to unpack .../80-python3-shellingham_1.5.4-1_all.deb ... 218s Unpacking python3-shellingham (1.5.4-1) ... 218s Selecting previously unselected package python3-tomlkit. 218s Preparing to unpack .../81-python3-tomlkit_0.12.4-1_all.deb ... 218s Unpacking python3-tomlkit (0.12.4-1) ... 218s Selecting previously unselected package python3-trove-classifiers. 218s Preparing to unpack .../82-python3-trove-classifiers_2024.1.31-1_all.deb ... 218s Unpacking python3-trove-classifiers (2024.1.31-1) ... 218s Selecting previously unselected package python3-setuptools-whl. 218s Preparing to unpack .../83-python3-setuptools-whl_68.1.2-2_all.deb ... 218s Unpacking python3-setuptools-whl (68.1.2-2) ... 218s Selecting previously unselected package python3-wheel-whl. 218s Preparing to unpack .../84-python3-wheel-whl_0.42.0-1_all.deb ... 218s Unpacking python3-wheel-whl (0.42.0-1) ... 218s Selecting previously unselected package python3-virtualenv. 218s Preparing to unpack .../85-python3-virtualenv_20.25.0+ds-1_all.deb ... 218s Unpacking python3-virtualenv (20.25.0+ds-1) ... 218s Selecting previously unselected package python3-poetry. 218s Preparing to unpack .../86-python3-poetry_1.7.1+dfsg-1_all.deb ... 218s Unpacking python3-poetry (1.7.1+dfsg-1) ... 218s Selecting previously unselected package python3-pytest. 218s Preparing to unpack .../87-python3-pytest_7.4.4-1_all.deb ... 218s Unpacking python3-pytest (7.4.4-1) ... 218s Selecting previously unselected package python3-pytest-mock. 218s Preparing to unpack .../88-python3-pytest-mock_3.12.0-1.1_all.deb ... 218s Unpacking python3-pytest-mock (3.12.0-1.1) ... 218s Selecting previously unselected package python3-pytest-xdist. 218s Preparing to unpack .../89-python3-pytest-xdist_3.4.0-1_all.deb ... 218s Unpacking python3-pytest-xdist (3.4.0-1) ... 218s Selecting previously unselected package python3.12-venv. 218s Preparing to unpack .../90-python3.12-venv_3.12.2-1_s390x.deb ... 218s Unpacking python3.12-venv (3.12.2-1) ... 219s Selecting previously unselected package python3-venv. 219s Preparing to unpack .../91-python3-venv_3.12.1-0ubuntu2_s390x.deb ... 219s Unpacking python3-venv (3.12.1-0ubuntu2) ... 219s Selecting previously unselected package python3.11-venv. 219s Preparing to unpack .../92-python3.11-venv_3.11.8-1_s390x.deb ... 219s Unpacking python3.11-venv (3.11.8-1) ... 219s Selecting previously unselected package autopkgtest-satdep. 219s Preparing to unpack .../93-1-autopkgtest-satdep.deb ... 219s Unpacking autopkgtest-satdep (0) ... 219s Setting up python3-iniconfig (1.1.1-2) ... 219s Setting up python3-lockfile (1:0.12.2-3) ... 219s Setting up python3-httpretty (1.1.4-4) ... 219s Setting up python3-setuptools-whl (68.1.2-2) ... 219s Setting up python3-filelock (3.13.1-1) ... 219s Setting up python3-jsonpickle (3.0.3+dfsg-1) ... 219s Setting up python3-requests-toolbelt (1.0.0-2) ... 220s Setting up python3-pkginfo (1.9.6-1) ... 220s Setting up python3-pip-whl (24.0+dfsg-1) ... 220s Setting up python3-pylev (1.4.0-1) ... 220s Setting up linux-libc-dev:s390x (6.8.0-11.11) ... 220s Setting up python3-all (3.12.1-0ubuntu2) ... 220s Setting up python3-ordered-set (4.1.0-1) ... 220s Setting up python3-distlib (0.3.8-1) ... 220s Setting up libgomp1:s390x (14-20240303-1ubuntu1) ... 220s Setting up python3-wheel (0.42.0-1) ... 220s Setting up python3-platformdirs (4.2.0-1) ... 221s Setting up liberror-perl (0.17029-2) ... 221s Setting up libblas3:s390x (3.12.0-3) ... 221s update-alternatives: using /usr/lib/s390x-linux-gnu/blas/libblas.so.3 to provide /usr/lib/s390x-linux-gnu/libblas.so.3 (libblas.so.3-s390x-linux-gnu) in auto mode 221s Setting up python3-packaging (23.2-1) ... 221s Setting up libtirpc-dev:s390x (1.3.4+ds-1build1) ... 221s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 221s Setting up gcc-13-base:s390x (13.2.0-17ubuntu2) ... 221s Setting up python3-pyproject-hooks (1.0.0-2) ... 221s Setting up python3-poetry-core (1.9.0-1) ... 221s Setting up python3-crashtest (0.4.1-1) ... 221s Setting up libmpc3:s390x (1.3.1-1) ... 221s Setting up libatomic1:s390x (14-20240303-1ubuntu1) ... 221s Setting up python3-toml (0.10.2-1) ... 221s Setting up python3-installer (0.7.0+dfsg1-2) ... 222s Setting up libgfortran5:s390x (14-20240303-1ubuntu1) ... 222s Setting up python3-pluggy (1.4.0-1) ... 222s Setting up libubsan1:s390x (14-20240303-1ubuntu1) ... 222s Setting up python3-fastjsonschema (2.19.0-1) ... 222s Setting up libnsl-dev:s390x (1.3.0-3) ... 222s Setting up python3-trove-classifiers (2024.1.31-1) ... 222s Setting up python3-dulwich (0.21.6-1build1) ... 222s Setting up libcrypt-dev:s390x (1:4.4.36-4) ... 222s Setting up libasan8:s390x (14-20240303-1ubuntu1) ... 222s Setting up python3-cachy (0.3.0-4) ... 223s Setting up python3-cleo (2.1.0-2) ... 223s Setting up git-man (1:2.43.0-1ubuntu1) ... 223s Setting up python3-msgpack (1.0.3-3build1) ... 223s Setting up libpython3.11-minimal:s390x (3.11.8-1) ... 223s Setting up python3-cachecontrol (0.14.0-1) ... 223s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 223s Setting up libisl23:s390x (0.26-3) ... 223s Setting up python3-build (1.0.3-2) ... 223s Setting up libc-dev-bin (2.39-0ubuntu2) ... 223s Setting up python3-execnet (2.0.0-2) ... 223s Setting up python3-shellingham (1.5.4-1) ... 224s Setting up python3-tomlkit (0.12.4-1) ... 224s Setting up python3-wheel-whl (0.42.0-1) ... 224s Setting up libpython3.12:s390x (3.12.2-1) ... 224s Setting up libcc1-0:s390x (14-20240303-1ubuntu1) ... 224s Setting up libitm1:s390x (14-20240303-1ubuntu1) ... 224s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 224s Setting up python3-ptyprocess (0.7.0-5) ... 224s Setting up python3.11-minimal (3.11.8-1) ... 225s Setting up liblapack3:s390x (3.12.0-3) ... 225s update-alternatives: using /usr/lib/s390x-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/s390x-linux-gnu/liblapack.so.3 (liblapack.so.3-s390x-linux-gnu) in auto mode 225s Setting up python3.12-venv (3.12.2-1) ... 225s Setting up python3-pytest (7.4.4-1) ... 225s Setting up libpython3.11-stdlib:s390x (3.11.8-1) ... 225s Setting up python3-virtualenv (20.25.0+ds-1) ... 225s Setting up cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 225s Setting up python3-venv (3.12.1-0ubuntu2) ... 225s Setting up python3-pexpect (4.9-2) ... 225s Setting up git (1:2.43.0-1ubuntu1) ... 225s Setting up libjs-sphinxdoc (7.2.6-4) ... 225s Setting up python3-pytest-mock (3.12.0-1.1) ... 226s Setting up libgcc-13-dev:s390x (13.2.0-17ubuntu2) ... 226s Setting up libc6-dev:s390x (2.39-0ubuntu2) ... 226s Setting up python3.11 (3.11.8-1) ... 227s Setting up python3-pytest-xdist (3.4.0-1) ... 227s Setting up cpp-13 (13.2.0-17ubuntu2) ... 227s Setting up cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 227s Setting up libexpat1-dev:s390x (2.6.0-1) ... 227s Setting up gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ... 227s Setting up gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ... 227s Setting up python3.11-venv (3.11.8-1) ... 227s Setting up python3-poetry (1.7.1+dfsg-1) ... 227s Setting up gcc-13 (13.2.0-17ubuntu2) ... 227s Setting up python3-numpy (1:1.24.2-2) ... 229s Setting up zlib1g-dev:s390x (1:1.3.dfsg-3ubuntu1) ... 229s Setting up cpp (4:13.2.0-7ubuntu1) ... 229s Setting up python3-deepdiff (6.7.1-1) ... 230s Setting up libpython3.12-dev:s390x (3.12.2-1) ... 230s Setting up gcc (4:13.2.0-7ubuntu1) ... 230s Setting up python3.12-dev (3.12.2-1) ... 230s Setting up libpython3-dev:s390x (3.12.1-0ubuntu2) ... 230s Setting up libpython3-all-dev:s390x (3.12.1-0ubuntu2) ... 230s Setting up python3-dev (3.12.1-0ubuntu2) ... 230s Setting up python3-all-dev (3.12.1-0ubuntu2) ... 230s Setting up autopkgtest-satdep (0) ... 230s Processing triggers for systemd (255.2-3ubuntu2) ... 230s Processing triggers for man-db (2.12.0-3) ... 230s Processing triggers for libc-bin (2.39-0ubuntu2) ... 234s (Reading database ... 58136 files and directories currently installed.) 234s Removing autopkgtest-satdep (0) ... 235s autopkgtest [23:02:42]: test pytest: [----------------------- 235s + cp -r tests /tmp/autopkgtest.ATeZkA/autopkgtest_tmp 235s + cp pyproject.toml /tmp/autopkgtest.ATeZkA/autopkgtest_tmp 235s + cd /tmp/autopkgtest.ATeZkA/autopkgtest_tmp 235s + py3versions -s 235s + python3.12 -m pytest --ignore=tests/console/commands/env/test_list.py --ignore=tests/console/commands/env/test_remove.py --ignore=tests/console/commands/env/test_use.py --ignore=tests/utils/test_env.py --ignore=tests/config/test_config.py --ignore=tests/utils/test_helpers.py -k not test_self_update_should_install_all_necessary_elements and not test_add_file_constraint_sdist and not test_add_file_constraint_sdist_old_installer and not test_publish_dry_run and not test_info_from_sdist and not test_installer_can_install_dependencies_from_forced_source and not test_search_for_file_sdist and not test_search_for_file_sdist_with_extras and not test_solver_can_resolve_sdist_dependencies and not test_solver_can_resolve_sdist_dependencies_with_extras and not test_solver_chooses_from_correct_repository_if_forced and not test_solver_chooses_from_correct_repository_if_forced_and_transitive_dependency and not test_solver_does_not_choose_from_secondary_repository_by_default and not test_solver_chooses_from_secondary_if_explicit and not test_get_package_information_fallback_read_setup and not test_get_package_information_skips_dependencies_with_invalid_constraints and not test_get_package_retrieves_packages_with_no_hashes and not test_fallback_can_read_setup_to_get_dependencies and not test_exporter_can_export_requirements_txt_with_file_packages and not test_exporter_can_export_requirements_txt_with_file_packages_and_markers and not test_lock_no_update and not test_locker_dumps_dependency_information_correctly and not test_package_partial_yank and not test_run_installs_with_same_version_url_files and not test_env_info_displays_complete_info and not test_skip_existing_output and not test_installer_should_use_the_locked_version_of_git_dependencies_with_extras and not test_installer_should_use_the_locked_version_of_git_dependencies_without_reference and not test_installer_uses_prereleases_if_they_are_compatible and not test_requirement_git_subdirectory and not test_check_valid and not test_check_invalid and not test_packages_property_returns_empty_list and not test_parse_dependency_specification and not test_info_setup_missing_mandatory_should_trigger_pep517 and not test_uninstall_git_package_nspkg_pth_cleanup and not test_executor_should_write_pep610_url_references_for_directories and not test_executor_should_write_pep610_url_references_for_git and not test_executor_should_write_pep610_url_references_for_git_with_subdirectories and not test_builder_setup_generation_runs_with_pip_editable and not test_executor_should_write_pep610_url_references_for_non_wheel_urls and not test_executor_should_write_pep610_url_references_for_non_wheel_files and not test_prepare_sdist and not test_shell and not test_chooser_md5_remote_fallback_to_sha256_inline_calculation and not test_solver_ignores_explicit_repo_for_transient_dependencies and not test_export_prints_warning and not test_disable_export_warning and not test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess and not test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding and not test_isolated_env_install_success and not test_isolated_env_install_error and not test_isolated_env_install_failure and not test_application_with_plugins and not test_build_system_requires_not_available and not test_build_system_requires_install_failure and not test_installer_with_pypi_repository and not test_prepare_directory and not test_prepare_directory_with_extensions and not test_prepare_directory_editable and not test_prepare_directory_script -v 240s ============================= test session starts ============================== 240s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 240s cachedir: .pytest_cache 240s rootdir: /tmp/autopkgtest.ATeZkA/autopkgtest_tmp 240s configfile: pyproject.toml 240s testpaths: tests 240s plugins: xdist-3.4.0, mock-3.12.0 240s created: 1/1 worker 240s 1 worker [1195 items] 240s 240s scheduling tests via LoadScheduling 240s 240s tests/test_factory.py::test_create_poetry 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry 240s tests/test_factory.py::test_create_pyproject_from_package[simple_project] 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[simple_project] 240s tests/test_factory.py::test_create_pyproject_from_package[project_with_extras] 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[project_with_extras] 240s tests/test_factory.py::test_create_poetry_with_packages_and_includes 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_packages_and_includes 240s tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency 240s tests/test_factory.py::test_poetry_with_default_source_legacy 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_legacy 240s tests/test_factory.py::test_poetry_with_default_source 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source 240s tests/test_factory.py::test_poetry_with_default_source_and_pypi 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_and_pypi 240s tests/test_factory.py::test_poetry_with_default_source_pypi 240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_pypi 241s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit] 241s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit] 241s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit] 241s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit] 241s tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy 241s tests/test_factory.py::test_poetry_with_non_default_secondary_source 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source 241s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy 241s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources 241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy 241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources 241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi 241s tests/test_factory.py::test_poetry_with_no_default_source 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_no_default_source 241s tests/test_factory.py::test_poetry_with_supplemental_source 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_supplemental_source 241s tests/test_factory.py::test_poetry_with_explicit_source 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_source 241s tests/test_factory.py::test_poetry_with_explicit_pypi_and_other 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_pypi_and_other 241s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other] 241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other] 241s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit] 241s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit] 242s tests/test_factory.py::test_poetry_with_two_default_sources_legacy 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources_legacy 242s tests/test_factory.py::test_poetry_with_two_default_sources 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources 242s tests/test_factory.py::test_validate 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate 242s tests/test_factory.py::test_validate_fails 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate_fails 242s tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 242s [gw0] [ 2%] FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 242s tests/test_factory.py::test_create_poetry_with_local_config 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_local_config 242s tests/test_factory.py::test_create_poetry_with_plugins 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_plugins 242s tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.] 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.] 242s tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.] 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.] 242s tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.] 242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.] 242s tests/test_helpers.py::test_flatten_dict 242s [gw0] [ 2%] PASSED tests/test_helpers.py::test_flatten_dict 242s tests/console/test_application.py::test_application_execute_plugin_command 242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command 242s tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled 242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled 242s tests/console/test_application.py::test_application_verify_source_cache_flag[True] 242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[True] 242s tests/console/test_application.py::test_application_verify_source_cache_flag[False] 242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[False] 257s tests/console/test_application.py::test_application_verify_cache_flag_at_install[True] 257s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[True] 272s tests/console/test_application.py::test_application_verify_cache_flag_at_install[False] 272s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[False] 272s tests/console/commands/test_about.py::test_about 272s [gw0] [ 3%] PASSED tests/console/commands/test_about.py::test_about 272s tests/console/commands/test_add.py::test_add_no_constraint 272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint 272s tests/console/commands/test_add.py::test_add_replace_by_constraint 272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_replace_by_constraint 272s tests/console/commands/test_add.py::test_add_no_constraint_editable_error 272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint_editable_error 272s tests/console/commands/test_add.py::test_add_equal_constraint 272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_equal_constraint 272s tests/console/commands/test_add.py::test_add_greater_constraint 272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_greater_constraint 272s tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack] 272s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack] 272s tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack] 272s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack] 273s tests/console/commands/test_add.py::test_add_constraint_dependencies 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_dependencies 273s tests/console/commands/test_add.py::test_add_git_constraint 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint 273s tests/console/commands/test_add.py::test_add_git_constraint_with_poetry 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_poetry 273s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo] 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo] 273s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO] 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO] 273s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git#subdirectory=two-None] 273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git#subdirectory=two-None] 274s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git@master#subdirectory=two-master] 274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git@master#subdirectory=two-master] 274s tests/console/commands/test_add.py::test_add_git_ssh_constraint[False] 274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[False] 274s tests/console/commands/test_add.py::test_add_git_ssh_constraint[True] 274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[True] 274s tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0] 274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0] 274s tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0] 274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0] 274s tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0] 274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0] 274s tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0] 274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0] 275s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack] 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack] 275s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack] 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack] 275s tests/console/commands/test_add.py::test_add_url_constraint_wheel 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel 275s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo] 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo] 275s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO] 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO] 275s tests/console/commands/test_add.py::test_add_constraint_with_optional 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_optional 275s tests/console/commands/test_add.py::test_add_constraint_with_python 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_python 275s tests/console/commands/test_add.py::test_add_constraint_with_platform 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_platform 275s tests/console/commands/test_add.py::test_add_constraint_with_source 275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source 275s tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist 275s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist 275s tests/console/commands/test_add.py::test_add_constraint_not_found_with_source 275s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_not_found_with_source 276s tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet 276s tests/console/commands/test_add.py::test_add_to_dev_section_deprecated 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_dev_section_deprecated 276s tests/console/commands/test_add.py::test_add_should_not_select_prereleases 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_not_select_prereleases 276s tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint 276s tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint 276s tests/console/commands/test_add.py::test_add_should_fail_circular_dependency 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_fail_circular_dependency 276s tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys 276s tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint 276s tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available 276s tests/console/commands/test_add.py::test_add_prefers_stable_releases 276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_prefers_stable_releases 277s tests/console/commands/test_add.py::test_add_with_lock 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_lock 277s tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet 277s tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content 277s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run] 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run] 277s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run] 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run] 277s tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail 277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail 278s tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness 278s tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included 278s tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks] 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks] 278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo] 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo] 278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock] 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock] 278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo] 278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo] 279s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock] 279s [gw0] [ 8%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock] 279s tests/console/commands/test_build.py::test_build_with_multiple_readme_files 279s [gw0] [ 8%] PASSED tests/console/commands/test_build.py::test_build_with_multiple_readme_files 279s tests/console/commands/test_check.py::test_check_private 279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_private 279s tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0] 279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0] 279s tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1] 279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1] 279s tests/console/commands/test_check.py::test_check_lock_outdated[] 279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[] 279s tests/console/commands/test_check.py::test_check_lock_outdated[--lock] 279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[--lock] 280s tests/console/commands/test_check.py::test_check_lock_up_to_date[] 280s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[] 280s tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock] 280s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock] 280s tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty 280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty 280s tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set 280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set 280s tests/console/commands/test_config.py::test_list_displays_set_get_setting 280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_setting 280s tests/console/commands/test_config.py::test_cannot_set_with_multiple_values 280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_with_multiple_values 280s tests/console/commands/test_config.py::test_cannot_set_invalid_value 280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_invalid_value 280s tests/console/commands/test_config.py::test_cannot_unset_with_value 280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_unset_with_value 280s tests/console/commands/test_config.py::test_unset_setting 280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_setting 280s tests/console/commands/test_config.py::test_unset_repo_setting 280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_repo_setting 281s tests/console/commands/test_config.py::test_unset_value_not_exists 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_value_not_exists 281s tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n] 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n] 281s tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n] 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n] 281s tests/console/commands/test_config.py::test_display_single_local_setting 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_local_setting 281s tests/console/commands/test_config.py::test_display_empty_repositories_setting 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_empty_repositories_setting 281s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section] 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section] 281s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined] 281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined] 281s tests/console/commands/test_config.py::test_set_malformed_repositories_setting 281s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_malformed_repositories_setting 281s tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined] 281s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined] 282s tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.] 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.] 282s tests/console/commands/test_config.py::test_list_displays_set_get_local_setting 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_local_setting 282s tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml 282s tests/console/commands/test_config.py::test_set_http_basic 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic 282s tests/console/commands/test_config.py::test_unset_http_basic 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_http_basic 282s tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values 282s tests/console/commands/test_config.py::test_set_pypi_token 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token 282s tests/console/commands/test_config.py::test_unset_pypi_token 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_pypi_token 282s tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values 282s tests/console/commands/test_config.py::test_set_pypi_token_no_values 282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_no_values 282s tests/console/commands/test_config.py::test_set_client_cert 282s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert 282s tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values 282s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values 283s tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem] 283s tests/console/commands/test_config.py::test_set_cert[true-True] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[true-True] 283s tests/console/commands/test_config.py::test_set_cert[false-False] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[false-False] 283s tests/console/commands/test_config.py::test_unset_cert 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_unset_cert 283s tests/console/commands/test_config.py::test_config_installer_parallel 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_parallel 283s tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0] 283s tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1] 283s tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2] 283s tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3] 283s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4] 283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4] 283s tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5] 283s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5] 284s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6] 284s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6] 284s tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7] 284s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7] 284s tests/console/commands/test_init.py::test_basic_interactive 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_basic_interactive 284s tests/console/commands/test_init.py::test_noninteractive 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_noninteractive 284s tests/console/commands/test_init.py::test_interactive_with_dependencies 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies 284s tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection 284s tests/console/commands/test_init.py::test_empty_license 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_empty_license 284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask] 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask] 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask] 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask] 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK] 284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK] 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask] 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask] 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask] 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask] 284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK] 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK] 284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference 284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name 284s tests/console/commands/test_init.py::test_interactive_with_directory_dependency 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency 284s tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name 284s tests/console/commands/test_init.py::test_interactive_with_file_dependency 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_file_dependency 284s tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs 284s tests/console/commands/test_init.py::test_python_option 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_python_option 284s tests/console/commands/test_init.py::test_predefined_dependency 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_dependency 284s tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies 284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies 284s tests/console/commands/test_init.py::test_predefined_dev_dependency 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_dev_dependency 284s tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies 284s tests/console/commands/test_init.py::test_predefined_all_options 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_all_options 284s tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace 284s tests/console/commands/test_init.py::test_init_existing_pyproject_simple 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_simple 284s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n] 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n] 284s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n] 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n] 284s tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency 284s tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails 284s tests/console/commands/test_init.py::test_validate_package_valid[None] 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[None] 284s tests/console/commands/test_init.py::test_validate_package_valid[] 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[] 284s tests/console/commands/test_init.py::test_validate_package_valid[foo] 284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo] 284s tests/console/commands/test_init.py::test_validate_package_valid[ foo ] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo ] 284s tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0] 284s tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0] 284s tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ] 284s tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0] 284s tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ] 284s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0] 284s tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ] 284s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0] 284s tests/console/commands/test_init.py::test_package_include[mypackage-None] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[mypackage-None] 284s tests/console/commands/test_init.py::test_package_include[my-package-my_package] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my-package-my_package] 284s tests/console/commands/test_init.py::test_package_include[my.package-my] 284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my.package-my] 284s tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package] 284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package] 284s tests/console/commands/test_init.py::test_package_include[my.awesome.package-my] 284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my.awesome.package-my] 284s tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12] 284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12] 285s tests/console/commands/test_init.py::test_get_pool 285s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_get_pool 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7] 285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8] 285s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8] 285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo,bar --without baz --without bim --only bam-groups9] 285s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo,bar --without baz --without bim --only bam-groups9] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2] 286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3] 286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4] 287s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo,bar --without baz --without bim --only bam-groups9] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo,bar --without baz --without bim --only bam-groups9] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10] 287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11] 287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11] 288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12] 288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12] 288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13] 288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13] 288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14] 288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14] 288s tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer 288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer 288s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False] 288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False] 288s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True] 288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True] 288s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True] 288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True] 288s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False] 288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False] 288s tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer 288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer 289s tests/console/commands/test_install.py::test_all_extras_populates_installer 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_all_extras_populates_installer 289s tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer 289s tests/console/commands/test_install.py::test_extras_conflicts_all_extras 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_conflicts_all_extras 289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo] 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo] 289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo] 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo] 289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz] 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz] 289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo] 289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True] 290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False] 290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False] 291s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False] 291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False] 291s tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning 291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning 291s tests/console/commands/test_install.py::test_dry_run_populates_installer 291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_dry_run_populates_installer 291s tests/console/commands/test_install.py::test_dry_run_does_not_build 291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_dry_run_does_not_build 291s tests/console/commands/test_install.py::test_install_logs_output 291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output 291s tests/console/commands/test_install.py::test_install_logs_output_decorated 291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output_decorated 291s tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True] 291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True] 292s tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True] 292s tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True] 292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-] 292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev] 292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-] 292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev] 292s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[] 292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[] 293s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory] 293s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory] 293s tests/console/commands/test_lock.py::test_lock_check_outdated_legacy 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_outdated_legacy 293s tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy 293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True] 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True] 293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False] 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False] 293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True] 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True] 293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False] 293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False] 294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True] 294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False] 294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True] 294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False] 294s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False] 294s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True] 294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True] 294s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False] 294s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False] 294s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True] 294s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True] 295s tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None] 295s tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src] 295s tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None] 295s tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src] 295s tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None] 295s tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src] 295s tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None] 295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None] 296s tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src] 296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src] 296s tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None] 296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None] 296s tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src] 296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src] 296s tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None] 296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None] 296s tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src] 296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src] 296s tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None] 296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None] 296s tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src] 296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src] 297s tests/console/commands/test_new.py::test_command_new_with_readme[None] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[None] 297s tests/console/commands/test_new.py::test_command_new_with_readme[md] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[md] 297s tests/console/commands/test_new.py::test_command_new_with_readme[rst] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[rst] 297s tests/console/commands/test_new.py::test_command_new_with_readme[adoc] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[adoc] 297s tests/console/commands/test_new.py::test_command_new_with_readme[creole] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[creole] 297s tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12] 297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12] 297s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 297s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 297s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 297s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 297s tests/console/commands/test_publish.py::test_publish_with_cert 297s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_cert 297s tests/console/commands/test_publish.py::test_publish_with_client_cert 297s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_client_cert 298s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups 298s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups 298s tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups 298s tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly 298s tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors 298s tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact 298s tests/console/commands/test_remove.py::test_remove_performs_uninstall_op 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_performs_uninstall_op 298s tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op 298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op 299s tests/console/commands/test_run.py::test_run_passes_all_args 299s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_passes_all_args 299s tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command 299s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command 299s tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found 299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found 299s tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows 299s [gw0] [ 26%] SKIPPED tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows 299s tests/console/commands/test_run.py::test_run_script_exit_code 299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_exit_code 299s tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed] 299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed] 299s tests/console/commands/test_run.py::test_run_script_sys_argv0[installed] 299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[installed] 300s tests/console/commands/test_search.py::test_search 300s [gw0] [ 26%] FAILED tests/console/commands/test_search.py::test_search 300s tests/console/commands/test_show.py::test_show_basic_with_installed_packages 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[-cachy 0.1.0 Cachy package\npytest 3.7.3 Pytest package\n] 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[-cachy 0.1.0 Cachy package\npytest 3.7.3 Pytest package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n0] 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n0] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n] 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n] 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n] 300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without test-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\n] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without test-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without main,test-pendulum 2.0.0 Pendulum package\n] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without main,test-pendulum 2.0.0 Pendulum package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time --with test-pendulum 2.0.0 Pendulum package\n] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time --with test-pendulum 2.0.0 Pendulum package\n] 300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n1] 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n1] 300s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single 300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single 301s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized 301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized 301s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated 301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated 301s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated 301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated 301s tests/console/commands/test_show.py::test_show_latest_non_decorated 301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_non_decorated 301s tests/console/commands/test_show.py::test_show_latest_decorated 301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_decorated 301s tests/console/commands/test_show.py::test_show_outdated 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated 301s tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages 301s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed 301s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed 301s tests/console/commands/test_show.py::test_show_outdated_formatting 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_formatting 301s tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0] 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0] 301s tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] 301s tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] 301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] 302s tests/console/commands/test_show.py::test_show_hides_incompatible_package 302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package 302s tests/console/commands/test_show.py::test_show_all_shows_incompatible_package 302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_incompatible_package 302s tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate 302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate 302s tests/console/commands/test_show.py::test_show_all_shows_all_duplicates 302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_all_duplicates 302s tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages 302s tests/console/commands/test_show.py::test_show_with_group_only 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_group_only 302s tests/console/commands/test_show.py::test_show_with_optional_group 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_optional_group 302s tests/console/commands/test_show.py::test_show_tree 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree 302s tests/console/commands/test_show.py::test_show_tree_no_dev 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_no_dev 302s tests/console/commands/test_show.py::test_show_tree_why_package 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why_package 302s tests/console/commands/test_show.py::test_show_tree_why 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why 302s tests/console/commands/test_show.py::test_show_required_by_deps 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_required_by_deps 302s tests/console/commands/test_show.py::test_show_errors_without_lock_file 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_errors_without_lock_file 302s tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev 302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev 303s tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package 303s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package 303s tests/console/commands/test_show.py::test_show_top_level 303s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_top_level 303s tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy 303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy 303s tests/console/commands/test_show.py::test_show_top_level_with_extras 303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_extras 303s tests/console/commands/test_show.py::test_show_error_top_level_with_tree 303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_tree 303s tests/console/commands/test_show.py::test_show_error_top_level_with_single_package 303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_single_package 303s tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0] 303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0] 303s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run] 303s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run] 303s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run] 303s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run] 304s tests/console/commands/test_update.py::test_update_prints_operations[-True] 304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[-True] 304s tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True] 304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True] 304s tests/console/commands/test_update.py::test_update_prints_operations[--lock-False] 304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--lock-False] 304s tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1] 304s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1] 304s tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0] 304s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0] 304s tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0] 304s tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0] 304s tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1] 304s tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0] 304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2] 304s tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0] 304s tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3] 304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0] 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0] 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0] 304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0] 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0] 304s tests/console/commands/test_version.py::test_version_show 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_show 304s tests/console/commands/test_version.py::test_short_version_show 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_show 304s tests/console/commands/test_version.py::test_version_update 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_update 304s tests/console/commands/test_version.py::test_short_version_update 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_update 304s tests/console/commands/test_version.py::test_phase_version_update 304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_phase_version_update 305s tests/console/commands/test_version.py::test_dry_run 305s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_dry_run 305s tests/console/commands/cache/test_clear.py::test_cache_clear_all 305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all 305s tests/console/commands/cache/test_clear.py::test_cache_clear_all_no 305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all_no 305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy] 305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy] 305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy] 305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy] 305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no 305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no 305s tests/console/commands/cache/test_list.py::test_cache_list 305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list 305s tests/console/commands/cache/test_list.py::test_cache_list_empty 305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list_empty 305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results 305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results 305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree 305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree 305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency 305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency 305s tests/console/commands/env/test_info.py::test_env_info_displays_path_only 305s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_path_only 305s tests/console/commands/env/test_info.py::test_env_info_displays_executable_only 305s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_executable_only 306s tests/console/commands/self/test_add_plugins.py::test_add_no_constraint 306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_no_constraint 306s tests/console/commands/self/test_add_plugins.py::test_add_with_constraint 306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_constraint 306s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint 306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint 307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras 307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras 307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git#subdirectory=subdir-None] 307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git#subdirectory=subdir-None] 307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git@master#subdirectory=subdir-master] 307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git@master#subdirectory=subdir-master] 308s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation 308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation 308s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested 308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested 308s tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed 308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed 308s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package 308s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package 309s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run 309s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run 309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0] 309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0] 309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2] 309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2] 309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns 309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns 309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin] 309s [gw0] [ 35%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin] 309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name] 309s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name] 309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0] 309s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0] 310s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_dependencies[entry_point_values_by_group0-plugin_package_requires_dist0] 310s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_dependencies[entry_point_values_by_group0-plugin_package_requires_dist0] 314s tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation 314s [gw0] [ 36%] PASSED tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation 314s tests/console/commands/source/test_add.py::test_source_add_simple 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_simple 314s tests/console/commands/source/test_add.py::test_source_add_default_legacy 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default_legacy 314s tests/console/commands/source/test_add.py::test_source_add_secondary_legacy 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary_legacy 314s tests/console/commands/source/test_add.py::test_source_add_default 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default 314s tests/console/commands/source/test_add.py::test_source_add_second_default_fails 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_second_default_fails 314s tests/console/commands/source/test_add.py::test_source_add_secondary 314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary 315s tests/console/commands/source/test_add.py::test_source_add_supplemental 315s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_supplemental 315s tests/console/commands/source/test_add.py::test_source_add_explicit 315s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_explicit 315s tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy 315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy 315s tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy 315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy 315s tests/console/commands/source/test_add.py::test_source_add_error_no_url 315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_no_url 315s tests/console/commands/source/test_add.py::test_source_add_error_pypi 315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_pypi 316s tests/console/commands/source/test_add.py::test_source_add_pypi[pypi] 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[pypi] 316s tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI] 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI] 316s tests/console/commands/source/test_add.py::test_source_add_pypi_explicit 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi_explicit 316s tests/console/commands/source/test_add.py::test_source_add_existing_legacy 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_legacy 316s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower] 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower] 316s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper] 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper] 316s tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower] 316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower] 317s tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper] 317s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper] 317s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower] 317s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper] 317s tests/console/commands/source/test_remove.py::test_source_remove_simple[lower] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[lower] 317s tests/console/commands/source/test_remove.py::test_source_remove_simple[upper] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[upper] 317s tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi] 317s tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI] 317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI] 318s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi] 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi] 318s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI] 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI] 318s tests/console/commands/source/test_remove.py::test_source_remove_error[foo] 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[foo] 318s tests/console/commands/source/test_remove.py::test_source_remove_error[pypi] 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[pypi] 318s tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI] 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI] 318s tests/console/commands/source/test_show.py::test_source_show_simple 318s [gw0] [ 38%] PASSED tests/console/commands/source/test_show.py::test_source_show_simple 318s tests/console/commands/source/test_show.py::test_source_show_one[lower] 318s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[lower] 319s tests/console/commands/source/test_show.py::test_source_show_one[upper] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[upper] 319s tests/console/commands/source/test_show.py::test_source_show_two[lower] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[lower] 319s tests/console/commands/source/test_show.py::test_source_show_two[upper] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[upper] 319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary] 319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default] 319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary] 319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental] 319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental] 320s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit] 320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit] 320s tests/console/commands/source/test_show.py::test_source_show_pypi 320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi 320s tests/console/commands/source/test_show.py::test_source_show_pypi_and_other 320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi_and_other 320s tests/console/commands/source/test_show.py::test_source_show_no_sources 320s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_no_sources 320s tests/console/commands/source/test_show.py::test_source_show_error 320s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_error 320s tests/inspection/test_info.py::test_info_from_wheel 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_wheel 320s tests/inspection/test_info.py::test_info_from_bdist 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_bdist 320s tests/inspection/test_info.py::test_info_from_poetry_directory 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory 320s tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error 320s tests/inspection/test_info.py::test_info_from_requires_txt 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_requires_txt 320s tests/inspection/test_info.py::test_info_from_setup_py 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_py 320s tests/inspection/test_info.py::test_info_from_setup_cfg 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_cfg 320s tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps 320s tests/inspection/test_info.py::test_info_setup_simple 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_simple 320s tests/inspection/test_info.py::test_info_setup_cfg 320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_cfg 331s tests/inspection/test_info.py::test_info_setup_complex 331s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex 335s tests/inspection/test_info.py::test_info_setup_complex_pep517_error 335s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_error 343s tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy 343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy 343s tests/inspection/test_info.py::test_info_setup_complex_disable_build 343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_disable_build 343s tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info 343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info 343s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 343s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 343s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 345s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 345s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 345s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 345s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 345s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 345s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 345s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 346s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 346s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 346s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 346s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 346s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 346s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 346s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 346s tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 346s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 346s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 346s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 346s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 347s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False] 347s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False] 347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 347s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 347s tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels 347s [gw0] [ 43%] SKIPPED tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels 347s tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose 347s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose 347s tests/installation/test_executor.py::test_execute_should_show_errors 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_errors 347s tests/installation/test_executor.py::test_execute_works_with_ansi_output 347s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output 347s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 347s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 347s tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt 347s tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error 347s tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads 347s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0] 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0] 347s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1] 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1] 347s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files 347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files 348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories 348s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories 348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 348s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True] 348s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True] 348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git 348s tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7] 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3] 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7] 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5] 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2] 348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5] 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5] 348s tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer 348s tests/installation/test_executor.py::test_other_error 348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_other_error 348s tests/installation/test_installer.py::test_run_no_dependencies 348s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_no_dependencies 348s tests/installation/test_installer.py::test_run_with_dependencies 348s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_with_dependencies 348s tests/installation/test_installer.py::test_run_update_after_removing_dependencies 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_update_after_removing_dependencies 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False] 348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True] 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True] 348s tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required 348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required 348s tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required 348s tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed 348s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0] 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0] 348s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1] 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1] 348s tests/installation/test_installer.py::test_run_whitelist_add 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_add 348s tests/installation/test_installer.py::test_run_whitelist_remove 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_remove 348s tests/installation/test_installer.py::test_add_with_sub_dependencies 348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_add_with_sub_dependencies 349s tests/installation/test_installer.py::test_run_with_python_versions 349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_python_versions 349s tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies 349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies 349s tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies 349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies 349s tests/installation/test_installer.py::test_run_with_dependencies_extras 349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_extras 349s tests/installation/test_installer.py::test_run_with_dependencies_nested_extras 349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_nested_extras 349s tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested 349s tests/installation/test_installer.py::test_run_installs_extras_if_requested 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_if_requested 349s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested 349s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked 349s tests/installation/test_installer.py::test_run_installs_with_local_file 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_file 349s tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist 349s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras 349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras 350s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True] 350s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True] 351s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False] 351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False] 351s tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive 351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive 351s tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory 351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory 351s tests/installation/test_installer.py::test_run_with_prereleases 351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_with_prereleases 351s tests/installation/test_installer.py::test_run_update_all_with_lock 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_all_with_lock 351s tests/installation/test_installer.py::test_run_update_with_locked_extras 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_with_locked_extras 351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints 351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock 351s tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency 351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update 351s tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 351s [gw0] [ 49%] SKIPPED tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 351s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency 351s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository 351s tests/installation/test_installer.py::test_installer_required_extras_should_be_installed 351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_be_installed 352s tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent 352s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent 352s tests/installation/test_installer.py::test_run_installs_with_url_file 352s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_installs_with_url_file 352s tests/installation/test_installer.py::test_installer_can_handle_old_lock_files 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_can_handle_old_lock_files 352s tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails 352s tests/installation/test_installer.py::test_run_with_dependencies_quiet[True] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[True] 352s tests/installation/test_installer.py::test_run_with_dependencies_quiet[False] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[False] 352s tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies 352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin] 352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux] 352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64] 352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64] 352s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin] 352s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux] 352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux] 352s tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content 352s [gw0] [ 50%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content 352s tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content 352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content 352s tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version 352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version 352s tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode 352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode 352s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True] 352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True] 352s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False] 352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False] 352s tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy 352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy 352s tests/json/test_schema_sources.py::test_pyproject_toml_valid 352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid 352s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority 352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority 352s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new 352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new 352s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages 352s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages 352s tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts 352s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts 353s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured 353s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured 353s tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files 353s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files 353s tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts 353s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts 353s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors 353s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors 353s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors 353s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors 353s tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution 353s [gw0] [ 52%] PASSED tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution 353s tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version 353s tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph 353s tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier 353s tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first 353s tests/mixology/version_solver/test_backtracking.py::test_simple_transitive 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_simple_transitive 353s tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package 353s tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint 353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint 353s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1 353s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2 353s tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies 353s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints 353s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies 353s tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error] 353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error] 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2] 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local] 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local] 353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2] 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2] 353s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type 353s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache 353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache 354s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories 354s tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint 354s tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint 354s tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints 354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints 354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints 354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints 354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies 354s tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution 354s tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message 354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies 354s tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies 354s tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies 354s tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied 354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest 354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras 354s tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock 354s tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository 354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository 354s tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file 354s [gw0] [ 55%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file 354s tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency 354s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency 354s tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached 354s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached 354s tests/packages/test_locker.py::test_lock_file_data_is_ordered 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_data_is_ordered 354s tests/packages/test_locker.py::test_locker_properly_loads_extras 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras 354s tests/packages/test_locker.py::test_locker_properly_loads_nested_extras 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_nested_extras 354s tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy 354s tests/packages/test_locker.py::test_locker_properly_loads_subdir 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_subdir 354s tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files 354s tests/packages/test_locker.py::test_lock_packages_with_null_description 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_packages_with_null_description 354s tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types 354s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data 354s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata 354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata 354s tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section 354s tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed 354s tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed 354s tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered 354s tests/packages/test_locker.py::test_extras_dependencies_are_ordered 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_extras_dependencies_are_ordered 354s tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions 354s tests/packages/test_locker.py::test_locker_dumps_subdir 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_subdir 354s tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order 354s tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package 354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True] 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True] 354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True] 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True] 354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True] 354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True] 354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True] 354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True] 354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False] 354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False] 354s tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks 354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks 354s tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed 354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed 354s tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate 354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate 354s tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin 354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin 354s tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled 354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled 354s tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default 354s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default 354s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project] 354s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project] 355s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source] 355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source] 355s tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository 355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository 355s tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists 355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists 355s tests/publishing/test_publisher.py::test_publish_uses_cert 355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_cert 355s tests/publishing/test_publisher.py::test_publish_uses_client_cert 355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_client_cert 355s tests/publishing/test_publisher.py::test_publish_read_from_environment_variable 355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_read_from_environment_variable 355s tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 355s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 355s tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 355s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 356s tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 357s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 357s tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 358s tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 358s tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 358s tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 359s tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 359s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 359s tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing 359s [gw0] [ 60%] PASSED tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing 359s tests/puzzle/test_provider.py::test_search_for[dependency0-expected0] 359s [gw0] [ 60%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency0-expected0] 359s tests/puzzle/test_provider.py::test_search_for[dependency1-expected1] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency1-expected1] 359s tests/puzzle/test_provider.py::test_search_for[dependency2-expected2] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency2-expected2] 359s tests/puzzle/test_provider.py::test_search_for[dependency3-expected3] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency3-expected3] 359s tests/puzzle/test_provider.py::test_search_for[dependency4-expected4] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency4-expected4] 359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0] 359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1] 359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2] 359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3] 359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4] 359s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True] 359s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False] 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False] 359s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info 359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info 359s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras 359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup 359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras 359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo] 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo] 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name] 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name] 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo] 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo] 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name] 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name] 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras 359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies 359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies 359s tests/puzzle/test_provider.py::test_search_for_directory_poetry 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry 359s tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras 359s tests/puzzle/test_provider.py::test_search_for_file_wheel 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel 359s tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras 359s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source 359s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names 359s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source 359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source 360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types 360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types 360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name 360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name 360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories 360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories 360s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None] 360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None] 360s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo] 360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo] 360s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False] 360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False] 360s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True] 360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True] 360s tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin 360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin 360s tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin 360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin 360s tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin 360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin 360s tests/puzzle/test_solver.py::test_solver_install_single 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_install_single 360s tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked 360s tests/puzzle/test_solver.py::test_remove_non_installed 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_remove_non_installed 360s tests/puzzle/test_solver.py::test_install_non_existing_package_fail 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_non_existing_package_fail 360s tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail 360s tests/puzzle/test_solver.py::test_solver_with_deps 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_with_deps 360s tests/puzzle/test_solver.py::test_install_honours_not_equal 360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_honours_not_equal 360s tests/puzzle/test_solver.py::test_install_with_deps_in_order 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_with_deps_in_order 360s tests/puzzle/test_solver.py::test_install_installed 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_installed 360s tests/puzzle/test_solver.py::test_update_installed 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_installed 360s tests/puzzle/test_solver.py::test_update_with_use_latest 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest 360s tests/puzzle/test_solver.py::test_solver_sets_groups 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_sets_groups 360s tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions 360s tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions 360s tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions 360s tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages 360s tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested 360s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one] 360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two] 360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None] 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None] 360s tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras 360s tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727 360s tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras 360s tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested 360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested 360s tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested 360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements 360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex 360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version 360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive 360s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies 360s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent 360s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies 360s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints 360s tests/puzzle/test_solver.py::test_solver_circular_dependency 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency 360s tests/puzzle/test_solver.py::test_solver_circular_dependency_chain 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency_chain 360s tests/puzzle/test_solver.py::test_solver_dense_dependencies 360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_dense_dependencies 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False] 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False] 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True] 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True] 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3 360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection 360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection 361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2 361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies 361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple 361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex 361s tests/puzzle/test_solver.py::test_duplicate_path_dependencies 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies 361s tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path 361s tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package 361s tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency 361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies 361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras 361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch] 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch] 361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag] 361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag] 361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev] 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev] 361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible 361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple 361s tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python 361s tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras 361s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies 361s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package 361s tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested 361s tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker 361s tests/puzzle/test_solver.py::test_solver_git_dependencies_update 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update 361s tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped 361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped 361s tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped 361s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped 361s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies 361s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies 362s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable 362s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras 362s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies 362s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras 362s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists 362s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists 362s tests/puzzle/test_solver.py::test_solver_skips_invalid_versions 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_skips_invalid_versions 362s tests/puzzle/test_solver.py::test_multiple_constraints_on_root 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_multiple_constraints_on_root 362s tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories 362s tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository 362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository 362s tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit 362s tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers 362s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies 362s tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras 362s tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies 362s tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies 362s tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies 362s tests/puzzle/test_solver.py::test_solver_synchronize_single 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_synchronize_single 362s tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package 362s [gw0] [ 72%] SKIPPED tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies 362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True] 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True] 362s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False] 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False] 362s tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type 362s tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available 362s tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies 362s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints 362s tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras 362s tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras 362s tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies 362s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints 362s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False] 362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False] 362s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True] 362s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False] 362s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True] 362s tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref 362s tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package 362s tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras 362s tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution 362s tests/puzzle/test_solver.py::test_solver_yanked_warning 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_yanked_warning 362s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False] 362s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True] 362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False] 362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True] 362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True] 362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras 362s [gw0] [ 75%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras 362s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order 362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order 362s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages 362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages 362s tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required 362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required 362s tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result 362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result 362s tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different 362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different 363s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload 363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload 363s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save 363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save 363s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid 363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid 363s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr 363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr 363s tests/repositories/test_installed_repository.py::test_load_successful 363s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful 363s tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution 363s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution 363s tests/repositories/test_installed_repository.py::test_load_ensure_isolation 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_ensure_isolation 363s tests/repositories/test_installed_repository.py::test_load_standard_package 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package 363s tests/repositories/test_installed_repository.py::test_load_git_package 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package 363s tests/repositories/test_installed_repository.py::test_load_git_package_pth 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package_pth 363s tests/repositories/test_installed_repository.py::test_load_platlib_package 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_platlib_package 363s tests/repositories/test_installed_repository.py::test_load_editable_package 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_package 363s tests/repositories/test_installed_repository.py::test_load_editable_with_import_package 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_with_import_package 363s tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages 363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages 363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages 363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages 363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages 363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages 363s tests/repositories/test_installed_repository.py::test_system_site_packages_source_type 363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_system_site_packages_source_type 363s tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct 363s tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct 363s tests/repositories/test_legacy_repository.py::test_page_clean_link 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_clean_link 363s tests/repositories/test_legacy_repository.py::test_page_invalid_version_link 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_invalid_version_link 363s tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names 363s tests/repositories/test_legacy_repository.py::test_sdist_format_support 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_sdist_format_support 363s tests/repositories/test_legacy_repository.py::test_missing_version 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_missing_version 363s tests/repositories/test_legacy_repository.py::test_package_not_canonicalized 363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_package_not_canonicalized 363s tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases 363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1] 363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1] 363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0] 363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0] 363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4] 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4] 363s tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution 363s tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires 363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires 363s tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only 363s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only 363s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 364s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint 364s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 364s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 364s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 364s tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-] 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-] 364s tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 364s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 364s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 364s tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash 364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash 364s tests/repositories/test_legacy_repository.py::test_get_200_returns_page 364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page 364s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 364s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 365s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 365s tests/repositories/test_legacy_repository.py::test_get_5xx_raises 365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises 365s tests/repositories/test_legacy_repository.py::test_get_redirected_response_url 365s [gw0] [ 80%] PASSED tests/repositories/test_legacy_repository.py::test_get_redirected_response_url 365s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 365s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 366s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 366s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 366s tests/repositories/test_lockfile_repository.py::test_has_package 366s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_has_package 366s tests/repositories/test_lockfile_repository.py::test_remove_package 366s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_remove_package 366s tests/repositories/test_pypi_repository.py::test_find_packages 366s [gw0] [ 80%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages 366s tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases 366s tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed 366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1] 366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1] 366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0] 366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0] 366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4] 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4] 366s tests/repositories/test_pypi_repository.py::test_package 366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_package 366s tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-] 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-] 366s tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 366s tests/repositories/test_pypi_repository.py::test_package_not_canonicalized 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_not_canonicalized 366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 366s tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages 366s tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found 366s tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files 366s tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored 366s tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error 366s tests/repositories/test_pypi_repository.py::test_urls 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_urls 366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types 366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types 366s tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types 366s [gw0] [ 83%] PASSED tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types 366s tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0] 366s tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 366s tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 366s tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 366s tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4] 366s tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-] 366s tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason] 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason] 366s tests/repositories/test_repository.py::test_package_pretty_name_is_kept 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_pretty_name_is_kept 366s tests/repositories/test_repository.py::test_search 366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_search 366s tests/repositories/test_repository_pool.py::test_pool 366s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool 366s tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories 366s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories 366s tests/repositories/test_repository_pool.py::test_repository_no_repository 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_no_repository 366s tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names 366s tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1] 366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1] 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1] 366s tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories 366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories 367s tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show 367s tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show 367s tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror 367s tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful 367s tests/repositories/test_repository_pool.py::test_remove_default_repository 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_default_repository 367s tests/repositories/test_repository_pool.py::test_repository_ordering 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_ordering 367s tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository 367s tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed 367s tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository 367s tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found 367s tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found 367s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository 367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository 367s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository 367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository 367s tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories 367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories 367s tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped 367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped 367s tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page 367s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page 367s tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages 367s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages 367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0] 367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1] 367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2] 367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid-py2.py3-none-any.whl-None] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid-py2.py3-none-any.whl-None] 367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None] 367s tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None] 367s tests/repositories/link_sources/test_base.py::test_versions[demo-expected0] 367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_versions[demo-expected0] 367s tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1] 367s tests/repositories/link_sources/test_base.py::test_packages 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_packages 367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0] 367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1] 367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4] 367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False] 367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason] 367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2] 367s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-None-https://example.org/demo-0.1.whl] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-None-https://example.org/demo-0.1.whl] 367s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-https://example.org/-https://example.org/demo-0.1.whl] 367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-https://example.org/-https://example.org/demo-0.1.whl] 367s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors 367s [gw0] [ 88%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors 367s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url 367s [gw0] [ 89%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url 367s tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser 367s [gw0] [ 89%] PASSED tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser 367s tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 367s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 367s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 367s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 368s tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 368s tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 368s tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 368s tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 368s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 368s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 368s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 369s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 369s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 369s tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 369s tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 370s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None] 370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None] 370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert] 370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert] 370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None] 370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None] 370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-path/to/provided/client-cert] 370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-path/to/provided/client-cert] 370s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 371s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 371s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 371s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 371s tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 371s tests/utils/test_authenticator.py::test_authenticator_add_repository 371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository 371s tests/utils/test_authenticator.py::test_authenticator_git_repositories 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_authenticator_git_repositories 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5] 371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6] 371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6] 371s tests/utils/test_cache.py::test_cache_validates 371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_validates 371s tests/utils/test_cache.py::test_cache_get_put_has 371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_get_put_has 371s tests/utils/test_cache.py::test_cache_forget 371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_forget 371s tests/utils/test_cache.py::test_cache_flush 371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_flush 371s tests/utils/test_cache.py::test_cache_remember 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_remember 371s tests/utils/test_cache.py::test_cache_get_limited_minutes 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_get_limited_minutes 371s tests/utils/test_cache.py::test_missing_cache_file 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_file 371s tests/utils/test_cache.py::test_missing_cache_path 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_path 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[] 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00] 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999] 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"] 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"] 371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led] 371s tests/utils/test_cache.py::test_get_cache_directory_for_link 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_link 371s tests/utils/test_cache.py::test_get_cache_directory_for_git[None] 371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[None] 371s tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir] 371s tests/utils/test_cache.py::test_get_cached_archives 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archives 371s tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-True-available_packages0] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-True-available_packages0] 371s tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False-available_packages1] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False-available_packages1] 371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False] 371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False] 371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0.tar.gz-True] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0.tar.gz-True] 371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-True] 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-True] 371s tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition 371s tests/utils/test_cache.py::test_get_cached_archive_for_git 371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_git 371s tests/utils/test_env_site.py::test_env_site_simple 371s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_simple 371s tests/utils/test_env_site.py::test_env_site_select_first 371s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_select_first 371s tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5] 371s tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6] 371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6] 371s tests/utils/test_password_manager.py::test_set_http_password 371s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_http_password 371s tests/utils/test_password_manager.py::test_get_http_auth 371s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_http_auth 372s tests/utils/test_password_manager.py::test_delete_http_password 372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_delete_http_password 372s tests/utils/test_password_manager.py::test_set_pypi_token 372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token 372s tests/utils/test_password_manager.py::test_get_pypi_token 372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token 372s tests/utils/test_password_manager.py::test_delete_pypi_token 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token 372s tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend 372s tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors 372s tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring 372s tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring 372s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable 372s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable 372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable 372s tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable 372s tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable 372s tests/utils/test_password_manager.py::test_locked_keyring_should_be_available 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_locked_keyring_should_be_available 372s tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available 372s tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables 372s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables 372s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables 372s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive 372s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available 372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available 372s tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0] 372s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0] 372s tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1] 372s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1] 374s tests/utils/test_pip.py::test_pip_install_successful 374s [gw0] [ 97%] PASSED tests/utils/test_pip.py::test_pip_install_successful 374s tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt 374s [gw0] [ 98%] PASSED tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt 374s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py 374s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types 374s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables 374s tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types 374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg 374s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg 374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr 374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs 374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main 374s tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables 374s tests/utils/test_setup_reader.py::test_setup_reader_setuptools 374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_setuptools 374s tests/utils/test_source.py::test_source_to_table[source0-table_body0] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source0-table_body0] 374s tests/utils/test_source.py::test_source_to_table[source1-table_body1] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source1-table_body1] 374s tests/utils/test_source.py::test_source_default_is_primary 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_default_is_primary 374s tests/utils/test_source.py::test_source_legacy_handling[False-True-3] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[False-True-3] 374s tests/utils/test_source.py::test_source_legacy_handling[True-False-1] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-False-1] 374s tests/utils/test_source.py::test_source_legacy_handling[True-True-1] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-True-1] 374s tests/utils/test_source.py::test_source_priority_as_string[secondary-3] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[secondary-3] 374s tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3] 374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3] 374s tests/vcs/git/test_system.py::TestSystemGit::test_clone_success 374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_success 374s tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter 374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter 374s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1 374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1 374s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2 375s [gw0] [100%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2 375s 375s =================================== FAILURES =================================== 375s ______________ test_create_poetry_fails_on_invalid_configuration _______________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0> 375s 375s def test_create_poetry_fails_on_invalid_configuration( 375s fixture_dir: FixtureDirGetter, 375s ) -> None: 375s with pytest.raises(RuntimeError) as e: 375s Factory().create_poetry(fixture_dir("invalid_pyproject") / "pyproject.toml") 375s 375s jsonschema_error = "'description' is a required property" 375s fastjsonschema_error = "data must contain ['description'] properties" 375s 375s expected_template = """\ 375s The Poetry configuration is invalid: 375s - {schema_error} 375s - Project name (invalid) is same as one of its dependencies 375s """ 375s expected = { 375s expected_template.format(schema_error=schema_error) 375s for schema_error in (jsonschema_error, fastjsonschema_error) 375s } 375s 375s > assert str(e.value) in expected 375s E assert "The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n" in {"The Poetry configuration is invalid:\n - 'description' is a required property\n - Project name (invalid) is same as one of its dependencies\n", "The Poetry configuration is invalid:\n - data must contain ['description'] properties\n - Project name (invalid) is same as one of its dependencies\n"} 375s E + where "The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n" = str(RuntimeError("The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n")) 375s E + where RuntimeError("The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n") = .value 375s 375s tests/test_factory.py:540: AssertionError 375s _____________ test_publish_returns_non_zero_code_for_upload_errors _____________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s app = 375s app_tester = 375s http = 375s 375s def test_publish_returns_non_zero_code_for_upload_errors( 375s app: PoetryTestApplication, 375s app_tester: ApplicationTester, 375s http: type[httpretty.httpretty], 375s ) -> None: 375s http.register_uri( 375s http.POST, "https://upload.pypi.org/legacy/", status=400, body="Bad Request" 375s ) 375s 375s exit_code = app_tester.execute("publish --username foo --password bar") 375s 375s assert exit_code == 1 375s 375s expected_output = """ 375s Publishing simple-project (1.2.3) to PyPI 375s """ 375s expected_error_output = """\ 375s HTTP Error 400: Bad Request | b'Bad Request' 375s """ 375s 375s assert expected_output in app_tester.io.fetch_output() 375s > assert expected_error_output in app_tester.io.fetch_error() 375s E assert "HTTP Error 400: Bad Request | b'Bad Request'\n" in ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | 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.\n' 375s E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | 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.\n' = >() 375s E + where > = .fetch_error 375s E + where = .io 375s 375s tests/console/commands/test_publish.py:43: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___________ test_publish_returns_non_zero_code_for_connection_errors ___________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s app = 375s app_tester = 375s http = 375s 375s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 375s def test_publish_returns_non_zero_code_for_connection_errors( 375s app: PoetryTestApplication, 375s app_tester: ApplicationTester, 375s http: type[httpretty.httpretty], 375s ) -> None: 375s def request_callback(*_: Any, **__: Any) -> None: 375s raise requests.ConnectionError() 375s 375s http.register_uri( 375s http.POST, "https://upload.pypi.org/legacy/", body=request_callback 375s ) 375s 375s exit_code = app_tester.execute("publish --username foo --password bar") 375s 375s assert exit_code == 1 375s 375s expected = str(UploadError(error=requests.ConnectionError())) 375s 375s > assert expected in app_tester.io.fetch_error() 375s 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%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | 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.\n' 375s E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | 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.\n' = >() 375s E + where > = .fetch_error 375s E + where = .io 375s 375s tests/console/commands/test_publish.py:65: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _________________________________ test_search __________________________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s tester = 375s http = 375s 375s def test_search(tester: CommandTester, http: type[httpretty.httpretty]) -> None: 375s > tester.execute("sqlalchemy") 375s 375s tests/console/commands/test_search.py:34: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/cleo/testers/command_tester.py:88: in execute 375s self._status_code = self._command.run(self._io) 375s /usr/lib/python3/dist-packages/cleo/commands/base_command.py:117: in run 375s return self.execute(io) or 0 375s /usr/lib/python3/dist-packages/cleo/commands/command.py:61: in execute 375s return self.handle() 375s /usr/lib/python3/dist-packages/poetry/console/commands/search.py:17: in handle 375s results = PyPiRepository().search(self.argument("tokens")) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:57: in search 375s response = requests.get( 375s /usr/lib/python3/dist-packages/requests/api.py:73: in get 375s return request("get", url, params=params, **kwargs) 375s /usr/lib/python3/dist-packages/requests/api.py:59: in request 375s return session.request(method=method, url=url, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___________ test_chooser_chooses_universal_wheel_link_if_available[] ___________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_universal_wheel_link_if_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:148: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ________ test_chooser_chooses_universal_wheel_link_if_available[legacy] ________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_universal_wheel_link_if_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:148: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________ test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] ___________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s policy = ':all:', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___ test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] ___ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___ test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] ____ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________ test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] __________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] ________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s policy = ':all:', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] _ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] _ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ____ test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] ____ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' 375s config = 375s 375s @pytest.mark.parametrize( 375s ("policy", "filename"), 375s [ 375s (":all:", "pytest-3.5.0.tar.gz"), 375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 375s ("pytest", "pytest-3.5.0.tar.gz"), 375s ("pytest,black", "pytest-3.5.0.tar.gz"), 375s ], 375s ) 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_no_binary_policy( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s policy: str, 375s filename: str, 375s config: Config, 375s ) -> None: 375s config.merge({"installer": {"no-binary": policy.split(",")}}) 375s 375s chooser = Chooser(pool, env, config) 375s 375s package = Package("pytest", "3.5.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:188: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___ test_chooser_chooses_specific_python_universal_wheel_link_if_available[] ___ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_specific_python_universal_wheel_link_if_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:213: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] _ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_specific_python_universal_wheel_link_if_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:213: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ________ test_chooser_chooses_system_specific_wheel_link_if_available[] ________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_system_specific_wheel_link_if_available( 375s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool 375s ) -> None: 375s env = MockEnv( 375s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] 375s ) 375s chooser = Chooser(pool, env) 375s 375s package = Package("pyyaml", "3.13.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:237: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _____ test_chooser_chooses_system_specific_wheel_link_if_available[legacy] _____ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mock_pypi = None, mock_legacy = None, source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_system_specific_wheel_link_if_available( 375s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool 375s ) -> None: 375s env = MockEnv( 375s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] 375s ) 375s chooser = Chooser(pool, env) 375s 375s package = Package("pyyaml", "3.13.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:237: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ____ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] _____ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("pyyaml", "3.13.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:262: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] __ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("pyyaml", "3.13.0") 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:262: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ______ test_chooser_chooses_distributions_that_match_the_package_hashes[] ______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_distributions_that_match_the_package_hashes( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s files = [ 375s { 375s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8", 375s "filename": "isort-4.3.4.tar.gz", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:295: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___ test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] ___ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_distributions_that_match_the_package_hashes( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s files = [ 375s { 375s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8", 375s "filename": "isort-4.3.4.tar.gz", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:295: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________________ test_chooser_chooses_yanked_if_no_others[] __________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_yanked_if_no_others( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("black", "21.11b0") 375s files = [ 375s { 375s "filename": "black-21.11b0-py3-none-any.whl", 375s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:328: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______________ test_chooser_chooses_yanked_if_no_others[legacy] _______________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_chooses_yanked_if_no_others( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: str, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("black", "21.11b0") 375s files = [ 375s { 375s "filename": "black-21.11b0-py3-none-any.whl", 375s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:328: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ________________ test_chooser_does_not_choose_yanked_if_others _________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mock_legacy = None, mock_legacy_partial_yank = None 375s pool = 375s 375s def test_chooser_does_not_choose_yanked_if_others( 375s mock_legacy: None, 375s mock_legacy_partial_yank: None, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, MockEnv(supported_tags=[Tag("py2", "none", "any")])) 375s 375s package = Package("futures", "3.2.0") 375s files = [ 375s { 375s "filename": "futures-3.2.0-py2-none-any.whl", 375s "hash": "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1", 375s }, 375s { 375s "filename": "futures-3.2.0.tar.gz", 375s "hash": "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265", 375s }, 375s ] 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s package_partial_yank = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo2", 375s source_url="https://foo2.bar/simple/", 375s ) 375s 375s package.files = files 375s package_partial_yank.files = files 375s 375s > link = chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:370: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ________ test_chooser_throws_an_error_if_package_hashes_do_not_match[] _________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_throws_an_error_if_package_hashes_do_not_match( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: None, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s files = [ 375s { 375s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", 375s "filename": "isort-4.3.4.tar.gz", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s with pytest.raises(RuntimeError) as e: 375s > chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:406: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 375s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 375s json_response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _____ test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] ______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 375s source_type = 'legacy' 375s pool = 375s 375s @pytest.mark.parametrize("source_type", ["", "legacy"]) 375s def test_chooser_throws_an_error_if_package_hashes_do_not_match( 375s env: MockEnv, 375s mock_pypi: None, 375s mock_legacy: None, 375s source_type: None, 375s pool: RepositoryPool, 375s ) -> None: 375s chooser = Chooser(pool, env) 375s 375s package = Package("isort", "4.3.4") 375s files = [ 375s { 375s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", 375s "filename": "isort-4.3.4.tar.gz", 375s } 375s ] 375s if source_type == "legacy": 375s package = Package( 375s package.name, 375s package.version.text, 375s source_type="legacy", 375s source_reference="foo", 375s source_url="https://foo.bar/simple/", 375s ) 375s 375s package.files = files 375s 375s with pytest.raises(RuntimeError) as e: 375s > chooser.choose_for(package) 375s 375s tests/installation/test_chooser.py:406: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 375s for link in self._get_links(package): 375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 375s links = repository.find_links_for_package(package) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 375s page = self.get_page(package.name) 375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 375s response = self._get_response(f"/{name}/") 375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 375s response: requests.Response = self.session.get( 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 375s return self.request("get", url, **kwargs) 375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 375s resp = session.send(prepared_request, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _________________ test_execute_executes_a_batch_of_operations __________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mocker = 375s config = 375s pool = 375s io = 375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0') 375s mock_file_downloads = None 375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0/.venv") 375s copy_wheel = ._copy_wheel at 0x3ff7796ac00> 375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0> 375s 375s def test_execute_executes_a_batch_of_operations( 375s mocker: MockerFixture, 375s config: Config, 375s pool: RepositoryPool, 375s io: BufferedIO, 375s tmp_path: Path, 375s mock_file_downloads: None, 375s env: MockEnv, 375s copy_wheel: Callable[[], Path], 375s fixture_dir: FixtureDirGetter, 375s ) -> None: 375s wheel_install = mocker.patch.object(WheelInstaller, "install") 375s 375s config.merge({"cache-dir": str(tmp_path)}) 375s artifact_cache = ArtifactCache(cache_dir=config.artifacts_cache_directory) 375s 375s prepare_spy = mocker.spy(Chef, "_prepare") 375s chef = Chef(artifact_cache, env, Factory.create_pool(config)) 375s chef.set_directory_wheel([copy_wheel(), copy_wheel()]) 375s chef.set_sdist_wheel(copy_wheel()) 375s 375s io.set_verbosity(Verbosity.VERY_VERBOSE) 375s 375s executor = Executor(env, pool, config, io) 375s executor._chef = chef 375s 375s file_package = Package( 375s "demo", 375s "0.1.0", 375s source_type="file", 375s source_url=(fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl") 375s .resolve() 375s .as_posix(), 375s ) 375s 375s directory_package = Package( 375s "simple-project", 375s "1.2.3", 375s source_type="directory", 375s source_url=fixture_dir("simple_project").resolve().as_posix(), 375s ) 375s 375s git_package = Package( 375s "demo", 375s "0.1.0", 375s source_type="git", 375s source_reference="master", 375s source_url="https://github.com/demo/demo.git", 375s develop=True, 375s ) 375s 375s return_code = executor.execute( 375s [ 375s Install(Package("pytest", "3.5.1")), 375s Uninstall(Package("attrs", "17.4.0")), 375s Update(Package("requests", "2.18.3"), Package("requests", "2.18.4")), 375s Update(Package("pytest", "3.5.1"), Package("pytest", "3.5.0")), 375s Uninstall(Package("clikit", "0.2.3")).skip("Not currently installed"), 375s Install(file_package), 375s Install(directory_package), 375s Install(git_package), 375s ] 375s ) 375s 375s expected = f""" 375s Package operations: 4 installs, 2 updates, 1 removal 375s 375s • Installing pytest (3.5.1) 375s • Removing attrs (17.4.0) 375s • Updating requests (2.18.3 -> 2.18.4) 375s • Downgrading pytest (3.5.1 -> 3.5.0) 375s • Installing demo (0.1.0 {file_package.source_url}) 375s • Installing simple-project (1.2.3 {directory_package.source_url}) 375s • Installing demo (0.1.0 master) 375s """ 375s 375s expected_lines = set(expected.splitlines()) 375s output_lines = set(io.fetch_output().splitlines()) 375s > assert output_lines == expected_lines 375s E AssertionError: assert {'', ' ', ' ...icator)', ...} == {'', ' • Dow...roject)', ...} 375s E Extra items in the left set: 375s E ' original_archive = self._artifact_cache.get_cached_archive_for_link(' 375s E ' 7 /usr/lib/python3/dist-packages/requests/adapters.py:486 in send' 375s E ' 649│ hostname = self._address[0]' 375s E ' self._prepare_proxy(conn)' 375s E ' sock = connection.create_connection(' 375s E ' 646│ '... 375s E 375s E ...Full output truncated (147 lines hidden), use '-vv' to show 375s 375s tests/installation/test_executor.py:270: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_execute_prints_warning_for_yanked_package[operations0-True] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s config = 375s pool = 375s io = 375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0') 375s mock_file_downloads = None 375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0/.venv") 375s operations = [, ] 375s has_warning = True 375s 375s @pytest.mark.parametrize( 375s "operations, has_warning", 375s [ 375s ( 375s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], 375s True, 375s ), 375s ( 375s [ 375s Uninstall(Package("black", "21.11b0")), 375s Uninstall(Package("pytest", "3.5.1")), 375s ], 375s False, 375s ), 375s ( 375s [ 375s Update(Package("black", "19.10b0"), Package("black", "21.11b0")), 375s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), 375s ], 375s True, 375s ), 375s ], 375s ) 375s def test_execute_prints_warning_for_yanked_package( 375s config: Config, 375s pool: RepositoryPool, 375s io: BufferedIO, 375s tmp_path: Path, 375s mock_file_downloads: None, 375s env: MockEnv, 375s operations: list[Operation], 375s has_warning: bool, 375s ) -> None: 375s config.merge({"cache-dir": str(tmp_path)}) 375s 375s executor = Executor(env, pool, config, io) 375s 375s return_code = executor.execute(operations) 375s 375s expected = ( 375s "Warning: The file chosen for install of black 21.11b0 " 375s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " 375s "Broken regex dependency. Use 21.11b1 instead." 375s ) 375s output = io.fetch_output() 375s error = io.fetch_error() 375s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" 375s E AssertionError: 375s E output: 375s E Package operations: 2 installs, 0 updates, 0 removals 375s E 375s E • Installing black (21.11b0) 375s E • Installing pytest (3.5.1) 375s E 375s E UnmockedError 375s E 375s E Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s E 375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 375s E 641│ 375s E 642│ if httpretty.allow_net_connect and not self.truesock: 375s E 643│ self.truesock = self.create_socket(address) 375s E 644│ elif not self.truesock: 375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E 646│ 375s E 647│ undo_patch_socket() 375s E 648│ try: 375s E 649│ hostname = self._address[0] 375s E 375s E Cannot install pytest. 375s E 375s E 375s E UnmockedError 375s E 375s E Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s E 375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 375s E 641│ 375s E 642│ if httpretty.allow_net_connect and not self.truesock: 375s E 643│ self.truesock = self.create_socket(address) 375s E 644│ elif not self.truesock: 375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E 646│ 375s E 647│ undo_patch_socket() 375s E 648│ try: 375s E 649│ hostname = self._address[0] 375s E 375s E Cannot install black. 375s E 375s E 375s 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. 375s E 375s E 375s E assert 1 == 0 375s 375s tests/installation/test_executor.py:329: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_execute_prints_warning_for_yanked_package[operations2-True] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s config = 375s pool = 375s io = 375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2') 375s mock_file_downloads = None 375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2/.venv") 375s operations = [, ] 375s has_warning = True 375s 375s @pytest.mark.parametrize( 375s "operations, has_warning", 375s [ 375s ( 375s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], 375s True, 375s ), 375s ( 375s [ 375s Uninstall(Package("black", "21.11b0")), 375s Uninstall(Package("pytest", "3.5.1")), 375s ], 375s False, 375s ), 375s ( 375s [ 375s Update(Package("black", "19.10b0"), Package("black", "21.11b0")), 375s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), 375s ], 375s True, 375s ), 375s ], 375s ) 375s def test_execute_prints_warning_for_yanked_package( 375s config: Config, 375s pool: RepositoryPool, 375s io: BufferedIO, 375s tmp_path: Path, 375s mock_file_downloads: None, 375s env: MockEnv, 375s operations: list[Operation], 375s has_warning: bool, 375s ) -> None: 375s config.merge({"cache-dir": str(tmp_path)}) 375s 375s executor = Executor(env, pool, config, io) 375s 375s return_code = executor.execute(operations) 375s 375s expected = ( 375s "Warning: The file chosen for install of black 21.11b0 " 375s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " 375s "Broken regex dependency. Use 21.11b1 instead." 375s ) 375s output = io.fetch_output() 375s error = io.fetch_error() 375s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" 375s E AssertionError: 375s E output: 375s E Package operations: 0 installs, 2 updates, 0 removals 375s E 375s E • Updating black (19.10b0 -> 21.11b0) 375s E • Updating pytest (3.5.0 -> 3.5.1) 375s E 375s E UnmockedError 375s E 375s E Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s E 375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 375s E 641│ 375s E 642│ if httpretty.allow_net_connect and not self.truesock: 375s E 643│ self.truesock = self.create_socket(address) 375s E 644│ elif not self.truesock: 375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E 646│ 375s E 647│ undo_patch_socket() 375s E 648│ try: 375s E 649│ hostname = self._address[0] 375s E 375s E Cannot install pytest. 375s E 375s E 375s E UnmockedError 375s E 375s E Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s E 375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 375s E 641│ 375s E 642│ if httpretty.allow_net_connect and not self.truesock: 375s E 643│ self.truesock = self.create_socket(address) 375s E 644│ elif not self.truesock: 375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E 646│ 375s E 647│ undo_patch_socket() 375s E 648│ try: 375s E 649│ hostname = self._address[0] 375s E 375s E Cannot install black. 375s E 375s E 375s 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. 375s E 375s E 375s E assert 1 == 0 375s 375s tests/installation/test_executor.py:329: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _____________________ test_execute_works_with_ansi_output ______________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s config = 375s pool = 375s io_decorated = 375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0') 375s mock_file_downloads = None 375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0/.venv") 375s 375s def test_execute_works_with_ansi_output( 375s config: Config, 375s pool: RepositoryPool, 375s io_decorated: BufferedIO, 375s tmp_path: Path, 375s mock_file_downloads: None, 375s env: MockEnv, 375s ) -> None: 375s config.merge({"cache-dir": str(tmp_path)}) 375s 375s executor = Executor(env, pool, config, io_decorated) 375s 375s return_code = executor.execute( 375s [ 375s Install(Package("cleo", "1.0.0a5")), 375s ] 375s ) 375s 375s # fmt: off 375s expected = [ 375s "\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m removals", 375s "\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", 375s "\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", 375s "\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", 375s "\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 375s ] 375s # fmt: on 375s 375s output = io_decorated.fetch_output() 375s # hint: use print(repr(output)) if you need to debug this 375s 375s for line in expected: 375s > assert line in output 375s E 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 removals\n\n \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\n\x1b[1A\x1b[0J \x1b[31;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[31;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[31;1mFailed\x1b[39;22m\n\n \x1b[31;1mUnmockedError\x1b[39;22m\n\n \x1b[39;1mFailed to socket.connect() because because a real socket was never created.\n \n address: squid.internal:3128 | 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.\x1b[39;22m\n\n at \x1b[32m/usr/lib/python3/dist-packages/httpretty/core.py\x1b[39m:\x1b[39;1m645\x1b[39;22m in \x1b[36mconnect_truesock\x1b[39m\n \x1b[39;2m 641\x1b[39;22m\x1b[39;2m│\x1b[39;22m \n \x1b[39;2m 642\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m \x1b[39m\x1b[35;1mif \x1b[39;22m\x1b[39mhttpretty\x1b[39m\x1b[39;2m.\x1b[39;22m\x1b[39mallow_net_connect \x1b[39m\x1b[...39;1mself\x1b[39;22m\x1b[39;2m.\x1b[39;22m\x1b[39mtruesock\x1b[39m\x1b[39;2m:\x1b[39;22m\n \x1b[31;1m→\x1b[39;22m \x1b[39;1m 645\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m \x1b[39m\x1b[35;1mraise \x1b[39;22m\x1b[39mUnmockedError\x1b[39m\x1b[39;2m(\x1b[39;22m\x1b[33;1m'Failed to socket.connect() because because a real socket was never created.'\x1b[39;22m\x1b[39;2m, \x1b[39;22m\x1b[39mrequest\x1b[39m\x1b[39;2m=\x1b[39;22m\x1b[39mrequest\x1b[39m\x1b[39;2m, \x1b[39;22m\x1b[39maddress\x1b[39m\x1b[39;2m=\x1b[39;22m\x1b[39maddress\x1b[39m\x1b[39;2m)\x1b[39;22m\n \x1b[39;2m 646\x1b[39;22m\x1b[39;2m│\x1b[39;22m \n \x1b[39;2m 647\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m undo_patch_socket\x1b[39m\x1b[39;2m()\x1b[39;22m\n \x1b[39;2m 648\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39;2m \x1b[39;22m\x1b[35;1mtry\x1b[39;22m\x1b[39;2m:\x1b[39;22m\n \x1b[39;2m 649\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m hostname \x1b[39m\x1b[39;2m= \x1b[39;22m\x1b[39;1mself\x1b[39;22m\x1b[39;2m.\x1b[39;22m\x1b[39m_address\x1b[39m\x1b[39;2m[\x1b[39;22m\x1b[34;1m0\x1b[39;22m\x1b[39;2m]\x1b[39;22m\n\n\x1b[31;1mCannot install cleo.\x1b[39;22m\n\n" 375s 375s tests/installation/test_executor.py:487: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ____________________ test_execute_works_with_no_ansi_output ____________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mocker = 375s config = 375s pool = 375s io_not_decorated = 375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0') 375s mock_file_downloads = None 375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0/.venv") 375s 375s def test_execute_works_with_no_ansi_output( 375s mocker: MockerFixture, 375s config: Config, 375s pool: RepositoryPool, 375s io_not_decorated: BufferedIO, 375s tmp_path: Path, 375s mock_file_downloads: None, 375s env: MockEnv, 375s ) -> None: 375s config.merge({"cache-dir": str(tmp_path)}) 375s 375s executor = Executor(env, pool, config, io_not_decorated) 375s 375s return_code = executor.execute( 375s [ 375s Install(Package("cleo", "1.0.0a5")), 375s ] 375s ) 375s 375s expected = """ 375s Package operations: 1 install, 0 updates, 0 removals 375s 375s • Installing cleo (1.0.0a5) 375s """ 375s expected_lines = set(expected.splitlines()) 375s output_lines = set(io_not_decorated.fetch_output().splitlines()) 375s > assert output_lines == expected_lines 375s E AssertionError: assert {'', ' ', ' ...uesock:', ...} == {'', ' • Ins..., 0 removals'} 375s E Extra items in the left set: 375s E ' 648│ try:' 375s E ' 649│ hostname = self._address[0]' 375s E ' 644│ elif not self.truesock:' 375s E 'Cannot install cleo.' 375s E ' 646│ ' 375s E ' 641│ '... 375s E 375s E ...Full output truncated (37 lines hidden), use '-vv' to show 375s 375s tests/installation/test_executor.py:517: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ____ test_executor_should_write_pep610_url_references_for_wheel_urls[False] ____ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s tmp_venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv") 375s pool = 375s config = 375s io = 375s mock_file_downloads = None 375s mocker = 375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0> 375s is_artifact_cached = False 375s 375s @pytest.mark.parametrize("is_artifact_cached", [False, True]) 375s def test_executor_should_write_pep610_url_references_for_wheel_urls( 375s tmp_venv: VirtualEnv, 375s pool: RepositoryPool, 375s config: Config, 375s io: BufferedIO, 375s mock_file_downloads: None, 375s mocker: MockerFixture, 375s fixture_dir: FixtureDirGetter, 375s is_artifact_cached: bool, 375s ) -> None: 375s if is_artifact_cached: 375s link_cached = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" 375s mocker.patch( 375s "poetry.utils.cache.ArtifactCache.get_cached_archive_for_link", 375s return_value=link_cached, 375s ) 375s download_spy = mocker.spy(Executor, "_download_archive") 375s 375s package = Package( 375s "demo", 375s "0.1.0", 375s source_type="url", 375s source_url="https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl", 375s ) 375s # Set package.files so the executor will attempt to hash the package 375s package.files = [ 375s { 375s "file": "demo-0.1.0-py2.py3-none-any.whl", 375s "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", 375s } 375s ] 375s 375s executor = Executor(tmp_venv, pool, config, io) 375s operation = Install(package) 375s executor.execute([operation]) 375s expected_url_reference = { 375s "archive_info": { 375s "hashes": { 375s "sha256": ( 375s "70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a" 375s ) 375s }, 375s }, 375s "url": package.source_url, 375s } 375s > verify_installed_distribution(tmp_venv, package, expected_url_reference) 375s 375s tests/installation/test_executor.py:859: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv") 375s package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl') 375s url_reference = {'archive_info': {'hashes': {'sha256': '70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl'} 375s 375s def verify_installed_distribution( 375s venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None 375s ) -> None: 375s distributions = list(venv.site_packages.distributions(name=package.name)) 375s > assert len(distributions) == 1 375s E assert 0 == 1 375s E + where 0 = len([]) 375s 375s tests/installation/test_executor.py:619: AssertionError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________________ test_uploader_properly_handles_400_errors ___________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s 375s def test_uploader_properly_handles_400_errors( 375s http: type[httpretty.httpretty], uploader: Uploader 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request") 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:33: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________________ test_uploader_properly_handles_403_errors ___________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s 375s def test_uploader_properly_handles_403_errors( 375s http: type[httpretty.httpretty], uploader: Uploader 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:44: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ______________ test_uploader_properly_handles_nonstandard_errors _______________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s 375s def test_uploader_properly_handles_nonstandard_errors( 375s http: type[httpretty.httpretty], uploader: Uploader 375s ) -> None: 375s # content based off a true story. 375s # Message changed to protect the ~~innocent~~ guilty. 375s content = ( 375s b'{\n "errors": [ {\n ' 375s b'"status": 400,' 375s b'"message": "I cant let you do that, dave"\n' 375s b"} ]\n}" 375s ) 375s http.register_uri(http.POST, "https://foo.com", status=400, body=content) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:63: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_uploader_properly_handles_redirects[308-Permanent Redirect] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 308, body = 'Permanent Redirect' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_uploader_properly_handles_redirects[307-Temporary Redirect] _______ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 307, body = 'Temporary Redirect' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s __________ test_uploader_properly_handles_redirects[304-Not Modified] __________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 304, body = 'Not Modified' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ___________ test_uploader_properly_handles_redirects[303-See Other] ____________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 303, body = 'See Other' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _____________ test_uploader_properly_handles_redirects[302-Found] ______________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 302, body = 'Found' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _______ test_uploader_properly_handles_redirects[301-Moved Permanently] ________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 301, body = 'Moved Permanently' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ________ test_uploader_properly_handles_redirects[300-Multiple Choices] ________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 300, body = 'Multiple Choices' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (308, "Permanent Redirect"), 375s (307, "Temporary Redirect"), 375s (304, "Not Modified"), 375s (303, "See Other"), 375s (302, "Found"), 375s (301, "Moved Permanently"), 375s (300, "Multiple Choices"), 375s ], 375s ) 375s def test_uploader_properly_handles_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:86: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _________________ test_uploader_properly_handles_301_redirects _________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s 375s def test_uploader_properly_handles_301_redirects( 375s http: type[httpretty.httpretty], uploader: Uploader 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect") 375s 375s with pytest.raises(UploadError) as e: 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:100: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ______________ test_uploader_registers_for_appropriate_400_errors ______________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s mocker = 375s http = 375s uploader = 375s 375s def test_uploader_registers_for_appropriate_400_errors( 375s mocker: MockerFixture, http: type[httpretty.httpretty], uploader: Uploader 375s ) -> None: 375s register = mocker.patch("poetry.publishing.uploader.Uploader._register") 375s http.register_uri( 375s http.POST, "https://foo.com", status=400, body="No package was ever registered" 375s ) 375s 375s with pytest.raises(UploadError): 375s > uploader.upload("https://foo.com") 375s 375s tests/publishing/test_uploader.py:117: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ______________________ test_uploader_skips_existing[409-] ______________________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 409, body = '' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (409, ""), 375s (400, "File already exists"), 375s (400, "Repository does not allow updating assets"), 375s (403, "Not enough permissions to overwrite artifact"), 375s (400, "file name has already been taken"), 375s ], 375s ) 375s def test_uploader_skips_existing( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s # should not raise 375s > uploader.upload("https://foo.com", skip_existing=True) 375s 375s tests/publishing/test_uploader.py:138: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s ____________ test_uploader_skips_existing[400-File already exists] _____________ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 400, body = 'File already exists' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (409, ""), 375s (400, "File already exists"), 375s (400, "Repository does not allow updating assets"), 375s (403, "Not enough permissions to overwrite artifact"), 375s (400, "file name has already been taken"), 375s ], 375s ) 375s def test_uploader_skips_existing( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s # should not raise 375s > uploader.upload("https://foo.com", skip_existing=True) 375s 375s tests/publishing/test_uploader.py:138: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_uploader_skips_existing[400-Repository does not allow updating assets] __ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 400, body = 'Repository does not allow updating assets' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (409, ""), 375s (400, "File already exists"), 375s (400, "Repository does not allow updating assets"), 375s (403, "Not enough permissions to overwrite artifact"), 375s (400, "file name has already been taken"), 375s ], 375s ) 375s def test_uploader_skips_existing( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s # should not raise 375s > uploader.upload("https://foo.com", skip_existing=True) 375s 375s tests/publishing/test_uploader.py:138: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 375s address = ('squid.internal', 3128) 375s 375s def connect_truesock(self, request=None, address=None): 375s address = address or self._address 375s 375s if self.__truesock_is_connected__: 375s return self.truesock 375s 375s if request: 375s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 375s elif address: 375s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 375s else: 375s logger.warning('real call to socket.connect()') 375s 375s if httpretty.allow_net_connect and not self.truesock: 375s self.truesock = self.create_socket(address) 375s elif not self.truesock: 375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 375s E 375s E address: squid.internal:3128 | 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. 375s 375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 375s ----------------------------- Captured stdout call ----------------------------- 375s real call to socket.connect() for ('squid.internal', 3128) 375s ------------------------------ Captured log call ------------------------------- 375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 375s _ test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] _ 375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 375s 375s http = 375s uploader = 375s status = 403, body = 'Not enough permissions to overwrite artifact' 375s 375s @pytest.mark.parametrize( 375s "status, body", 375s [ 375s (409, ""), 375s (400, "File already exists"), 375s (400, "Repository does not allow updating assets"), 375s (403, "Not enough permissions to overwrite artifact"), 375s (400, "file name has already been taken"), 375s ], 375s ) 375s def test_uploader_skips_existing( 375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 375s ) -> None: 375s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 375s 375s # should not raise 375s > uploader.upload("https://foo.com", skip_existing=True) 375s 375s tests/publishing/test_uploader.py:138: 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 375s self._upload(session, url, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 375s self._upload_file(session, url, file, dry_run, skip_existing) 375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 375s resp = session.post( 375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 375s return self.request("POST", url, data=data, json=json, **kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 375s resp = self.send(prep, **send_kwargs) 375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 375s r = adapter.send(request, **kwargs) 375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 375s resp = conn.urlopen( 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 375s self._prepare_proxy(conn) 375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 375s conn.connect() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 375s self.sock = sock = self._new_conn() 375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 375s sock = connection.create_connection( 375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 375s sock.connect(sa) 375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 375s self.connect_truesock(address=address) 375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 375s 375s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______ test_uploader_skips_existing[400-file name has already been taken] ______ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s uploader = 376s status = 400, body = 'file name has already been taken' 376s 376s @pytest.mark.parametrize( 376s "status, body", 376s [ 376s (409, ""), 376s (400, "File already exists"), 376s (400, "Repository does not allow updating assets"), 376s (403, "Not enough permissions to overwrite artifact"), 376s (400, "file name has already been taken"), 376s ], 376s ) 376s def test_uploader_skips_existing( 376s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 376s ) -> None: 376s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 376s 376s # should not raise 376s > uploader.upload("https://foo.com", skip_existing=True) 376s 376s tests/publishing/test_uploader.py:138: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 376s self._upload(session, url, dry_run, skip_existing) 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 376s self._upload_file(session, url, file, dry_run, skip_existing) 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 376s resp = session.post( 376s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 376s return self.request("POST", url, data=data, json=json, **kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 376s resp = self.send(prep, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ____________ test_uploader_skip_existing_bubbles_unskippable_errors ____________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s uploader = 376s 376s def test_uploader_skip_existing_bubbles_unskippable_errors( 376s http: type[httpretty.httpretty], uploader: Uploader 376s ) -> None: 376s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") 376s 376s with pytest.raises(UploadError): 376s > uploader.upload("https://foo.com", skip_existing=True) 376s 376s tests/publishing/test_uploader.py:147: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 376s self._upload(session, url, dry_run, skip_existing) 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 376s self._upload_file(session, url, file, dry_run, skip_existing) 376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 376s resp = session.post( 376s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 376s return self.request("POST", url, data=data, json=json, **kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 376s resp = self.send(prep, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s __________________________ test_get_200_returns_page ___________________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s 376s def test_get_200_returns_page(http: type[httpretty.httpretty]) -> None: 376s repo = MockHttpRepository({"/foo/": 200}, http) 376s 376s > _ = repo.get_page("foo") 376s 376s tests/repositories/test_legacy_repository.py:512: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 376s response = self._make_request( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 376s conn.request( 376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 376s self.endheaders() 376s /usr/lib/python3.12/http/client.py:1326: in endheaders 376s self._send_output(message_body, encode_chunked=encode_chunked) 376s /usr/lib/python3.12/http/client.py:1085: in _send_output 376s self.send(msg) 376s /usr/lib/python3.12/http/client.py:1029: in send 376s self.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 376s self.sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________________ test_get_40x_and_returns_none[401] ______________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s status_code = 401 376s 376s @pytest.mark.parametrize("status_code", [401, 403, 404]) 376s def test_get_40x_and_returns_none( 376s http: type[httpretty.httpretty], status_code: int 376s ) -> None: 376s repo = MockHttpRepository({"/foo/": status_code}, http) 376s 376s with pytest.raises(PackageNotFound): 376s > repo.get_page("foo") 376s 376s tests/repositories/test_legacy_repository.py:522: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 376s response = self._make_request( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 376s conn.request( 376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 376s self.endheaders() 376s /usr/lib/python3.12/http/client.py:1326: in endheaders 376s self._send_output(message_body, encode_chunked=encode_chunked) 376s /usr/lib/python3.12/http/client.py:1085: in _send_output 376s self.send(msg) 376s /usr/lib/python3.12/http/client.py:1029: in send 376s self.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 376s self.sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________________ test_get_40x_and_returns_none[403] ______________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s status_code = 403 376s 376s @pytest.mark.parametrize("status_code", [401, 403, 404]) 376s def test_get_40x_and_returns_none( 376s http: type[httpretty.httpretty], status_code: int 376s ) -> None: 376s repo = MockHttpRepository({"/foo/": status_code}, http) 376s 376s with pytest.raises(PackageNotFound): 376s > repo.get_page("foo") 376s 376s tests/repositories/test_legacy_repository.py:522: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 376s response = self._make_request( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 376s conn.request( 376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 376s self.endheaders() 376s /usr/lib/python3.12/http/client.py:1326: in endheaders 376s self._send_output(message_body, encode_chunked=encode_chunked) 376s /usr/lib/python3.12/http/client.py:1085: in _send_output 376s self.send(msg) 376s /usr/lib/python3.12/http/client.py:1029: in send 376s self.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 376s self.sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________________ test_get_40x_and_returns_none[404] ______________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s status_code = 404 376s 376s @pytest.mark.parametrize("status_code", [401, 403, 404]) 376s def test_get_40x_and_returns_none( 376s http: type[httpretty.httpretty], status_code: int 376s ) -> None: 376s repo = MockHttpRepository({"/foo/": status_code}, http) 376s 376s with pytest.raises(PackageNotFound): 376s > repo.get_page("foo") 376s 376s tests/repositories/test_legacy_repository.py:522: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 376s response = self._make_request( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 376s conn.request( 376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 376s self.endheaders() 376s /usr/lib/python3.12/http/client.py:1326: in endheaders 376s self._send_output(message_body, encode_chunked=encode_chunked) 376s /usr/lib/python3.12/http/client.py:1085: in _send_output 376s self.send(msg) 376s /usr/lib/python3.12/http/client.py:1029: in send 376s self.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 376s self.sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _____________________________ test_get_5xx_raises ______________________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s 376s def test_get_5xx_raises(http: type[httpretty.httpretty]) -> None: 376s repo = MockHttpRepository({"/foo/": 500}, http) 376s 376s with pytest.raises(RepositoryError): 376s > repo.get_page("foo") 376s 376s tests/repositories/test_legacy_repository.py:529: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 376s response = self._make_request( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 376s conn.request( 376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 376s self.endheaders() 376s /usr/lib/python3.12/http/client.py:1326: in endheaders 376s self._send_output(message_body, encode_chunked=encode_chunked) 376s /usr/lib/python3.12/http/client.py:1085: in _send_output 376s self.send(msg) 376s /usr/lib/python3.12/http/client.py:1029: in send 376s self.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 376s self.sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___ test_authenticator_with_implicit_repository_configuration[repositories0] ___ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s config = , repositories = {} 376s 376s @pytest.mark.parametrize( 376s ("repositories",), 376s [ 376s ({},), 376s # ensure path is respected 376s ({"publish": {"url": "https://foo.bar/legacy"}},), 376s # ensure path length does not give incorrect results 376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 376s ], 376s ) 376s def test_authenticator_with_implicit_repository_configuration( 376s http: type[httpretty.httpretty], 376s config: Config, 376s repositories: dict[str, dict[str, str]], 376s ) -> None: 376s http.register_uri( 376s http.GET, 376s re.compile("^https?://foo.bar/(.+?)$"), 376s ) 376s 376s config.merge( 376s { 376s "repositories": repositories, 376s "http-basic": { 376s "source": {"username": "foo", "password": "bar"}, 376s "publish": {"username": "baz", "password": "qux"}, 376s }, 376s } 376s ) 376s 376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 376s > repo.get_page("/foo") 376s 376s tests/repositories/test_legacy_repository.py:583: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___ test_authenticator_with_implicit_repository_configuration[repositories1] ___ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s config = 376s repositories = {'publish': {'url': 'https://foo.bar/legacy'}} 376s 376s @pytest.mark.parametrize( 376s ("repositories",), 376s [ 376s ({},), 376s # ensure path is respected 376s ({"publish": {"url": "https://foo.bar/legacy"}},), 376s # ensure path length does not give incorrect results 376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 376s ], 376s ) 376s def test_authenticator_with_implicit_repository_configuration( 376s http: type[httpretty.httpretty], 376s config: Config, 376s repositories: dict[str, dict[str, str]], 376s ) -> None: 376s http.register_uri( 376s http.GET, 376s re.compile("^https?://foo.bar/(.+?)$"), 376s ) 376s 376s config.merge( 376s { 376s "repositories": repositories, 376s "http-basic": { 376s "source": {"username": "foo", "password": "bar"}, 376s "publish": {"username": "baz", "password": "qux"}, 376s }, 376s } 376s ) 376s 376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 376s > repo.get_page("/foo") 376s 376s tests/repositories/test_legacy_repository.py:583: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___ test_authenticator_with_implicit_repository_configuration[repositories2] ___ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s http = 376s config = 376s repositories = {'publish': {'url': 'https://foo.bar/upload/legacy'}} 376s 376s @pytest.mark.parametrize( 376s ("repositories",), 376s [ 376s ({},), 376s # ensure path is respected 376s ({"publish": {"url": "https://foo.bar/legacy"}},), 376s # ensure path length does not give incorrect results 376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 376s ], 376s ) 376s def test_authenticator_with_implicit_repository_configuration( 376s http: type[httpretty.httpretty], 376s config: Config, 376s repositories: dict[str, dict[str, str]], 376s ) -> None: 376s http.register_uri( 376s http.GET, 376s re.compile("^https?://foo.bar/(.+?)$"), 376s ) 376s 376s config.merge( 376s { 376s "repositories": repositories, 376s "http-basic": { 376s "source": {"username": "foo", "password": "bar"}, 376s "publish": {"username": "baz", "password": "qux"}, 376s }, 376s } 376s ) 376s 376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 376s > repo.get_page("/foo") 376s 376s tests/repositories/test_legacy_repository.py:583: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 376s response = self._get_response(f"/{name}/") 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 376s response: requests.Response = self.session.get( 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 376s return self.request("get", url, **kwargs) 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______________ test_authenticator_uses_url_provided_credentials _______________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_config = 376s mock_remote = None 376s http = 376s 376s def test_authenticator_uses_url_provided_credentials( 376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 376s ) -> None: 376s authenticator = Authenticator(mock_config, NullIO()) 376s > authenticator.request("get", "https://foo001:bar002@foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:67: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001:bar002@foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______ test_authenticator_uses_credentials_from_config_if_not_provided ________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_config = 376s mock_remote = None 376s http = 376s 376s def test_authenticator_uses_credentials_from_config_if_not_provided( 376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 376s ) -> None: 376s authenticator = Authenticator(mock_config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:78: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________ test_authenticator_uses_username_only_credentials _______________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_config = 376s mock_remote = None 376s http = 376s with_simple_keyring = None 376s 376s def test_authenticator_uses_username_only_credentials( 376s mock_config: Config, 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s ) -> None: 376s authenticator = Authenticator(mock_config, NullIO()) 376s > authenticator.request("get", "https://foo001@foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:92: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001@foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s __________________ test_authenticator_ignores_locked_keyring ___________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_remote = None 376s http = 376s with_locked_keyring = None 376s caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff7a18bb90> 376s 376s def test_authenticator_ignores_locked_keyring( 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_locked_keyring: None, 376s caplog: LogCaptureFixture, 376s ) -> None: 376s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") 376s authenticator = Authenticator() 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:107: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring https://foo.bar/files/foo-0.1.0.tar.gz is locked 376s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring foo.bar is locked 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s __________________ test_authenticator_ignores_failing_keyring __________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_remote = None 376s http = 376s with_erroneous_keyring = None 376s caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff75aad2b0> 376s 376s def test_authenticator_ignores_failing_keyring( 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_erroneous_keyring: None, 376s caplog: LogCaptureFixture, 376s ) -> None: 376s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") 376s authenticator = Authenticator() 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:122: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring https://foo.bar/files/foo-0.1.0.tar.gz failed 376s Traceback (most recent call last): 376s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential 376s credential = keyring.get_credential(name, username) 376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 376s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential 376s return get_keyring().get_credential(service_name, username) 376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 376s File "/tmp/autopkgtest.ATeZkA/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential 376s raise KeyringError() 376s keyring.errors.KeyringError 376s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring foo.bar failed 376s Traceback (most recent call last): 376s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential 376s credential = keyring.get_credential(name, username) 376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 376s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential 376s return get_keyring().get_credential(service_name, username) 376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 376s File "/tmp/autopkgtest.ATeZkA/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential 376s raise KeyringError() 376s keyring.errors.KeyringError 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________ test_authenticator_uses_password_only_credentials _______________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mock_config = 376s mock_remote = None 376s http = 376s 376s def test_authenticator_uses_password_only_credentials( 376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 376s ) -> None: 376s authenticator = Authenticator(mock_config, NullIO()) 376s > authenticator.request("get", "https://:bar002@foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:133: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for :bar002@foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s __________ test_authenticator_uses_empty_strings_as_default_password ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 376s http = 376s with_simple_keyring = None 376s 376s def test_authenticator_uses_empty_strings_as_default_password( 376s config: Config, 376s mock_remote: None, 376s repo: dict[str, dict[str, str]], 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s ) -> None: 376s config.merge( 376s { 376s "repositories": repo, 376s "http-basic": {"foo": {"username": "bar"}}, 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:155: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s __________ test_authenticator_uses_empty_strings_as_default_username ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 376s http = 376s 376s def test_authenticator_uses_empty_strings_as_default_username( 376s config: Config, 376s mock_remote: None, 376s repo: dict[str, dict[str, str]], 376s http: type[httpretty.httpretty], 376s ) -> None: 376s config.merge( 376s { 376s "repositories": repo, 376s "http-basic": {"foo": {"username": None, "password": "bar"}}, 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:176: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _________________ test_authenticator_falls_back_to_keyring_url _________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 376s http = 376s with_simple_keyring = None 376s dummy_keyring = 376s 376s def test_authenticator_falls_back_to_keyring_url( 376s config: Config, 376s mock_remote: None, 376s repo: dict[str, dict[str, str]], 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s dummy_keyring: DummyBackend, 376s ) -> None: 376s config.merge( 376s { 376s "repositories": repo, 376s } 376s ) 376s 376s dummy_keyring.set_password( 376s "https://foo.bar/simple/", None, SimpleCredential("foo", "bar") 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:202: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______________ test_authenticator_falls_back_to_keyring_netloc ________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 376s http = 376s with_simple_keyring = None 376s dummy_keyring = 376s 376s def test_authenticator_falls_back_to_keyring_netloc( 376s config: Config, 376s mock_remote: None, 376s repo: dict[str, dict[str, str]], 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s dummy_keyring: DummyBackend, 376s ) -> None: 376s config.merge( 376s { 376s "repositories": repo, 376s } 376s ) 376s 376s dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar")) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:226: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______________ test_authenticator_request_retries_on_exception ________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s 376s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 376s def test_authenticator_request_retries_on_exception( 376s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s seen: list[str] = [] 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s if seen.count(uri) < 2: 376s seen.append(uri) 376s raise requests.exceptions.ConnectionError("Disconnected") 376s return [200, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > response = authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:253: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _____ test_authenticator_request_raises_exception_when_attempts_exhausted ______ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s 376s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 376s def test_authenticator_request_raises_exception_when_attempts_exhausted( 376s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s 376s def callback(*_: Any, **___: Any) -> None: 376s raise requests.exceptions.ConnectionError(str(uuid.uuid4())) 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.ConnectionError): 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:272: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______________ test_authenticator_request_respects_retry_header _______________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s 376s def test_authenticator_request_respects_retry_header( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s seen: list[str] = [] 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s if not seen.count(uri): 376s seen.append(uri) 376s return [429, {"Retry-After": "42"}, "Retry later"] 376s 376s return [200, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s > response = authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:299: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[400-0] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 400, attempts = 0 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[401-0] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 401, attempts = 0 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[403-0] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 403, attempts = 0 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[404-0] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 404, attempts = 0 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[429-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 429, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[500-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 500, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[501-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 501, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[502-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 502, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[503-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 503, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ___________ test_authenticator_request_retries_on_status_code[504-5] ___________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s mocker = 376s config = 376s http = 376s status = 504, attempts = 5 376s 376s @pytest.mark.parametrize( 376s ["status", "attempts"], 376s [ 376s (400, 0), 376s (401, 0), 376s (403, 0), 376s (404, 0), 376s (429, 5), 376s (500, 5), 376s (501, 5), 376s (502, 5), 376s (503, 5), 376s (504, 5), 376s ], 376s ) 376s def test_authenticator_request_retries_on_status_code( 376s mocker: MockerFixture, 376s config: Config, 376s http: type[httpretty.httpretty], 376s status: int, 376s attempts: int, 376s ) -> None: 376s sleep = mocker.patch("time.sleep") 376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 376s content = str(uuid.uuid4()) 376s 376s def callback( 376s request: requests.Request, uri: str, response_headers: dict[str, str] 376s ) -> list[int | dict[str, str] | str]: 376s return [status, response_headers, content] 376s 376s http.register_uri(httpretty.GET, sdist_uri, body=callback) 376s authenticator = Authenticator(config, NullIO()) 376s 376s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 376s > authenticator.request("get", sdist_uri) 376s 376s tests/utils/test_authenticator.py:339: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _______________ test_authenticator_uses_env_provided_credentials _______________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = 376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}, environ = None 376s mock_remote = None 376s http = 376s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff76955940> 376s 376s def test_authenticator_uses_env_provided_credentials( 376s config: Config, 376s repo: dict[str, dict[str, str]], 376s environ: None, 376s mock_remote: type[httpretty.httpretty], 376s http: type[httpretty.httpretty], 376s monkeypatch: MonkeyPatch, 376s ) -> None: 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_USERNAME", "bar") 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_PASSWORD", "baz") 376s 376s config.merge({"repositories": repo}) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:362: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _____ test_authenticator_uses_credentials_from_config_matched_by_url_path ______ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s http = 376s 376s def test_authenticator_uses_credentials_from_config_matched_by_url_path( 376s config: Config, mock_remote: None, http: type[httpretty.httpretty] 376s ) -> None: 376s config.merge( 376s { 376s "repositories": { 376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 376s }, 376s "http-basic": { 376s "foo-alpha": {"username": "bar", "password": "alpha"}, 376s "foo-beta": {"username": "baz", "password": "beta"}, 376s }, 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:432: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _____ test_authenticator_uses_credentials_from_config_with_at_sign_in_path _____ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s http = 376s 376s def test_authenticator_uses_credentials_from_config_with_at_sign_in_path( 376s config: Config, mock_remote: None, http: type[httpretty.httpretty] 376s ) -> None: 376s config.merge( 376s { 376s "repositories": { 376s "foo": {"url": "https://foo.bar/beta/files/simple/"}, 376s }, 376s "http-basic": { 376s "foo": {"username": "bar", "password": "baz"}, 376s }, 376s } 376s ) 376s authenticator = Authenticator(config, NullIO()) 376s > authenticator.request("get", "https://foo.bar/beta/files/simple/f@@-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:462: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _________ test_authenticator_falls_back_to_keyring_url_matched_by_path _________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s http = 376s with_simple_keyring = None 376s dummy_keyring = 376s 376s def test_authenticator_falls_back_to_keyring_url_matched_by_path( 376s config: Config, 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s dummy_keyring: DummyBackend, 376s ) -> None: 376s config.merge( 376s { 376s "repositories": { 376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 376s } 376s } 376s ) 376s 376s dummy_keyring.set_password( 376s "https://foo.bar/alpha/files/simple/", None, SimpleCredential("foo", "bar") 376s ) 376s dummy_keyring.set_password( 376s "https://foo.bar/beta/files/simple/", None, SimpleCredential("foo", "baz") 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s 376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:495: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s _____ test_authenticator_uses_env_provided_credentials_matched_by_url_path _____ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , environ = None 376s mock_remote = None 376s http = 376s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff76954aa0> 376s 376s def test_authenticator_uses_env_provided_credentials_matched_by_url_path( 376s config: Config, 376s environ: None, 376s mock_remote: type[httpretty.httpretty], 376s http: type[httpretty.httpretty], 376s monkeypatch: MonkeyPatch, 376s ) -> None: 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_USERNAME", "bar") 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_PASSWORD", "alpha") 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_USERNAME", "baz") 376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_PASSWORD", "beta") 376s 376s config.merge( 376s { 376s "repositories": { 376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 376s } 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s 376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 376s 376s tests/utils/test_authenticator.py:531: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ________________ test_authenticator_azure_feed_guid_credentials ________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s http = 376s with_simple_keyring = None 376s dummy_keyring = 376s 376s def test_authenticator_azure_feed_guid_credentials( 376s config: Config, 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s dummy_keyring: DummyBackend, 376s ) -> None: 376s config.merge( 376s { 376s "repositories": { 376s "alpha": { 376s "url": "https://foo.bar/org-alpha/_packaging/feed/pypi/simple/" 376s }, 376s "beta": { 376s "url": "https://foo.bar/org-beta/_packaging/feed/pypi/simple/" 376s }, 376s }, 376s "http-basic": { 376s "alpha": {"username": "foo", "password": "bar"}, 376s "beta": {"username": "baz", "password": "qux"}, 376s }, 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s 376s > authenticator.request( 376s "get", 376s "https://foo.bar/org-alpha/_packaging/GUID/pypi/simple/a/1.0.0/a-1.0.0.whl", 376s ) 376s 376s tests/utils/test_authenticator.py:570: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s ______________________ test_authenticator_add_repository _______________________ 376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 376s 376s config = , mock_remote = None 376s http = 376s with_simple_keyring = None 376s dummy_keyring = 376s 376s def test_authenticator_add_repository( 376s config: Config, 376s mock_remote: None, 376s http: type[httpretty.httpretty], 376s with_simple_keyring: None, 376s dummy_keyring: DummyBackend, 376s ) -> None: 376s config.merge( 376s { 376s "http-basic": { 376s "source": {"username": "foo", "password": "bar"}, 376s }, 376s } 376s ) 376s 376s authenticator = Authenticator(config, NullIO()) 376s 376s > authenticator.request( 376s "get", 376s "https://foo.bar/simple/a/1.0.0/a-1.0.0.whl", 376s ) 376s 376s tests/utils/test_authenticator.py:606: 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 376s resp = session.send(prepared_request, **send_kwargs) 376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 376s r = adapter.send(request, **kwargs) 376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 376s resp = super().send(request, stream, timeout, verify, cert, proxies) 376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 376s resp = conn.urlopen( 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 376s self._prepare_proxy(conn) 376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 376s conn.connect() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 376s self.sock = sock = self._new_conn() 376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 376s sock = connection.create_connection( 376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 376s sock.connect(sa) 376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 376s self.connect_truesock(address=address) 376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 376s 376s self = httpretty.core.socket("squid.internal:3128"), request = None 376s address = ('squid.internal', 3128) 376s 376s def connect_truesock(self, request=None, address=None): 376s address = address or self._address 376s 376s if self.__truesock_is_connected__: 376s return self.truesock 376s 376s if request: 376s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 376s elif address: 376s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 376s else: 376s logger.warning('real call to socket.connect()') 376s 376s if httpretty.allow_net_connect and not self.truesock: 376s self.truesock = self.create_socket(address) 376s elif not self.truesock: 376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 376s E 376s E address: squid.internal:3128 | 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. 376s 376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 376s ----------------------------- Captured stdout call ----------------------------- 376s real call to socket.connect() for ('squid.internal', 3128) 376s ------------------------------ Captured log call ------------------------------- 376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 376s =============================== warnings summary =============================== 376s tests/console/commands/test_add.py: 13 warnings 376s tests/console/commands/test_show.py: 1 warning 376s tests/installation/test_executor.py: 8 warnings 376s tests/installation/test_installer.py: 2 warnings 376s tests/packages/test_direct_origin.py: 2 warnings 376s tests/puzzle/test_solver.py: 3 warnings 376s tests/utils/test_cache.py: 12 warnings 376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s if link.hash_name is not None and link.hash is not None: 376s 376s tests/console/commands/test_build.py::test_build_with_multiple_readme_files 376s /usr/lib/python3/dist-packages/poetry/console/commands/build.py:24: DeprecationWarning: poetry.core.masonry.builder is deprecated. Its functionality has been movedfrom poetry-core to poetry (poetry.console.commands.build). 376s from poetry.core.masonry.builder import Builder 376s 376s tests/installation/test_executor.py: 16 warnings 376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:189: DeprecationWarning: hash is deprecated. Use hashes instead. 376s if not link.hash: 376s 376s tests/installation/test_executor.py: 16 warnings 376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:192: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s assert link.hash_name is not None 376s 376s tests/installation/test_executor.py: 16 warnings 376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s h = link.hash_name + ":" + link.hash 376s 376s tests/installation/test_executor.py: 16 warnings 376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash is deprecated. Use hashes instead. 376s h = link.hash_name + ":" + link.hash 376s 376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_works_with_ansi_output 376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash is deprecated. Use hashes instead. 376s if link.hash_name is not None and link.hash is not None: 376s 376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_works_with_ansi_output 376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash is deprecated. Use hashes instead. 376s key_parts[link.hash_name] = link.hash 376s 376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s tests/installation/test_executor.py::test_execute_works_with_ansi_output 376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s key_parts[link.hash_name] = link.hash 376s 376s tests/puzzle/test_solver.py: 16 warnings 376s tests/repositories/test_legacy_repository.py: 52 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash is deprecated. Use hashes instead. 376s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None 376s 376s tests/puzzle/test_solver.py: 8 warnings 376s tests/repositories/test_legacy_repository.py: 25 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None 376s 376s tests/puzzle/test_solver.py: 8 warnings 376s tests/repositories/test_legacy_repository.py: 27 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:227: DeprecationWarning: hash is deprecated. Use hashes instead. 376s if not link.hash or ( 376s 376s tests/puzzle/test_solver.py: 8 warnings 376s tests/repositories/test_legacy_repository.py: 25 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:228: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s link.hash_name is not None 376s 376s tests/puzzle/test_solver.py: 8 warnings 376s tests/repositories/test_legacy_repository.py: 25 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:229: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s and link.hash_name not in ("sha256", "sha384", "sha512") 376s 376s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 376s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:230: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s and hasattr(hashlib, link.hash_name) 376s 376s tests/repositories/test_legacy_repository.py: 10 warnings 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:248: DeprecationWarning: hash_name is deprecated. Use hashes instead. 376s known_hash = getattr(hashlib, link.hash_name)() if link.hash_name else None 376s 376s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 376s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:261: DeprecationWarning: hash is deprecated. Use hashes instead. 376s if not known_hash or known_hash.hexdigest() == link.hash: 376s 376s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 376s =========================== short test summary info ============================ 376s FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 376s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 376s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 376s FAILED tests/console/commands/test_search.py::test_search - httpretty.errors.... 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 376s FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 376s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 376s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 376s FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 376s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 376s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 376s FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output 376s FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 376s FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 376s FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 376s FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 376s FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page 376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 376s FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises - ht... 376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 376s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 376s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 376s FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 376s FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository 376s ===== 91 failed, 1100 passed, 4 skipped, 347 warnings in 139.13s (0:02:19) ===== 376s autopkgtest [23:05:03]: test pytest: -----------------------] 377s autopkgtest [23:05:04]: test pytest: - - - - - - - - - - results - - - - - - - - - - 377s pytest FAIL non-zero exit status 1 378s autopkgtest [23:05:05]: @@@@@@@@@@@@@@@@@@@@ summary 378s pytest FAIL non-zero exit status 1 420s Creating nova instance adt-noble-s390x-poetry-20240321-225847-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-s390x-server-20240321.img (UUID a4b1c77c-a35e-4d28-a8d9-902a1febb465)...