0s autopkgtest [09:35:39]: starting date and time: 2024-03-20 09:35:39+0000 0s autopkgtest [09:35:39]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [09:35:39]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.ulx2463h/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --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-2@bos01-ppc64el-11.secgroup --name adt-noble-ppc64el-poetry-20240320-093539-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --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/ 195s autopkgtest [09:38:54]: testbed dpkg architecture: ppc64el 195s autopkgtest [09:38:54]: testbed apt version: 2.7.12 195s autopkgtest [09:38:54]: @@@@@@@@@@@@@@@@@@@@ test bed setup 196s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 196s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [497 kB] 196s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [52.7 kB] 196s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3810 kB] 197s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 197s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el Packages [659 kB] 197s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el c-n-f Metadata [3116 B] 197s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el Packages [1372 B] 197s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted ppc64el c-n-f Metadata [116 B] 197s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el Packages [4169 kB] 197s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe ppc64el c-n-f Metadata [8652 B] 197s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el Packages [47.7 kB] 197s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse ppc64el c-n-f Metadata [116 B] 200s Fetched 9372 kB in 2s (3815 kB/s) 201s Reading package lists... 203s Reading package lists... 205s Building dependency tree... 205s Reading state information... 205s Calculating upgrade... 205s The following packages have been kept back: 205s curl 205s The following packages will be upgraded: 205s ubuntu-minimal ubuntu-standard 205s 2 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 205s Need to get 21.5 kB of archives. 205s After this operation, 0 B of additional disk space will be used. 205s Get:1 http://ftpmaster.internal/ubuntu noble/main ppc64el ubuntu-minimal ppc64el 1.536build1 [10.7 kB] 205s Get:2 http://ftpmaster.internal/ubuntu noble/main ppc64el ubuntu-standard ppc64el 1.536build1 [10.7 kB] 205s Fetched 21.5 kB in 0s (101 kB/s) 205s (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 ... 70095 files and directories currently installed.) 205s Preparing to unpack .../ubuntu-minimal_1.536build1_ppc64el.deb ... 205s Unpacking ubuntu-minimal (1.536build1) over (1.536) ... 205s Preparing to unpack .../ubuntu-standard_1.536build1_ppc64el.deb ... 205s Unpacking ubuntu-standard (1.536build1) over (1.536) ... 205s Setting up ubuntu-minimal (1.536build1) ... 205s Setting up ubuntu-standard (1.536build1) ... 205s Reading package lists... 205s Building dependency tree... 205s Reading state information... 205s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 206s Hit:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease 206s Hit:2 http://ftpmaster.internal/ubuntu noble InRelease 206s Hit:3 http://ftpmaster.internal/ubuntu noble-updates InRelease 206s Hit:4 http://ftpmaster.internal/ubuntu noble-security InRelease 207s Reading package lists... 207s Reading package lists... 208s Building dependency tree... 208s Reading state information... 208s Calculating upgrade... 208s The following packages have been kept back: 208s curl 208s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 208s Reading package lists... 208s Building dependency tree... 208s Reading state information... 208s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. 211s autopkgtest [09:39:10]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Wed Feb 14 00:33:03 UTC 2024 211s autopkgtest [09:39:10]: @@@@@@@@@@@@@@@@@@@@ apt-source poetry 213s Get:1 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (dsc) [3263 B] 213s Get:2 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (tar) [2624 kB] 213s Get:3 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (diff) [7344 B] 213s gpgv: Signature made Fri Nov 24 13:13:39 2023 UTC 213s gpgv: using RSA key 13796755BBC72BB8ABE2AEB5FA9DEC5DE11C63F1 213s gpgv: issuer "eamanu@debian.org" 213s gpgv: Can't check signature: No public key 213s dpkg-source: warning: cannot verify inline signature for ./poetry_1.7.1+dfsg-1.dsc: no acceptable signature found 214s autopkgtest [09:39:13]: testing package poetry version 1.7.1+dfsg-1 214s autopkgtest [09:39:13]: build not needed 215s autopkgtest [09:39:14]: test pytest: preparing testbed 218s Reading package lists... 219s Building dependency tree... 219s Reading state information... 219s Starting pkgProblemResolver with broken count: 0 219s Starting 2 pkgProblemResolver with broken count: 0 219s Done 219s The following additional packages will be installed: 219s cpp cpp-13 cpp-13-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu curl gcc 219s gcc-13 gcc-13-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu git git-man 219s libasan8 libatomic1 libblas3 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 219s libcurl3t64-gnutls libcurl4t64 liberror-perl libexpat1-dev libgcc-13-dev 219s libgfortran5 libgnutls30t64 libgomp1 libhogweed6t64 libisl23 libitm1 219s libjs-jquery libjs-sphinxdoc libjs-underscore liblapack3 liblsan0 libmpc3 219s libnettle8t64 libnsl-dev libpsl5t64 libpython3-all-dev libpython3-dev 219s libpython3.12 libpython3.12-dev libquadmath0 libssl3t64 libtirpc-dev 219s libtsan2 libubsan1 linux-libc-dev python3-all python3-all-dev python3-build 219s python3-cachecontrol python3-cachy python3-cleo python3-crashtest 219s python3-deepdiff python3-dev python3-distlib python3-dulwich python3-execnet 219s python3-fastjsonschema python3-filelock python3-httpretty 219s python3-importlib-metadata python3-iniconfig python3-installer 219s python3-jaraco.classes python3-jeepney python3-jsonpickle python3-keyring 219s python3-lockfile python3-more-itertools python3-msgpack python3-numpy 219s python3-ordered-set python3-packaging python3-pexpect python3-pip-whl 219s python3-pkginfo python3-platformdirs python3-pluggy python3-poetry 219s python3-poetry-core python3-ptyprocess python3-pylev python3-pyproject-hooks 219s python3-pytest python3-pytest-mock python3-pytest-xdist 219s python3-requests-toolbelt python3-secretstorage python3-setuptools-whl 219s python3-shellingham python3-toml python3-tomlkit python3-trove-classifiers 219s python3-venv python3-virtualenv python3-wheel python3-wheel-whl python3-zipp 219s python3.11-venv python3.12-dev python3.12-venv rpcsvc-proto zlib1g-dev 219s Suggested packages: 219s cpp-doc gcc-13-locales cpp-13-doc gcc-multilib manpages-dev autoconf 219s automake libtool flex bison gdb gcc-doc gcc-13-doc gdb-powerpc64le-linux-gnu 219s git-daemon-run | git-daemon-sysvinit git-doc git-email git-gui gitk gitweb 219s git-cvs git-mediawiki git-svn glibc-doc gnutls-bin python3-pip 219s python-build-doc python-cleo-doc python3-gpg execnet-doc 219s python-fastjsonschema-doc python-installer-doc python-jsonpickle-doc 219s python3-simplejson gir1.2-secret-1 gnome-keyring libkf5wallet-bin 219s python3-keyrings.alt python3-shtab python-lockfile-doc gfortran 219s python-pexpect-doc python-pytest-mock-doc gnome-keyring | libkf5wallet-bin 219s | keepassxc python-secretstorage-doc 219s Recommended packages: 219s manpages manpages-dev libc-devtools javascript-common python3-clevercsv 219s python3-fastimport python-pkginfo-doc build-essential 219s The following packages will be REMOVED: 219s libcurl3-gnutls libcurl4 libgnutls30 libhogweed6 libnettle8 libpsl5 libssl3 219s The following NEW packages will be installed: 219s autopkgtest-satdep cpp cpp-13 cpp-13-powerpc64le-linux-gnu 219s cpp-powerpc64le-linux-gnu gcc gcc-13 gcc-13-powerpc64le-linux-gnu 219s gcc-powerpc64le-linux-gnu git git-man libasan8 libatomic1 libblas3 219s libc-dev-bin libc6-dev libcc1-0 libcrypt-dev libcurl3t64-gnutls libcurl4t64 219s liberror-perl libexpat1-dev libgcc-13-dev libgfortran5 libgnutls30t64 219s libgomp1 libhogweed6t64 libisl23 libitm1 libjs-jquery libjs-sphinxdoc 219s libjs-underscore liblapack3 liblsan0 libmpc3 libnettle8t64 libnsl-dev 219s libpsl5t64 libpython3-all-dev libpython3-dev libpython3.12 libpython3.12-dev 219s libquadmath0 libssl3t64 libtirpc-dev libtsan2 libubsan1 linux-libc-dev 219s python3-all python3-all-dev python3-build python3-cachecontrol python3-cachy 219s python3-cleo python3-crashtest python3-deepdiff python3-dev python3-distlib 219s python3-dulwich python3-execnet python3-fastjsonschema python3-filelock 219s python3-httpretty python3-importlib-metadata python3-iniconfig 219s python3-installer python3-jaraco.classes python3-jeepney python3-jsonpickle 219s python3-keyring python3-lockfile python3-more-itertools python3-msgpack 219s python3-numpy python3-ordered-set python3-packaging python3-pexpect 219s python3-pip-whl python3-pkginfo python3-platformdirs python3-pluggy 219s python3-poetry python3-poetry-core python3-ptyprocess python3-pylev 219s python3-pyproject-hooks python3-pytest python3-pytest-mock 219s python3-pytest-xdist python3-requests-toolbelt python3-secretstorage 219s python3-setuptools-whl python3-shellingham python3-toml python3-tomlkit 219s python3-trove-classifiers python3-venv python3-virtualenv python3-wheel 219s python3-wheel-whl python3-zipp python3.11-venv python3.12-dev 219s python3.12-venv rpcsvc-proto zlib1g-dev 219s The following packages will be upgraded: 219s curl 219s 1 upgraded, 106 newly installed, 7 to remove and 0 not upgraded. 219s Need to get 82.9 MB/82.9 MB of archives. 219s After this operation, 320 MB of additional disk space will be used. 219s Get:1 /tmp/autopkgtest.u6fsN7/1-autopkgtest-satdep.deb autopkgtest-satdep ppc64el 0 [832 B] 220s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libnettle8t64 ppc64el 3.9.1-2.2 [226 kB] 220s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libhogweed6t64 ppc64el 3.9.1-2.2 [208 kB] 220s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libgnutls30t64 ppc64el 3.8.3-1.1ubuntu2 [1154 kB] 220s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libssl3t64 ppc64el 3.0.13-0ubuntu2 [2125 kB] 220s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libcurl4t64 ppc64el 8.5.0-2ubuntu7 [428 kB] 220s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el curl ppc64el 8.5.0-2ubuntu7 [234 kB] 220s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libpsl5t64 ppc64el 0.21.2-1.1 [59.0 kB] 220s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el libcurl3t64-gnutls ppc64el 8.5.0-2ubuntu7 [419 kB] 220s Get:10 http://ftpmaster.internal/ubuntu noble/main ppc64el libisl23 ppc64el 0.26-3 [864 kB] 220s Get:11 http://ftpmaster.internal/ubuntu noble/main ppc64el libmpc3 ppc64el 1.3.1-1 [61.2 kB] 220s Get:12 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp-13-powerpc64le-linux-gnu ppc64el 13.2.0-17ubuntu2 [10.7 MB] 221s Get:13 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp-13 ppc64el 13.2.0-17ubuntu2 [1038 B] 221s Get:14 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:13.2.0-7ubuntu1 [5330 B] 221s Get:15 http://ftpmaster.internal/ubuntu noble/main ppc64el cpp ppc64el 4:13.2.0-7ubuntu1 [22.5 kB] 221s Get:16 http://ftpmaster.internal/ubuntu noble/main ppc64el libcc1-0 ppc64el 14-20240303-1ubuntu1 [48.1 kB] 221s Get:17 http://ftpmaster.internal/ubuntu noble/main ppc64el libgomp1 ppc64el 14-20240303-1ubuntu1 [161 kB] 221s Get:18 http://ftpmaster.internal/ubuntu noble/main ppc64el libitm1 ppc64el 14-20240303-1ubuntu1 [32.4 kB] 221s Get:19 http://ftpmaster.internal/ubuntu noble/main ppc64el libatomic1 ppc64el 14-20240303-1ubuntu1 [10.7 kB] 221s Get:20 http://ftpmaster.internal/ubuntu noble/main ppc64el libasan8 ppc64el 14-20240303-1ubuntu1 [2973 kB] 221s Get:21 http://ftpmaster.internal/ubuntu noble/main ppc64el liblsan0 ppc64el 14-20240303-1ubuntu1 [1325 kB] 221s Get:22 http://ftpmaster.internal/ubuntu noble/main ppc64el libtsan2 ppc64el 14-20240303-1ubuntu1 [2734 kB] 221s Get:23 http://ftpmaster.internal/ubuntu noble/main ppc64el libubsan1 ppc64el 14-20240303-1ubuntu1 [1194 kB] 221s Get:24 http://ftpmaster.internal/ubuntu noble/main ppc64el libquadmath0 ppc64el 14-20240303-1ubuntu1 [158 kB] 221s Get:25 http://ftpmaster.internal/ubuntu noble/main ppc64el libgcc-13-dev ppc64el 13.2.0-17ubuntu2 [1581 kB] 221s Get:26 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc-13-powerpc64le-linux-gnu ppc64el 13.2.0-17ubuntu2 [20.6 MB] 222s Get:27 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc-13 ppc64el 13.2.0-17ubuntu2 [477 kB] 222s Get:28 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:13.2.0-7ubuntu1 [1224 B] 222s Get:29 http://ftpmaster.internal/ubuntu noble/main ppc64el gcc ppc64el 4:13.2.0-7ubuntu1 [5022 B] 222s Get:30 http://ftpmaster.internal/ubuntu noble/main ppc64el liberror-perl all 0.17029-2 [25.6 kB] 222s Get:31 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el git-man all 1:2.43.0-1ubuntu5 [1099 kB] 222s Get:32 http://ftpmaster.internal/ubuntu noble-proposed/main ppc64el git ppc64el 1:2.43.0-1ubuntu5 [4789 kB] 222s Get:33 http://ftpmaster.internal/ubuntu noble/main ppc64el libblas3 ppc64el 3.12.0-3 [227 kB] 222s Get:34 http://ftpmaster.internal/ubuntu noble/main ppc64el libc-dev-bin ppc64el 2.39-0ubuntu2 [21.3 kB] 222s Get:35 http://ftpmaster.internal/ubuntu noble/main ppc64el linux-libc-dev ppc64el 6.8.0-11.11 [1585 kB] 222s Get:36 http://ftpmaster.internal/ubuntu noble/main ppc64el libcrypt-dev ppc64el 1:4.4.36-4 [167 kB] 222s Get:37 http://ftpmaster.internal/ubuntu noble/main ppc64el libtirpc-dev ppc64el 1.3.4+ds-1build1 [262 kB] 222s Get:38 http://ftpmaster.internal/ubuntu noble/main ppc64el libnsl-dev ppc64el 1.3.0-3 [79.2 kB] 222s Get:39 http://ftpmaster.internal/ubuntu noble/main ppc64el rpcsvc-proto ppc64el 1.4.2-0ubuntu6 [82.3 kB] 222s Get:40 http://ftpmaster.internal/ubuntu noble/main ppc64el libc6-dev ppc64el 2.39-0ubuntu2 [2102 kB] 222s Get:41 http://ftpmaster.internal/ubuntu noble/main ppc64el libexpat1-dev ppc64el 2.6.0-1 [152 kB] 222s Get:42 http://ftpmaster.internal/ubuntu noble/main ppc64el libgfortran5 ppc64el 14-20240303-1ubuntu1 [574 kB] 222s Get:43 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 222s Get:44 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 222s Get:45 http://ftpmaster.internal/ubuntu noble/main ppc64el libjs-sphinxdoc all 7.2.6-4 [149 kB] 222s Get:46 http://ftpmaster.internal/ubuntu noble/main ppc64el liblapack3 ppc64el 3.12.0-3 [2804 kB] 222s Get:47 http://ftpmaster.internal/ubuntu noble/main ppc64el libpython3.12 ppc64el 3.12.2-1 [2575 kB] 222s Get:48 http://ftpmaster.internal/ubuntu noble/main ppc64el zlib1g-dev ppc64el 1:1.3.dfsg-3ubuntu1 [902 kB] 222s Get:49 http://ftpmaster.internal/ubuntu noble/main ppc64el libpython3.12-dev ppc64el 3.12.2-1 [6012 kB] 223s Get:50 http://ftpmaster.internal/ubuntu noble/main ppc64el libpython3-dev ppc64el 3.12.1-0ubuntu2 [10.0 kB] 223s Get:51 http://ftpmaster.internal/ubuntu noble/main ppc64el libpython3-all-dev ppc64el 3.12.1-0ubuntu2 [912 B] 223s Get:52 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-all ppc64el 3.12.1-0ubuntu2 [904 B] 223s Get:53 http://ftpmaster.internal/ubuntu noble/main ppc64el python3.12-dev ppc64el 3.12.2-1 [505 kB] 223s Get:54 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-dev ppc64el 3.12.1-0ubuntu2 [26.7 kB] 223s Get:55 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-all-dev ppc64el 3.12.1-0ubuntu2 [908 B] 223s Get:56 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-more-itertools all 10.2.0-1 [52.9 kB] 223s Get:57 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-zipp all 1.0.0-6 [6090 B] 223s Get:58 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-importlib-metadata all 4.12.0-1 [17.8 kB] 223s Get:59 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-packaging all 23.2-1 [40.6 kB] 223s Get:60 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pyproject-hooks all 1.0.0-2 [9434 B] 223s Get:61 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-toml all 0.10.2-1 [16.5 kB] 223s Get:62 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-wheel all 0.42.0-1 [53.1 kB] 223s Get:63 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-build all 1.0.3-2 [27.3 kB] 223s Get:64 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-msgpack ppc64el 1.0.3-3build1 [107 kB] 223s Get:65 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cachecontrol all 0.14.0-1 [19.0 kB] 223s Get:66 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cachy all 0.3.0-4 [12.0 kB] 223s Get:67 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-crashtest all 0.4.1-1 [6804 B] 223s Get:68 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pylev all 1.4.0-1 [6594 B] 223s Get:69 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-cleo all 2.1.0-2 [51.8 kB] 223s Get:70 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-jsonpickle all 3.0.3+dfsg-1 [35.5 kB] 223s Get:71 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-numpy ppc64el 1:1.24.2-2 [5581 kB] 223s Get:72 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-ordered-set all 4.1.0-1 [9778 B] 223s Get:73 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-deepdiff all 6.7.1-1 [62.8 kB] 223s Get:74 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-distlib all 0.3.8-1 [318 kB] 223s Get:75 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-dulwich ppc64el 0.21.6-1build1 [313 kB] 223s Get:76 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-execnet all 2.0.0-2 [33.6 kB] 223s Get:77 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-fastjsonschema all 2.19.0-1 [19.6 kB] 223s Get:78 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-filelock all 3.13.1-1 [10.8 kB] 223s Get:79 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-httpretty all 1.1.4-4 [23.1 kB] 223s Get:80 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-iniconfig all 1.1.1-2 [6024 B] 223s Get:81 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-installer all 0.7.0+dfsg1-2 [18.1 kB] 223s Get:82 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-jaraco.classes all 3.2.1-4 [6528 B] 223s Get:83 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-jeepney all 0.8.0-3 [34.7 kB] 223s Get:84 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-secretstorage all 3.3.3-3 [13.7 kB] 223s Get:85 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-keyring all 24.3.1-1 [40.3 kB] 223s Get:86 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-lockfile all 1:0.12.2-3 [13.7 kB] 223s Get:87 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-ptyprocess all 0.7.0-5 [15.1 kB] 223s Get:88 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-pexpect all 4.9-2 [48.1 kB] 223s Get:89 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pip-whl all 24.0+dfsg-1 [1702 kB] 223s Get:90 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pkginfo all 1.9.6-1 [15.7 kB] 223s Get:91 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-platformdirs all 4.2.0-1 [16.1 kB] 223s Get:92 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pluggy all 1.4.0-1 [20.4 kB] 223s Get:93 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-poetry-core all 1.9.0-1 [203 kB] 223s Get:94 http://ftpmaster.internal/ubuntu noble/main ppc64el python3-requests-toolbelt all 1.0.0-2 [36.7 kB] 223s Get:95 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-shellingham all 1.5.4-1 [9482 B] 223s Get:96 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-tomlkit all 0.12.4-1 [37.5 kB] 223s Get:97 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-trove-classifiers all 2024.1.31-1 [10.4 kB] 223s Get:98 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-setuptools-whl all 68.1.2-2 [715 kB] 223s Get:99 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-wheel-whl all 0.42.0-1 [67.8 kB] 223s Get:100 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-virtualenv all 20.25.0+ds-1 [70.7 kB] 223s Get:101 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-poetry all 1.7.1+dfsg-1 [138 kB] 223s Get:102 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest all 7.4.4-1 [305 kB] 224s Get:103 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest-mock all 3.12.0-1.1 [11.3 kB] 224s Get:104 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-pytest-xdist all 3.4.0-1 [32.0 kB] 224s Get:105 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3.12-venv ppc64el 3.12.2-1 [5674 B] 224s Get:106 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3-venv ppc64el 3.12.1-0ubuntu2 [1046 B] 224s Get:107 http://ftpmaster.internal/ubuntu noble/universe ppc64el python3.11-venv ppc64el 3.11.8-1 [5738 B] 224s Fetched 82.9 MB in 4s (19.9 MB/s) 224s dpkg: libhogweed6:ppc64el: dependency problems, but removing anyway as you requested: 224s librtmp1:ppc64el depends on libhogweed6. 224s libjcat1:ppc64el depends on libhogweed6. 224s libgnutls30:ppc64el depends on libhogweed6 (>= 3.6). 224s 224s (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 ... 70095 files and directories currently installed.) 224s Removing libhogweed6:ppc64el (3.9.1-2) ... 224s dpkg: libnettle8:ppc64el: dependency problems, but removing anyway as you requested: 224s librtmp1:ppc64el depends on libnettle8. 224s libgnutls30:ppc64el depends on libnettle8 (>= 3.9~). 224s libcurl3-gnutls:ppc64el depends on libnettle8. 224s libarchive13:ppc64el depends on libnettle8. 224s 224s Removing libnettle8:ppc64el (3.9.1-2) ... 224s Selecting previously unselected package libnettle8t64:ppc64el. 224s (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 ... 70083 files and directories currently installed.) 224s Preparing to unpack .../libnettle8t64_3.9.1-2.2_ppc64el.deb ... 224s Unpacking libnettle8t64:ppc64el (3.9.1-2.2) ... 224s Selecting previously unselected package libhogweed6t64:ppc64el. 224s Preparing to unpack .../libhogweed6t64_3.9.1-2.2_ppc64el.deb ... 224s Unpacking libhogweed6t64:ppc64el (3.9.1-2.2) ... 224s dpkg: libgnutls30:ppc64el: dependency problems, but removing anyway as you requested: 224s librtmp1:ppc64el depends on libgnutls30 (>= 3.7.2). 224s libldap2:ppc64el depends on libgnutls30 (>= 3.8.2). 224s libjcat1:ppc64el depends on libgnutls30 (>= 3.7.3). 224s libcurl3-gnutls:ppc64el depends on libgnutls30 (>= 3.8.2). 224s fwupd depends on libgnutls30 (>= 3.7.3). 224s dirmngr depends on libgnutls30 (>= 3.8.1). 224s apt depends on libgnutls30 (>= 3.8.1). 224s 224s (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 ... 70097 files and directories currently installed.) 224s Removing libgnutls30:ppc64el (3.8.3-1ubuntu1) ... 224s Selecting previously unselected package libgnutls30t64:ppc64el. 224s (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 ... 70088 files and directories currently installed.) 224s Preparing to unpack .../libgnutls30t64_3.8.3-1.1ubuntu2_ppc64el.deb ... 224s Unpacking libgnutls30t64:ppc64el (3.8.3-1.1ubuntu2) ... 224s dpkg: libssl3:ppc64el: dependency problems, but removing anyway as you requested: 224s wget depends on libssl3 (>= 3.0.0). 224s tnftp depends on libssl3 (>= 3.0.0). 224s tcpdump depends on libssl3 (>= 3.0.0). 224s systemd-resolved depends on libssl3 (>= 3.0.0). 224s systemd depends on libssl3 (>= 3.0.0). 224s sudo depends on libssl3 (>= 3.0.0). 224s rsync depends on libssl3 (>= 3.0.0). 224s python3-cryptography depends on libssl3 (>= 3.0.0). 224s openssl depends on libssl3 (>= 3.0.9). 224s openssh-server depends on libssl3 (>= 3.0.10). 224s openssh-client depends on libssl3 (>= 3.0.10). 224s linux-headers-6.8.0-11-generic depends on libssl3 (>= 3.0.0). 224s libsystemd-shared:ppc64el depends on libssl3 (>= 3.0.0). 224s libssh-4:ppc64el depends on libssl3 (>= 3.0.0). 224s libsasl2-modules:ppc64el depends on libssl3 (>= 3.0.0). 224s libsasl2-2:ppc64el depends on libssl3 (>= 3.0.0). 224s libpython3.12-minimal:ppc64el depends on libssl3 (>= 3.0.0). 224s libpython3.11-minimal:ppc64el depends on libssl3 (>= 3.0.0). 224s libnvme1 depends on libssl3 (>= 3.0.0). 224s libkrb5-3:ppc64el depends on libssl3 (>= 3.0.0). 224s libkmod2:ppc64el depends on libssl3 (>= 3.0.0). 224s libfido2-1:ppc64el depends on libssl3 (>= 3.0.0). 224s libcurl4:ppc64el depends on libssl3 (>= 3.0.0). 224s libcryptsetup12:ppc64el depends on libssl3 (>= 3.0.0). 224s kmod depends on libssl3 (>= 3.0.0). 224s dhcpcd-base depends on libssl3 (>= 3.0.0). 224s bind9-libs:ppc64el depends on libssl3 (>= 3.0.0). 224s 224s (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 ... 70116 files and directories currently installed.) 224s Removing libssl3:ppc64el (3.0.10-1ubuntu4) ... 225s Selecting previously unselected package libssl3t64:ppc64el. 225s (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 ... 70105 files and directories currently installed.) 225s Preparing to unpack .../libssl3t64_3.0.13-0ubuntu2_ppc64el.deb ... 225s Unpacking libssl3t64:ppc64el (3.0.13-0ubuntu2) ... 225s dpkg: libcurl4:ppc64el: dependency problems, but removing anyway as you requested: 225s curl depends on libcurl4 (= 8.5.0-2ubuntu2). 225s 225s (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 ... 70118 files and directories currently installed.) 225s Removing libcurl4:ppc64el (8.5.0-2ubuntu2) ... 225s Selecting previously unselected package libcurl4t64:ppc64el. 225s (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 ... 70113 files and directories currently installed.) 225s Preparing to unpack .../libcurl4t64_8.5.0-2ubuntu7_ppc64el.deb ... 225s Unpacking libcurl4t64:ppc64el (8.5.0-2ubuntu7) ... 225s Preparing to unpack .../curl_8.5.0-2ubuntu7_ppc64el.deb ... 225s Unpacking curl (8.5.0-2ubuntu7) over (8.5.0-2ubuntu2) ... 225s dpkg: libpsl5:ppc64el: dependency problems, but removing anyway as you requested: 225s wget depends on libpsl5 (>= 0.16.0). 225s libcurl3-gnutls:ppc64el depends on libpsl5 (>= 0.16.0). 225s 225s (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 ... 70119 files and directories currently installed.) 225s Removing libpsl5:ppc64el (0.21.2-1build1) ... 225s Selecting previously unselected package libpsl5t64:ppc64el. 225s (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 ... 70114 files and directories currently installed.) 225s Preparing to unpack .../libpsl5t64_0.21.2-1.1_ppc64el.deb ... 225s Unpacking libpsl5t64:ppc64el (0.21.2-1.1) ... 225s dpkg: libcurl3-gnutls:ppc64el: dependency problems, but removing anyway as you requested: 225s libfwupd2:ppc64el depends on libcurl3-gnutls (>= 7.63.0). 225s fwupd depends on libcurl3-gnutls (>= 7.63.0). 225s 225s (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 ... 70120 files and directories currently installed.) 225s Removing libcurl3-gnutls:ppc64el (8.5.0-2ubuntu2) ... 225s Selecting previously unselected package libcurl3t64-gnutls:ppc64el. 225s (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 ... 70113 files and directories currently installed.) 225s Preparing to unpack .../00-libcurl3t64-gnutls_8.5.0-2ubuntu7_ppc64el.deb ... 225s Unpacking libcurl3t64-gnutls:ppc64el (8.5.0-2ubuntu7) ... 225s Selecting previously unselected package libisl23:ppc64el. 225s Preparing to unpack .../01-libisl23_0.26-3_ppc64el.deb ... 225s Unpacking libisl23:ppc64el (0.26-3) ... 225s Selecting previously unselected package libmpc3:ppc64el. 225s Preparing to unpack .../02-libmpc3_1.3.1-1_ppc64el.deb ... 225s Unpacking libmpc3:ppc64el (1.3.1-1) ... 225s Selecting previously unselected package cpp-13-powerpc64le-linux-gnu. 225s Preparing to unpack .../03-cpp-13-powerpc64le-linux-gnu_13.2.0-17ubuntu2_ppc64el.deb ... 225s Unpacking cpp-13-powerpc64le-linux-gnu (13.2.0-17ubuntu2) ... 225s Selecting previously unselected package cpp-13. 225s Preparing to unpack .../04-cpp-13_13.2.0-17ubuntu2_ppc64el.deb ... 225s Unpacking cpp-13 (13.2.0-17ubuntu2) ... 225s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 225s Preparing to unpack .../05-cpp-powerpc64le-linux-gnu_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 225s Unpacking cpp-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 225s Selecting previously unselected package cpp. 225s Preparing to unpack .../06-cpp_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 225s Unpacking cpp (4:13.2.0-7ubuntu1) ... 225s Selecting previously unselected package libcc1-0:ppc64el. 225s Preparing to unpack .../07-libcc1-0_14-20240303-1ubuntu1_ppc64el.deb ... 225s Unpacking libcc1-0:ppc64el (14-20240303-1ubuntu1) ... 225s Selecting previously unselected package libgomp1:ppc64el. 225s Preparing to unpack .../08-libgomp1_14-20240303-1ubuntu1_ppc64el.deb ... 225s Unpacking libgomp1:ppc64el (14-20240303-1ubuntu1) ... 225s Selecting previously unselected package libitm1:ppc64el. 225s Preparing to unpack .../09-libitm1_14-20240303-1ubuntu1_ppc64el.deb ... 225s Unpacking libitm1:ppc64el (14-20240303-1ubuntu1) ... 225s Selecting previously unselected package libatomic1:ppc64el. 225s Preparing to unpack .../10-libatomic1_14-20240303-1ubuntu1_ppc64el.deb ... 225s Unpacking libatomic1:ppc64el (14-20240303-1ubuntu1) ... 225s Selecting previously unselected package libasan8:ppc64el. 225s Preparing to unpack .../11-libasan8_14-20240303-1ubuntu1_ppc64el.deb ... 225s Unpacking libasan8:ppc64el (14-20240303-1ubuntu1) ... 226s Selecting previously unselected package liblsan0:ppc64el. 226s Preparing to unpack .../12-liblsan0_14-20240303-1ubuntu1_ppc64el.deb ... 226s Unpacking liblsan0:ppc64el (14-20240303-1ubuntu1) ... 226s Selecting previously unselected package libtsan2:ppc64el. 226s Preparing to unpack .../13-libtsan2_14-20240303-1ubuntu1_ppc64el.deb ... 226s Unpacking libtsan2:ppc64el (14-20240303-1ubuntu1) ... 226s Selecting previously unselected package libubsan1:ppc64el. 226s Preparing to unpack .../14-libubsan1_14-20240303-1ubuntu1_ppc64el.deb ... 226s Unpacking libubsan1:ppc64el (14-20240303-1ubuntu1) ... 226s Selecting previously unselected package libquadmath0:ppc64el. 226s Preparing to unpack .../15-libquadmath0_14-20240303-1ubuntu1_ppc64el.deb ... 226s Unpacking libquadmath0:ppc64el (14-20240303-1ubuntu1) ... 226s Selecting previously unselected package libgcc-13-dev:ppc64el. 226s Preparing to unpack .../16-libgcc-13-dev_13.2.0-17ubuntu2_ppc64el.deb ... 226s Unpacking libgcc-13-dev:ppc64el (13.2.0-17ubuntu2) ... 226s Selecting previously unselected package gcc-13-powerpc64le-linux-gnu. 226s Preparing to unpack .../17-gcc-13-powerpc64le-linux-gnu_13.2.0-17ubuntu2_ppc64el.deb ... 226s Unpacking gcc-13-powerpc64le-linux-gnu (13.2.0-17ubuntu2) ... 226s Selecting previously unselected package gcc-13. 226s Preparing to unpack .../18-gcc-13_13.2.0-17ubuntu2_ppc64el.deb ... 226s Unpacking gcc-13 (13.2.0-17ubuntu2) ... 226s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 226s Preparing to unpack .../19-gcc-powerpc64le-linux-gnu_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 226s Unpacking gcc-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 226s Selecting previously unselected package gcc. 226s Preparing to unpack .../20-gcc_4%3a13.2.0-7ubuntu1_ppc64el.deb ... 226s Unpacking gcc (4:13.2.0-7ubuntu1) ... 226s Selecting previously unselected package liberror-perl. 226s Preparing to unpack .../21-liberror-perl_0.17029-2_all.deb ... 226s Unpacking liberror-perl (0.17029-2) ... 226s Selecting previously unselected package git-man. 226s Preparing to unpack .../22-git-man_1%3a2.43.0-1ubuntu5_all.deb ... 226s Unpacking git-man (1:2.43.0-1ubuntu5) ... 226s Selecting previously unselected package git. 226s Preparing to unpack .../23-git_1%3a2.43.0-1ubuntu5_ppc64el.deb ... 226s Unpacking git (1:2.43.0-1ubuntu5) ... 227s Selecting previously unselected package libblas3:ppc64el. 227s Preparing to unpack .../24-libblas3_3.12.0-3_ppc64el.deb ... 227s Unpacking libblas3:ppc64el (3.12.0-3) ... 227s Selecting previously unselected package libc-dev-bin. 227s Preparing to unpack .../25-libc-dev-bin_2.39-0ubuntu2_ppc64el.deb ... 227s Unpacking libc-dev-bin (2.39-0ubuntu2) ... 227s Selecting previously unselected package linux-libc-dev:ppc64el. 227s Preparing to unpack .../26-linux-libc-dev_6.8.0-11.11_ppc64el.deb ... 227s Unpacking linux-libc-dev:ppc64el (6.8.0-11.11) ... 227s Selecting previously unselected package libcrypt-dev:ppc64el. 227s Preparing to unpack .../27-libcrypt-dev_1%3a4.4.36-4_ppc64el.deb ... 227s Unpacking libcrypt-dev:ppc64el (1:4.4.36-4) ... 227s Selecting previously unselected package libtirpc-dev:ppc64el. 227s Preparing to unpack .../28-libtirpc-dev_1.3.4+ds-1build1_ppc64el.deb ... 227s Unpacking libtirpc-dev:ppc64el (1.3.4+ds-1build1) ... 227s Selecting previously unselected package libnsl-dev:ppc64el. 227s Preparing to unpack .../29-libnsl-dev_1.3.0-3_ppc64el.deb ... 227s Unpacking libnsl-dev:ppc64el (1.3.0-3) ... 227s Selecting previously unselected package rpcsvc-proto. 227s Preparing to unpack .../30-rpcsvc-proto_1.4.2-0ubuntu6_ppc64el.deb ... 227s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ... 227s Selecting previously unselected package libc6-dev:ppc64el. 227s Preparing to unpack .../31-libc6-dev_2.39-0ubuntu2_ppc64el.deb ... 227s Unpacking libc6-dev:ppc64el (2.39-0ubuntu2) ... 227s Selecting previously unselected package libexpat1-dev:ppc64el. 227s Preparing to unpack .../32-libexpat1-dev_2.6.0-1_ppc64el.deb ... 227s Unpacking libexpat1-dev:ppc64el (2.6.0-1) ... 227s Selecting previously unselected package libgfortran5:ppc64el. 227s Preparing to unpack .../33-libgfortran5_14-20240303-1ubuntu1_ppc64el.deb ... 227s Unpacking libgfortran5:ppc64el (14-20240303-1ubuntu1) ... 227s Selecting previously unselected package libjs-jquery. 227s Preparing to unpack .../34-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 227s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 227s Selecting previously unselected package libjs-underscore. 227s Preparing to unpack .../35-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 227s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 227s Selecting previously unselected package libjs-sphinxdoc. 227s Preparing to unpack .../36-libjs-sphinxdoc_7.2.6-4_all.deb ... 227s Unpacking libjs-sphinxdoc (7.2.6-4) ... 227s Selecting previously unselected package liblapack3:ppc64el. 227s Preparing to unpack .../37-liblapack3_3.12.0-3_ppc64el.deb ... 227s Unpacking liblapack3:ppc64el (3.12.0-3) ... 227s Selecting previously unselected package libpython3.12:ppc64el. 227s Preparing to unpack .../38-libpython3.12_3.12.2-1_ppc64el.deb ... 227s Unpacking libpython3.12:ppc64el (3.12.2-1) ... 227s Selecting previously unselected package zlib1g-dev:ppc64el. 227s Preparing to unpack .../39-zlib1g-dev_1%3a1.3.dfsg-3ubuntu1_ppc64el.deb ... 227s Unpacking zlib1g-dev:ppc64el (1:1.3.dfsg-3ubuntu1) ... 227s Selecting previously unselected package libpython3.12-dev:ppc64el. 227s Preparing to unpack .../40-libpython3.12-dev_3.12.2-1_ppc64el.deb ... 227s Unpacking libpython3.12-dev:ppc64el (3.12.2-1) ... 228s Selecting previously unselected package libpython3-dev:ppc64el. 228s Preparing to unpack .../41-libpython3-dev_3.12.1-0ubuntu2_ppc64el.deb ... 228s Unpacking libpython3-dev:ppc64el (3.12.1-0ubuntu2) ... 228s Selecting previously unselected package libpython3-all-dev:ppc64el. 228s Preparing to unpack .../42-libpython3-all-dev_3.12.1-0ubuntu2_ppc64el.deb ... 228s Unpacking libpython3-all-dev:ppc64el (3.12.1-0ubuntu2) ... 228s Selecting previously unselected package python3-all. 228s Preparing to unpack .../43-python3-all_3.12.1-0ubuntu2_ppc64el.deb ... 228s Unpacking python3-all (3.12.1-0ubuntu2) ... 228s Selecting previously unselected package python3.12-dev. 228s Preparing to unpack .../44-python3.12-dev_3.12.2-1_ppc64el.deb ... 228s Unpacking python3.12-dev (3.12.2-1) ... 228s Selecting previously unselected package python3-dev. 228s Preparing to unpack .../45-python3-dev_3.12.1-0ubuntu2_ppc64el.deb ... 228s Unpacking python3-dev (3.12.1-0ubuntu2) ... 228s Selecting previously unselected package python3-all-dev. 228s Preparing to unpack .../46-python3-all-dev_3.12.1-0ubuntu2_ppc64el.deb ... 228s Unpacking python3-all-dev (3.12.1-0ubuntu2) ... 228s Selecting previously unselected package python3-more-itertools. 228s Preparing to unpack .../47-python3-more-itertools_10.2.0-1_all.deb ... 228s Unpacking python3-more-itertools (10.2.0-1) ... 228s Selecting previously unselected package python3-zipp. 228s Preparing to unpack .../48-python3-zipp_1.0.0-6_all.deb ... 228s Unpacking python3-zipp (1.0.0-6) ... 228s Selecting previously unselected package python3-importlib-metadata. 228s Preparing to unpack .../49-python3-importlib-metadata_4.12.0-1_all.deb ... 228s Unpacking python3-importlib-metadata (4.12.0-1) ... 228s Selecting previously unselected package python3-packaging. 228s Preparing to unpack .../50-python3-packaging_23.2-1_all.deb ... 228s Unpacking python3-packaging (23.2-1) ... 228s Selecting previously unselected package python3-pyproject-hooks. 228s Preparing to unpack .../51-python3-pyproject-hooks_1.0.0-2_all.deb ... 228s Unpacking python3-pyproject-hooks (1.0.0-2) ... 228s Selecting previously unselected package python3-toml. 228s Preparing to unpack .../52-python3-toml_0.10.2-1_all.deb ... 228s Unpacking python3-toml (0.10.2-1) ... 228s Selecting previously unselected package python3-wheel. 228s Preparing to unpack .../53-python3-wheel_0.42.0-1_all.deb ... 228s Unpacking python3-wheel (0.42.0-1) ... 228s Selecting previously unselected package python3-build. 228s Preparing to unpack .../54-python3-build_1.0.3-2_all.deb ... 228s Unpacking python3-build (1.0.3-2) ... 228s Selecting previously unselected package python3-msgpack. 228s Preparing to unpack .../55-python3-msgpack_1.0.3-3build1_ppc64el.deb ... 228s Unpacking python3-msgpack (1.0.3-3build1) ... 228s Selecting previously unselected package python3-cachecontrol. 228s Preparing to unpack .../56-python3-cachecontrol_0.14.0-1_all.deb ... 228s Unpacking python3-cachecontrol (0.14.0-1) ... 228s Selecting previously unselected package python3-cachy. 228s Preparing to unpack .../57-python3-cachy_0.3.0-4_all.deb ... 228s Unpacking python3-cachy (0.3.0-4) ... 228s Selecting previously unselected package python3-crashtest. 228s Preparing to unpack .../58-python3-crashtest_0.4.1-1_all.deb ... 228s Unpacking python3-crashtest (0.4.1-1) ... 228s Selecting previously unselected package python3-pylev. 228s Preparing to unpack .../59-python3-pylev_1.4.0-1_all.deb ... 228s Unpacking python3-pylev (1.4.0-1) ... 228s Selecting previously unselected package python3-cleo. 228s Preparing to unpack .../60-python3-cleo_2.1.0-2_all.deb ... 228s Unpacking python3-cleo (2.1.0-2) ... 228s Selecting previously unselected package python3-jsonpickle. 228s Preparing to unpack .../61-python3-jsonpickle_3.0.3+dfsg-1_all.deb ... 228s Unpacking python3-jsonpickle (3.0.3+dfsg-1) ... 228s Selecting previously unselected package python3-numpy. 228s Preparing to unpack .../62-python3-numpy_1%3a1.24.2-2_ppc64el.deb ... 228s Unpacking python3-numpy (1:1.24.2-2) ... 229s Selecting previously unselected package python3-ordered-set. 229s Preparing to unpack .../63-python3-ordered-set_4.1.0-1_all.deb ... 229s Unpacking python3-ordered-set (4.1.0-1) ... 229s Selecting previously unselected package python3-deepdiff. 229s Preparing to unpack .../64-python3-deepdiff_6.7.1-1_all.deb ... 229s Unpacking python3-deepdiff (6.7.1-1) ... 229s Selecting previously unselected package python3-distlib. 229s Preparing to unpack .../65-python3-distlib_0.3.8-1_all.deb ... 229s Unpacking python3-distlib (0.3.8-1) ... 229s Selecting previously unselected package python3-dulwich. 229s Preparing to unpack .../66-python3-dulwich_0.21.6-1build1_ppc64el.deb ... 229s Unpacking python3-dulwich (0.21.6-1build1) ... 229s Selecting previously unselected package python3-execnet. 229s Preparing to unpack .../67-python3-execnet_2.0.0-2_all.deb ... 229s Unpacking python3-execnet (2.0.0-2) ... 229s Selecting previously unselected package python3-fastjsonschema. 229s Preparing to unpack .../68-python3-fastjsonschema_2.19.0-1_all.deb ... 229s Unpacking python3-fastjsonschema (2.19.0-1) ... 229s Selecting previously unselected package python3-filelock. 229s Preparing to unpack .../69-python3-filelock_3.13.1-1_all.deb ... 229s Unpacking python3-filelock (3.13.1-1) ... 229s Selecting previously unselected package python3-httpretty. 229s Preparing to unpack .../70-python3-httpretty_1.1.4-4_all.deb ... 229s Unpacking python3-httpretty (1.1.4-4) ... 229s Selecting previously unselected package python3-iniconfig. 229s Preparing to unpack .../71-python3-iniconfig_1.1.1-2_all.deb ... 229s Unpacking python3-iniconfig (1.1.1-2) ... 229s Selecting previously unselected package python3-installer. 229s Preparing to unpack .../72-python3-installer_0.7.0+dfsg1-2_all.deb ... 229s Unpacking python3-installer (0.7.0+dfsg1-2) ... 229s Selecting previously unselected package python3-jaraco.classes. 229s Preparing to unpack .../73-python3-jaraco.classes_3.2.1-4_all.deb ... 229s Unpacking python3-jaraco.classes (3.2.1-4) ... 229s Selecting previously unselected package python3-jeepney. 229s Preparing to unpack .../74-python3-jeepney_0.8.0-3_all.deb ... 229s Unpacking python3-jeepney (0.8.0-3) ... 229s Selecting previously unselected package python3-secretstorage. 229s Preparing to unpack .../75-python3-secretstorage_3.3.3-3_all.deb ... 229s Unpacking python3-secretstorage (3.3.3-3) ... 229s Selecting previously unselected package python3-keyring. 229s Preparing to unpack .../76-python3-keyring_24.3.1-1_all.deb ... 229s Unpacking python3-keyring (24.3.1-1) ... 229s Selecting previously unselected package python3-lockfile. 229s Preparing to unpack .../77-python3-lockfile_1%3a0.12.2-3_all.deb ... 229s Unpacking python3-lockfile (1:0.12.2-3) ... 229s Selecting previously unselected package python3-ptyprocess. 229s Preparing to unpack .../78-python3-ptyprocess_0.7.0-5_all.deb ... 229s Unpacking python3-ptyprocess (0.7.0-5) ... 229s Selecting previously unselected package python3-pexpect. 229s Preparing to unpack .../79-python3-pexpect_4.9-2_all.deb ... 229s Unpacking python3-pexpect (4.9-2) ... 229s Selecting previously unselected package python3-pip-whl. 229s Preparing to unpack .../80-python3-pip-whl_24.0+dfsg-1_all.deb ... 229s Unpacking python3-pip-whl (24.0+dfsg-1) ... 229s Selecting previously unselected package python3-pkginfo. 229s Preparing to unpack .../81-python3-pkginfo_1.9.6-1_all.deb ... 229s Unpacking python3-pkginfo (1.9.6-1) ... 229s Selecting previously unselected package python3-platformdirs. 229s Preparing to unpack .../82-python3-platformdirs_4.2.0-1_all.deb ... 229s Unpacking python3-platformdirs (4.2.0-1) ... 229s Selecting previously unselected package python3-pluggy. 229s Preparing to unpack .../83-python3-pluggy_1.4.0-1_all.deb ... 229s Unpacking python3-pluggy (1.4.0-1) ... 229s Selecting previously unselected package python3-poetry-core. 229s Preparing to unpack .../84-python3-poetry-core_1.9.0-1_all.deb ... 229s Unpacking python3-poetry-core (1.9.0-1) ... 229s Selecting previously unselected package python3-requests-toolbelt. 229s Preparing to unpack .../85-python3-requests-toolbelt_1.0.0-2_all.deb ... 229s Unpacking python3-requests-toolbelt (1.0.0-2) ... 229s Selecting previously unselected package python3-shellingham. 229s Preparing to unpack .../86-python3-shellingham_1.5.4-1_all.deb ... 229s Unpacking python3-shellingham (1.5.4-1) ... 229s Selecting previously unselected package python3-tomlkit. 229s Preparing to unpack .../87-python3-tomlkit_0.12.4-1_all.deb ... 229s Unpacking python3-tomlkit (0.12.4-1) ... 229s Selecting previously unselected package python3-trove-classifiers. 229s Preparing to unpack .../88-python3-trove-classifiers_2024.1.31-1_all.deb ... 229s Unpacking python3-trove-classifiers (2024.1.31-1) ... 229s Selecting previously unselected package python3-setuptools-whl. 229s Preparing to unpack .../89-python3-setuptools-whl_68.1.2-2_all.deb ... 229s Unpacking python3-setuptools-whl (68.1.2-2) ... 229s Selecting previously unselected package python3-wheel-whl. 229s Preparing to unpack .../90-python3-wheel-whl_0.42.0-1_all.deb ... 229s Unpacking python3-wheel-whl (0.42.0-1) ... 229s Selecting previously unselected package python3-virtualenv. 229s Preparing to unpack .../91-python3-virtualenv_20.25.0+ds-1_all.deb ... 229s Unpacking python3-virtualenv (20.25.0+ds-1) ... 229s Selecting previously unselected package python3-poetry. 229s Preparing to unpack .../92-python3-poetry_1.7.1+dfsg-1_all.deb ... 229s Unpacking python3-poetry (1.7.1+dfsg-1) ... 229s Selecting previously unselected package python3-pytest. 229s Preparing to unpack .../93-python3-pytest_7.4.4-1_all.deb ... 229s Unpacking python3-pytest (7.4.4-1) ... 229s Selecting previously unselected package python3-pytest-mock. 229s Preparing to unpack .../94-python3-pytest-mock_3.12.0-1.1_all.deb ... 229s Unpacking python3-pytest-mock (3.12.0-1.1) ... 229s Selecting previously unselected package python3-pytest-xdist. 229s Preparing to unpack .../95-python3-pytest-xdist_3.4.0-1_all.deb ... 229s Unpacking python3-pytest-xdist (3.4.0-1) ... 229s Selecting previously unselected package python3.12-venv. 229s Preparing to unpack .../96-python3.12-venv_3.12.2-1_ppc64el.deb ... 229s Unpacking python3.12-venv (3.12.2-1) ... 229s Selecting previously unselected package python3-venv. 229s Preparing to unpack .../97-python3-venv_3.12.1-0ubuntu2_ppc64el.deb ... 229s Unpacking python3-venv (3.12.1-0ubuntu2) ... 229s Selecting previously unselected package python3.11-venv. 229s Preparing to unpack .../98-python3.11-venv_3.11.8-1_ppc64el.deb ... 229s Unpacking python3.11-venv (3.11.8-1) ... 229s Selecting previously unselected package autopkgtest-satdep. 229s Preparing to unpack .../99-1-autopkgtest-satdep.deb ... 229s Unpacking autopkgtest-satdep (0) ... 229s Setting up python3-more-itertools (10.2.0-1) ... 230s Setting up python3-iniconfig (1.1.1-2) ... 230s Setting up python3-lockfile (1:0.12.2-3) ... 230s Setting up python3-httpretty (1.1.4-4) ... 230s Setting up python3-setuptools-whl (68.1.2-2) ... 230s Setting up python3-filelock (3.13.1-1) ... 230s Setting up python3-jsonpickle (3.0.3+dfsg-1) ... 230s Setting up python3-jaraco.classes (3.2.1-4) ... 230s Setting up python3-requests-toolbelt (1.0.0-2) ... 230s Setting up python3-pkginfo (1.9.6-1) ... 231s Setting up python3-pip-whl (24.0+dfsg-1) ... 231s Setting up libssl3t64:ppc64el (3.0.13-0ubuntu2) ... 231s Setting up python3-pylev (1.4.0-1) ... 231s Setting up libpsl5t64:ppc64el (0.21.2-1.1) ... 231s Setting up linux-libc-dev:ppc64el (6.8.0-11.11) ... 231s Setting up python3-all (3.12.1-0ubuntu2) ... 231s Setting up python3-ordered-set (4.1.0-1) ... 231s Setting up python3-distlib (0.3.8-1) ... 231s Setting up python3-zipp (1.0.0-6) ... 231s Setting up libgomp1:ppc64el (14-20240303-1ubuntu1) ... 231s Setting up python3-wheel (0.42.0-1) ... 231s Setting up python3-platformdirs (4.2.0-1) ... 231s Setting up liberror-perl (0.17029-2) ... 231s Setting up libnettle8t64:ppc64el (3.9.1-2.2) ... 231s Setting up libblas3:ppc64el (3.12.0-3) ... 231s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/blas/libblas.so.3 to provide /usr/lib/powerpc64le-linux-gnu/libblas.so.3 (libblas.so.3-powerpc64le-linux-gnu) in auto mode 231s Setting up python3-packaging (23.2-1) ... 232s Setting up libtirpc-dev:ppc64el (1.3.4+ds-1build1) ... 232s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ... 232s Setting up python3-pyproject-hooks (1.0.0-2) ... 232s Setting up python3.11-venv (3.11.8-1) ... 232s Setting up python3-poetry-core (1.9.0-1) ... 232s Setting up libquadmath0:ppc64el (14-20240303-1ubuntu1) ... 232s Setting up python3-crashtest (0.4.1-1) ... 232s Setting up libmpc3:ppc64el (1.3.1-1) ... 232s Setting up libatomic1:ppc64el (14-20240303-1ubuntu1) ... 232s Setting up python3-toml (0.10.2-1) ... 232s Setting up python3-jeepney (0.8.0-3) ... 233s Setting up python3-installer (0.7.0+dfsg1-2) ... 233s Setting up libgfortran5:ppc64el (14-20240303-1ubuntu1) ... 233s Setting up python3-pluggy (1.4.0-1) ... 233s Setting up libubsan1:ppc64el (14-20240303-1ubuntu1) ... 233s Setting up python3-fastjsonschema (2.19.0-1) ... 233s Setting up libhogweed6t64:ppc64el (3.9.1-2.2) ... 233s Setting up libnsl-dev:ppc64el (1.3.0-3) ... 233s Setting up python3-trove-classifiers (2024.1.31-1) ... 233s Setting up python3-dulwich (0.21.6-1build1) ... 234s Setting up libcrypt-dev:ppc64el (1:4.4.36-4) ... 234s Setting up libasan8:ppc64el (14-20240303-1ubuntu1) ... 234s Setting up python3-cachy (0.3.0-4) ... 234s Setting up python3-cleo (2.1.0-2) ... 234s Setting up git-man (1:2.43.0-1ubuntu5) ... 234s Setting up python3-msgpack (1.0.3-3build1) ... 234s Setting up python3-cachecontrol (0.14.0-1) ... 234s Setting up libtsan2:ppc64el (14-20240303-1ubuntu1) ... 234s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 234s Setting up libisl23:ppc64el (0.26-3) ... 234s Setting up python3-build (1.0.3-2) ... 234s Setting up libc-dev-bin (2.39-0ubuntu2) ... 234s Setting up python3-execnet (2.0.0-2) ... 234s Setting up cpp-13-powerpc64le-linux-gnu (13.2.0-17ubuntu2) ... 234s Setting up python3-shellingham (1.5.4-1) ... 235s Setting up python3-tomlkit (0.12.4-1) ... 235s Setting up python3-wheel-whl (0.42.0-1) ... 235s Setting up libpython3.12:ppc64el (3.12.2-1) ... 235s Setting up libcc1-0:ppc64el (14-20240303-1ubuntu1) ... 235s Setting up liblsan0:ppc64el (14-20240303-1ubuntu1) ... 235s Setting up libitm1:ppc64el (14-20240303-1ubuntu1) ... 235s Setting up cpp-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 235s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 235s Setting up python3-ptyprocess (0.7.0-5) ... 235s Setting up libgnutls30t64:ppc64el (3.8.3-1.1ubuntu2) ... 235s Setting up liblapack3:ppc64el (3.12.0-3) ... 235s update-alternatives: using /usr/lib/powerpc64le-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/powerpc64le-linux-gnu/liblapack.so.3 (liblapack.so.3-powerpc64le-linux-gnu) in auto mode 235s Setting up python3-importlib-metadata (4.12.0-1) ... 235s Setting up cpp-13 (13.2.0-17ubuntu2) ... 235s Setting up libcurl4t64:ppc64el (8.5.0-2ubuntu7) ... 235s Setting up python3.12-venv (3.12.2-1) ... 235s Setting up python3-pytest (7.4.4-1) ... 235s Setting up libcurl3t64-gnutls:ppc64el (8.5.0-2ubuntu7) ... 235s Setting up python3-virtualenv (20.25.0+ds-1) ... 236s Setting up python3-venv (3.12.1-0ubuntu2) ... 236s Setting up python3-secretstorage (3.3.3-3) ... 236s Setting up python3-pexpect (4.9-2) ... 236s Setting up git (1:2.43.0-1ubuntu5) ... 236s Setting up python3-numpy (1:1.24.2-2) ... 238s Setting up libjs-sphinxdoc (7.2.6-4) ... 238s Setting up python3-pytest-mock (3.12.0-1.1) ... 238s Setting up libgcc-13-dev:ppc64el (13.2.0-17ubuntu2) ... 238s Setting up cpp (4:13.2.0-7ubuntu1) ... 238s Setting up python3-keyring (24.3.1-1) ... 238s Setting up libc6-dev:ppc64el (2.39-0ubuntu2) ... 238s Setting up curl (8.5.0-2ubuntu7) ... 238s Setting up python3-deepdiff (6.7.1-1) ... 239s Setting up python3-pytest-xdist (3.4.0-1) ... 239s Setting up libexpat1-dev:ppc64el (2.6.0-1) ... 239s Setting up python3-poetry (1.7.1+dfsg-1) ... 239s Setting up gcc-13-powerpc64le-linux-gnu (13.2.0-17ubuntu2) ... 239s Setting up gcc-13 (13.2.0-17ubuntu2) ... 239s Setting up zlib1g-dev:ppc64el (1:1.3.dfsg-3ubuntu1) ... 239s Setting up libpython3.12-dev:ppc64el (3.12.2-1) ... 239s Setting up gcc-powerpc64le-linux-gnu (4:13.2.0-7ubuntu1) ... 239s Setting up python3.12-dev (3.12.2-1) ... 239s Setting up libpython3-dev:ppc64el (3.12.1-0ubuntu2) ... 239s Setting up gcc (4:13.2.0-7ubuntu1) ... 239s Setting up libpython3-all-dev:ppc64el (3.12.1-0ubuntu2) ... 239s Setting up python3-dev (3.12.1-0ubuntu2) ... 239s Setting up python3-all-dev (3.12.1-0ubuntu2) ... 239s Setting up autopkgtest-satdep (0) ... 239s Processing triggers for man-db (2.12.0-3) ... 240s Processing triggers for libc-bin (2.39-0ubuntu2) ... 244s (Reading database ... 76429 files and directories currently installed.) 244s Removing autopkgtest-satdep (0) ... 244s autopkgtest [09:39:43]: test pytest: [----------------------- 244s + cp -r tests /tmp/autopkgtest.u6fsN7/autopkgtest_tmp 245s + cp pyproject.toml /tmp/autopkgtest.u6fsN7/autopkgtest_tmp 245s + cd /tmp/autopkgtest.u6fsN7/autopkgtest_tmp 245s + py3versions -s 245s + 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 249s ============================= test session starts ============================== 249s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 249s cachedir: .pytest_cache 249s rootdir: /tmp/autopkgtest.u6fsN7/autopkgtest_tmp 249s configfile: pyproject.toml 249s testpaths: tests 249s plugins: mock-3.12.0, xdist-3.4.0 249s created: 1/1 worker 249s 1 worker [1195 items] 249s 249s scheduling tests via LoadScheduling 249s 250s tests/test_factory.py::test_create_poetry 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry 250s tests/test_factory.py::test_create_pyproject_from_package[simple_project] 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[simple_project] 250s tests/test_factory.py::test_create_pyproject_from_package[project_with_extras] 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[project_with_extras] 250s tests/test_factory.py::test_create_poetry_with_packages_and_includes 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_packages_and_includes 250s tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency 250s tests/test_factory.py::test_poetry_with_default_source_legacy 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_legacy 250s tests/test_factory.py::test_poetry_with_default_source 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source 250s tests/test_factory.py::test_poetry_with_default_source_and_pypi 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_and_pypi 250s tests/test_factory.py::test_poetry_with_default_source_pypi 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_pypi 250s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit] 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit] 250s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit] 250s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit] 250s tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy 250s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy 250s tests/test_factory.py::test_poetry_with_non_default_secondary_source 250s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source 250s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy 250s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy 251s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources 251s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy 251s tests/test_factory.py::test_poetry_with_non_default_multiple_sources 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources 251s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi 251s tests/test_factory.py::test_poetry_with_no_default_source 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_no_default_source 251s tests/test_factory.py::test_poetry_with_supplemental_source 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_supplemental_source 251s tests/test_factory.py::test_poetry_with_explicit_source 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_source 251s tests/test_factory.py::test_poetry_with_explicit_pypi_and_other 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_pypi_and_other 251s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other] 251s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other] 251s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit] 251s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit] 251s tests/test_factory.py::test_poetry_with_two_default_sources_legacy 251s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources_legacy 251s tests/test_factory.py::test_poetry_with_two_default_sources 251s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources 251s tests/test_factory.py::test_validate 251s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate 251s tests/test_factory.py::test_validate_fails 251s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate_fails 252s tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 252s [gw0] [ 2%] FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 252s tests/test_factory.py::test_create_poetry_with_local_config 252s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_local_config 252s tests/test_factory.py::test_create_poetry_with_plugins 252s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_plugins 252s tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.] 252s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.] 252s tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.] 252s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.] 252s tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.] 252s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.] 252s tests/test_helpers.py::test_flatten_dict 252s [gw0] [ 2%] PASSED tests/test_helpers.py::test_flatten_dict 252s tests/console/test_application.py::test_application_execute_plugin_command 252s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command 252s tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled 252s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled 252s tests/console/test_application.py::test_application_verify_source_cache_flag[True] 252s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[True] 252s tests/console/test_application.py::test_application_verify_source_cache_flag[False] 252s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[False] 266s tests/console/test_application.py::test_application_verify_cache_flag_at_install[True] 266s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[True] 280s tests/console/test_application.py::test_application_verify_cache_flag_at_install[False] 280s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[False] 280s tests/console/commands/test_about.py::test_about 280s [gw0] [ 3%] PASSED tests/console/commands/test_about.py::test_about 280s tests/console/commands/test_add.py::test_add_no_constraint 280s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint 280s tests/console/commands/test_add.py::test_add_replace_by_constraint 280s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_replace_by_constraint 280s tests/console/commands/test_add.py::test_add_no_constraint_editable_error 280s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint_editable_error 280s tests/console/commands/test_add.py::test_add_equal_constraint 280s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_equal_constraint 281s tests/console/commands/test_add.py::test_add_greater_constraint 281s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_greater_constraint 281s tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack] 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack] 281s tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack] 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack] 281s tests/console/commands/test_add.py::test_add_constraint_dependencies 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_dependencies 281s tests/console/commands/test_add.py::test_add_git_constraint 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint 281s tests/console/commands/test_add.py::test_add_git_constraint_with_poetry 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_poetry 281s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo] 281s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo] 282s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO] 282s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO] 282s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git#subdirectory=two-None] 282s [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] 282s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git@master#subdirectory=two-master] 282s [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] 282s tests/console/commands/test_add.py::test_add_git_ssh_constraint[False] 282s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[False] 282s tests/console/commands/test_add.py::test_add_git_ssh_constraint[True] 282s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[True] 282s tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0] 282s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0] 283s tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0] 283s tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0] 283s tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0] 283s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack] 283s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack] 283s tests/console/commands/test_add.py::test_add_url_constraint_wheel 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel 283s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo] 283s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo] 284s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO] 284s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO] 284s tests/console/commands/test_add.py::test_add_constraint_with_optional 284s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_optional 284s tests/console/commands/test_add.py::test_add_constraint_with_python 284s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_python 284s tests/console/commands/test_add.py::test_add_constraint_with_platform 284s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_platform 284s tests/console/commands/test_add.py::test_add_constraint_with_source 284s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source 284s tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist 284s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist 284s tests/console/commands/test_add.py::test_add_constraint_not_found_with_source 284s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_not_found_with_source 284s tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet 284s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet 284s tests/console/commands/test_add.py::test_add_to_dev_section_deprecated 284s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_dev_section_deprecated 285s tests/console/commands/test_add.py::test_add_should_not_select_prereleases 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_not_select_prereleases 285s tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint 285s tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint 285s tests/console/commands/test_add.py::test_add_should_fail_circular_dependency 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_fail_circular_dependency 285s tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys 285s tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint 285s tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available 285s tests/console/commands/test_add.py::test_add_prefers_stable_releases 285s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_prefers_stable_releases 285s tests/console/commands/test_add.py::test_add_with_lock 285s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_lock 285s tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet 285s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet 286s tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content 286s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run] 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run] 286s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run] 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run] 286s tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail 286s tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness 286s tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included 286s tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks] 286s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks] 288s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo] 288s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo] 288s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock] 288s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock] 288s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo] 288s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo] 288s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock] 288s [gw0] [ 8%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock] 288s tests/console/commands/test_build.py::test_build_with_multiple_readme_files 288s [gw0] [ 8%] PASSED tests/console/commands/test_build.py::test_build_with_multiple_readme_files 288s tests/console/commands/test_check.py::test_check_private 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_private 288s tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0] 288s tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1] 288s tests/console/commands/test_check.py::test_check_lock_outdated[] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[] 288s tests/console/commands/test_check.py::test_check_lock_outdated[--lock] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[--lock] 288s tests/console/commands/test_check.py::test_check_lock_up_to_date[] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[] 288s tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock] 288s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock] 289s tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty 289s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty 289s tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set 289s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set 289s tests/console/commands/test_config.py::test_list_displays_set_get_setting 289s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_setting 289s tests/console/commands/test_config.py::test_cannot_set_with_multiple_values 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_with_multiple_values 289s tests/console/commands/test_config.py::test_cannot_set_invalid_value 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_invalid_value 289s tests/console/commands/test_config.py::test_cannot_unset_with_value 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_unset_with_value 289s tests/console/commands/test_config.py::test_unset_setting 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_setting 289s tests/console/commands/test_config.py::test_unset_repo_setting 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_repo_setting 289s tests/console/commands/test_config.py::test_unset_value_not_exists 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_value_not_exists 289s tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n] 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n] 289s tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n] 289s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n] 290s tests/console/commands/test_config.py::test_display_single_local_setting 290s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_local_setting 290s tests/console/commands/test_config.py::test_display_empty_repositories_setting 290s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_empty_repositories_setting 290s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section] 290s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section] 290s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined] 290s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined] 290s tests/console/commands/test_config.py::test_set_malformed_repositories_setting 290s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_malformed_repositories_setting 290s tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined] 290s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined] 290s tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.] 290s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.] 290s tests/console/commands/test_config.py::test_list_displays_set_get_local_setting 290s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_local_setting 290s tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml 291s tests/console/commands/test_config.py::test_set_http_basic 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic 291s tests/console/commands/test_config.py::test_unset_http_basic 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_http_basic 291s tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values 291s tests/console/commands/test_config.py::test_set_pypi_token 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token 291s tests/console/commands/test_config.py::test_unset_pypi_token 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_pypi_token 291s tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values 291s tests/console/commands/test_config.py::test_set_pypi_token_no_values 291s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_no_values 291s tests/console/commands/test_config.py::test_set_client_cert 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert 291s tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values 291s tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem] 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem] 291s tests/console/commands/test_config.py::test_set_cert[true-True] 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[true-True] 291s tests/console/commands/test_config.py::test_set_cert[false-False] 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[false-False] 291s tests/console/commands/test_config.py::test_unset_cert 291s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_unset_cert 292s tests/console/commands/test_config.py::test_config_installer_parallel 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_parallel 292s tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0] 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1] 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2] 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3] 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4] 292s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5] 292s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6] 292s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6] 292s tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7] 292s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7] 292s tests/console/commands/test_init.py::test_basic_interactive 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_basic_interactive 292s tests/console/commands/test_init.py::test_noninteractive 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_noninteractive 292s tests/console/commands/test_init.py::test_interactive_with_dependencies 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies 292s tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection 292s tests/console/commands/test_init.py::test_empty_license 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_empty_license 292s tests/console/commands/test_init.py::test_interactive_with_git_dependencies 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies 292s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask] 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask] 292s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask] 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask] 292s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK] 292s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK] 292s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask] 292s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask] 292s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask] 292s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask] 293s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK] 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK] 293s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference 293s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name 293s tests/console/commands/test_init.py::test_interactive_with_directory_dependency 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency 293s tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name 293s tests/console/commands/test_init.py::test_interactive_with_file_dependency 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_file_dependency 293s tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs 293s tests/console/commands/test_init.py::test_python_option 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_python_option 293s tests/console/commands/test_init.py::test_predefined_dependency 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_dependency 293s tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies 293s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies 293s tests/console/commands/test_init.py::test_predefined_dev_dependency 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_dev_dependency 293s tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies 293s tests/console/commands/test_init.py::test_predefined_all_options 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_all_options 293s tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace 293s tests/console/commands/test_init.py::test_init_existing_pyproject_simple 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_simple 293s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n] 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n] 293s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n] 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n] 293s tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency 293s tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails 293s tests/console/commands/test_init.py::test_validate_package_valid[None] 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[None] 293s tests/console/commands/test_init.py::test_validate_package_valid[] 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[] 293s tests/console/commands/test_init.py::test_validate_package_valid[foo] 293s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo] 293s tests/console/commands/test_init.py::test_validate_package_valid[ foo ] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo ] 293s tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0] 293s tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0] 293s tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ] 293s tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0] 293s tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ] 293s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0] 293s tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ] 293s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0] 293s tests/console/commands/test_init.py::test_package_include[mypackage-None] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[mypackage-None] 293s tests/console/commands/test_init.py::test_package_include[my-package-my_package] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my-package-my_package] 293s tests/console/commands/test_init.py::test_package_include[my.package-my] 293s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my.package-my] 293s tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package] 293s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package] 293s tests/console/commands/test_init.py::test_package_include[my.awesome.package-my] 293s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my.awesome.package-my] 293s tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12] 293s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12] 293s tests/console/commands/test_init.py::test_get_pool 293s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_get_pool 293s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0] 293s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0] 293s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1] 293s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7] 294s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8] 294s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8] 294s 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] 294s [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] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10] 294s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11] 294s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11] 294s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12] 294s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4] 295s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5] 295s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6] 295s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7] 295s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7] 295s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8] 295s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8] 295s 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] 295s [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] 296s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10] 296s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11] 296s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12] 296s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13] 296s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14] 296s tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer 296s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False] 296s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False] 296s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True] 296s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True] 296s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True] 296s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True] 296s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False] 296s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False] 296s tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer 296s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer 296s tests/console/commands/test_install.py::test_all_extras_populates_installer 296s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_all_extras_populates_installer 297s tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer 297s tests/console/commands/test_install.py::test_extras_conflicts_all_extras 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_conflicts_all_extras 297s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo] 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo] 297s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo] 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo] 297s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz] 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz] 297s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo] 297s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True] 297s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True] 297s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True] 298s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True] 298s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True] 298s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False] 298s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False] 298s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False] 298s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False] 298s tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning 298s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning 298s tests/console/commands/test_install.py::test_dry_run_populates_installer 298s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_dry_run_populates_installer 298s tests/console/commands/test_install.py::test_dry_run_does_not_build 298s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_dry_run_does_not_build 298s tests/console/commands/test_install.py::test_install_logs_output 298s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output 298s tests/console/commands/test_install.py::test_install_logs_output_decorated 298s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output_decorated 298s tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True] 298s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True] 298s tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True] 298s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True] 299s tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True] 299s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-] 299s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev] 299s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-] 299s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev] 299s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[] 299s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory] 299s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory] 300s tests/console/commands/test_lock.py::test_lock_check_outdated_legacy 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_outdated_legacy 300s tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy 300s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True] 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True] 300s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False] 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False] 300s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True] 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True] 300s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False] 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False] 300s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True] 300s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True] 301s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False] 301s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False] 301s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True] 301s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True] 301s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False] 301s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False] 301s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False] 301s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False] 301s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True] 301s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True] 301s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False] 301s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False] 302s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True] 302s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True] 302s tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None] 302s tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src] 302s tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None] 302s tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src] 302s tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None] 302s tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src] 302s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src] 303s tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None] 303s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None] 303s tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src] 303s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src] 303s tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None] 303s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None] 303s tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src] 303s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src] 303s tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None] 303s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None] 303s tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src] 303s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src] 303s tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None] 303s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None] 304s tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src] 304s tests/console/commands/test_new.py::test_command_new_with_readme[None] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[None] 304s tests/console/commands/test_new.py::test_command_new_with_readme[md] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[md] 304s tests/console/commands/test_new.py::test_command_new_with_readme[rst] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[rst] 304s tests/console/commands/test_new.py::test_command_new_with_readme[adoc] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[adoc] 304s tests/console/commands/test_new.py::test_command_new_with_readme[creole] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[creole] 304s tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12] 304s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12] 305s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 305s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 305s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 305s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 305s tests/console/commands/test_publish.py::test_publish_with_cert 305s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_cert 305s tests/console/commands/test_publish.py::test_publish_with_client_cert 305s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_client_cert 305s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups 305s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups 305s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups 305s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups 305s tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups 305s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups 305s tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly 305s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly 305s tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors 305s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors 306s tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact 306s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact 306s tests/console/commands/test_remove.py::test_remove_performs_uninstall_op 306s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_performs_uninstall_op 306s tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op 306s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op 306s tests/console/commands/test_run.py::test_run_passes_all_args 306s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_passes_all_args 306s tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command 306s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command 306s tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found 306s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found 306s tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows 306s [gw0] [ 26%] SKIPPED tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows 306s tests/console/commands/test_run.py::test_run_script_exit_code 306s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_exit_code 307s tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed] 307s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed] 307s tests/console/commands/test_run.py::test_run_script_sys_argv0[installed] 307s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[installed] 307s tests/console/commands/test_search.py::test_search 307s [gw0] [ 26%] FAILED tests/console/commands/test_search.py::test_search 307s tests/console/commands/test_show.py::test_show_basic_with_installed_packages 307s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages 307s 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] 307s [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] 307s 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] 307s [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] 307s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n] 307s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n] 307s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n] 307s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n] 308s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n] 308s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n] 308s tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n] 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n] 308s 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] 308s [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] 308s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without main,test-pendulum 2.0.0 Pendulum package\n] 308s [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] 308s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n] 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n] 308s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time --with test-pendulum 2.0.0 Pendulum package\n] 308s [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] 308s 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] 308s [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] 308s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single 308s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized 308s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated 308s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated 308s tests/console/commands/test_show.py::test_show_latest_non_decorated 308s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_non_decorated 309s tests/console/commands/test_show.py::test_show_latest_decorated 309s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_decorated 309s tests/console/commands/test_show.py::test_show_outdated 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated 309s tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages 309s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed 309s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed 309s tests/console/commands/test_show.py::test_show_outdated_formatting 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_formatting 309s tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0] 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0] 309s tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency] 309s tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency] 309s tests/console/commands/test_show.py::test_show_hides_incompatible_package 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package 309s tests/console/commands/test_show.py::test_show_all_shows_incompatible_package 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_incompatible_package 309s tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate 309s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate 310s tests/console/commands/test_show.py::test_show_all_shows_all_duplicates 310s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_all_duplicates 310s tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages 310s tests/console/commands/test_show.py::test_show_with_group_only 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_group_only 310s tests/console/commands/test_show.py::test_show_with_optional_group 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_optional_group 310s tests/console/commands/test_show.py::test_show_tree 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree 310s tests/console/commands/test_show.py::test_show_tree_no_dev 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_no_dev 310s tests/console/commands/test_show.py::test_show_tree_why_package 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why_package 310s tests/console/commands/test_show.py::test_show_tree_why 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why 310s tests/console/commands/test_show.py::test_show_required_by_deps 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_required_by_deps 310s tests/console/commands/test_show.py::test_show_errors_without_lock_file 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_errors_without_lock_file 310s tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev 310s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev 311s tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package 311s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package 311s tests/console/commands/test_show.py::test_show_top_level 311s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_top_level 311s tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy 311s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy 311s tests/console/commands/test_show.py::test_show_top_level_with_extras 311s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_extras 311s tests/console/commands/test_show.py::test_show_error_top_level_with_tree 311s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_tree 311s tests/console/commands/test_show.py::test_show_error_top_level_with_single_package 311s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_single_package 311s tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0] 311s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0] 311s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run] 311s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run] 311s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run] 311s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run] 312s tests/console/commands/test_update.py::test_update_prints_operations[-True] 312s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[-True] 312s tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True] 312s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True] 312s tests/console/commands/test_update.py::test_update_prints_operations[--lock-False] 312s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--lock-False] 312s tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1] 312s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1] 312s tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0] 312s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0] 312s tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0] 312s tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0] 312s tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1] 312s tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0] 312s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2] 312s tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0] 312s tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3] 312s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0] 312s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0] 312s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0] 312s tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0] 312s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0] 312s tests/console/commands/test_version.py::test_version_show 312s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_show 312s tests/console/commands/test_version.py::test_short_version_show 312s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_show 313s tests/console/commands/test_version.py::test_version_update 313s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_update 313s tests/console/commands/test_version.py::test_short_version_update 313s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_update 313s tests/console/commands/test_version.py::test_phase_version_update 313s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_phase_version_update 313s tests/console/commands/test_version.py::test_dry_run 313s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_dry_run 313s tests/console/commands/cache/test_clear.py::test_cache_clear_all 313s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all 313s tests/console/commands/cache/test_clear.py::test_cache_clear_all_no 313s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all_no 313s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy] 313s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy] 313s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy] 313s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy] 313s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no 313s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no 313s tests/console/commands/cache/test_list.py::test_cache_list 313s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list 313s tests/console/commands/cache/test_list.py::test_cache_list_empty 313s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list_empty 313s tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results 313s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results 313s tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree 313s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree 313s tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency 313s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency 313s tests/console/commands/env/test_info.py::test_env_info_displays_path_only 313s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_path_only 313s tests/console/commands/env/test_info.py::test_env_info_displays_executable_only 313s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_executable_only 314s tests/console/commands/self/test_add_plugins.py::test_add_no_constraint 314s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_no_constraint 314s tests/console/commands/self/test_add_plugins.py::test_add_with_constraint 314s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_constraint 314s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint 314s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint 315s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras 315s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras 315s 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] 315s [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] 316s 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] 316s [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] 316s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation 316s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation 316s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested 316s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested 317s tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed 317s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package 317s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run 317s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0] 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0] 317s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2] 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2] 317s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns 317s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns 318s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin] 318s [gw0] [ 35%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin] 318s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name] 318s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name] 318s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0] 318s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0] 318s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_dependencies[entry_point_values_by_group0-plugin_package_requires_dist0] 318s [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] 322s tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation 322s [gw0] [ 36%] PASSED tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation 322s tests/console/commands/source/test_add.py::test_source_add_simple 322s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_simple 322s tests/console/commands/source/test_add.py::test_source_add_default_legacy 322s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default_legacy 322s tests/console/commands/source/test_add.py::test_source_add_secondary_legacy 322s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary_legacy 322s tests/console/commands/source/test_add.py::test_source_add_default 322s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default 323s tests/console/commands/source/test_add.py::test_source_add_second_default_fails 323s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_second_default_fails 323s tests/console/commands/source/test_add.py::test_source_add_secondary 323s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary 323s tests/console/commands/source/test_add.py::test_source_add_supplemental 323s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_supplemental 323s tests/console/commands/source/test_add.py::test_source_add_explicit 323s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_explicit 323s tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy 323s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy 323s tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy 323s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy 323s tests/console/commands/source/test_add.py::test_source_add_error_no_url 323s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_no_url 324s tests/console/commands/source/test_add.py::test_source_add_error_pypi 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_pypi 324s tests/console/commands/source/test_add.py::test_source_add_pypi[pypi] 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[pypi] 324s tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI] 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI] 324s tests/console/commands/source/test_add.py::test_source_add_pypi_explicit 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi_explicit 324s tests/console/commands/source/test_add.py::test_source_add_existing_legacy 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_legacy 324s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower] 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower] 324s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper] 324s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper] 325s tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower] 325s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower] 325s tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper] 325s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper] 325s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower] 325s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower] 325s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper] 325s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper] 325s tests/console/commands/source/test_remove.py::test_source_remove_simple[lower] 325s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[lower] 325s tests/console/commands/source/test_remove.py::test_source_remove_simple[upper] 325s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[upper] 326s tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi] 326s tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI] 326s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi] 326s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI] 326s tests/console/commands/source/test_remove.py::test_source_remove_error[foo] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[foo] 326s tests/console/commands/source/test_remove.py::test_source_remove_error[pypi] 326s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[pypi] 327s tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI] 327s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI] 327s tests/console/commands/source/test_show.py::test_source_show_simple 327s [gw0] [ 38%] PASSED tests/console/commands/source/test_show.py::test_source_show_simple 327s tests/console/commands/source/test_show.py::test_source_show_one[lower] 327s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[lower] 327s tests/console/commands/source/test_show.py::test_source_show_one[upper] 327s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[upper] 327s tests/console/commands/source/test_show.py::test_source_show_two[lower] 327s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[lower] 327s tests/console/commands/source/test_show.py::test_source_show_two[upper] 327s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[upper] 327s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary] 327s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary] 328s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default] 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default] 328s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary] 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary] 328s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental] 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental] 328s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit] 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit] 328s tests/console/commands/source/test_show.py::test_source_show_pypi 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi 328s tests/console/commands/source/test_show.py::test_source_show_pypi_and_other 328s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi_and_other 329s tests/console/commands/source/test_show.py::test_source_show_no_sources 329s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_no_sources 329s tests/console/commands/source/test_show.py::test_source_show_error 329s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_error 329s tests/inspection/test_info.py::test_info_from_wheel 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_wheel 329s tests/inspection/test_info.py::test_info_from_bdist 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_bdist 329s tests/inspection/test_info.py::test_info_from_poetry_directory 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory 329s tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error 329s tests/inspection/test_info.py::test_info_from_requires_txt 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_requires_txt 329s tests/inspection/test_info.py::test_info_from_setup_py 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_py 329s tests/inspection/test_info.py::test_info_from_setup_cfg 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_cfg 329s tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps 329s tests/inspection/test_info.py::test_info_setup_simple 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_simple 329s tests/inspection/test_info.py::test_info_setup_cfg 329s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_cfg 340s tests/inspection/test_info.py::test_info_setup_complex 340s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex 342s tests/inspection/test_info.py::test_info_setup_complex_pep517_error 342s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_error 350s tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy 350s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy 350s tests/inspection/test_info.py::test_info_setup_complex_disable_build 350s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_disable_build 350s tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info 350s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info 351s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 351s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 351s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 351s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 351s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 351s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 351s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 351s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 352s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 352s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 352s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 352s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 352s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 352s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 352s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 352s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 352s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 353s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 353s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 353s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 353s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 353s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 353s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 353s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 353s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 353s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 353s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 353s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 353s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 353s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 353s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 354s tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 354s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 354s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 354s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 354s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 354s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 354s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 354s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 354s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 354s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 354s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False] 354s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False] 354s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 354s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 354s tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels 354s [gw0] [ 43%] SKIPPED tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels 354s tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose 354s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose 355s tests/installation/test_executor.py::test_execute_should_show_errors 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_errors 355s tests/installation/test_executor.py::test_execute_works_with_ansi_output 355s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output 355s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 355s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 355s tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt 355s tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error 355s tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads 355s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0] 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0] 355s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1] 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1] 355s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files 355s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories 355s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories 355s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 355s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 356s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True] 356s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True] 356s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git 356s tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7] 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3] 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7] 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5] 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2] 356s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5] 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5] 356s tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer 356s tests/installation/test_executor.py::test_other_error 356s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_other_error 356s tests/installation/test_installer.py::test_run_no_dependencies 356s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_no_dependencies 356s tests/installation/test_installer.py::test_run_with_dependencies 356s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_with_dependencies 356s tests/installation/test_installer.py::test_run_update_after_removing_dependencies 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_update_after_removing_dependencies 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False] 356s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True] 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True] 356s tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required 356s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required 356s tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required 356s tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed 356s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0] 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0] 356s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1] 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1] 356s tests/installation/test_installer.py::test_run_whitelist_add 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_add 356s tests/installation/test_installer.py::test_run_whitelist_remove 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_remove 356s tests/installation/test_installer.py::test_add_with_sub_dependencies 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_add_with_sub_dependencies 356s tests/installation/test_installer.py::test_run_with_python_versions 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_python_versions 356s tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies 356s tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies 356s tests/installation/test_installer.py::test_run_with_dependencies_extras 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_extras 356s tests/installation/test_installer.py::test_run_with_dependencies_nested_extras 356s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_nested_extras 357s tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested 357s tests/installation/test_installer.py::test_run_installs_extras_if_requested 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_if_requested 357s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested 357s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked 357s tests/installation/test_installer.py::test_run_installs_with_local_file 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_file 357s tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist 357s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras 357s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras 358s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True] 358s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True] 359s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False] 359s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False] 359s tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive 359s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive 359s tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory 359s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory 359s tests/installation/test_installer.py::test_run_with_prereleases 359s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_with_prereleases 359s tests/installation/test_installer.py::test_run_update_all_with_lock 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_all_with_lock 359s tests/installation/test_installer.py::test_run_update_with_locked_extras 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_with_locked_extras 359s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints 359s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock 359s tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency 359s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update 359s tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 359s [gw0] [ 49%] SKIPPED tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 359s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency 359s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository 359s tests/installation/test_installer.py::test_installer_required_extras_should_be_installed 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_be_installed 359s tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent 359s tests/installation/test_installer.py::test_run_installs_with_url_file 359s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_installs_with_url_file 360s tests/installation/test_installer.py::test_installer_can_handle_old_lock_files 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_can_handle_old_lock_files 360s tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails 360s tests/installation/test_installer.py::test_run_with_dependencies_quiet[True] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[True] 360s tests/installation/test_installer.py::test_run_with_dependencies_quiet[False] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[False] 360s tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies 360s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin] 360s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux] 360s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64] 360s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64] 360s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin] 360s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux] 360s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux] 360s tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content 360s [gw0] [ 50%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content 360s tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content 360s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content 360s tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version 360s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version 360s tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode 360s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode 360s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True] 360s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True] 360s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False] 360s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False] 360s tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy 360s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy 360s tests/json/test_schema_sources.py::test_pyproject_toml_valid 360s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid 360s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority 360s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority 360s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new 360s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new 360s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages 360s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages 360s tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts 360s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts 361s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured 361s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured 361s tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files 361s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files 361s tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts 361s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts 361s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors 361s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors 361s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors 361s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors 361s tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution 361s [gw0] [ 52%] PASSED tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution 361s tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version 361s tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph 361s tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier 361s tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first 361s tests/mixology/version_solver/test_backtracking.py::test_simple_transitive 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_simple_transitive 361s tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package 361s tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint 361s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint 361s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1 361s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2 361s tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies 361s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints 361s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies 361s tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error] 361s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error] 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2] 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local] 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local] 361s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2] 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2] 361s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type 361s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache 361s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories 361s tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint 361s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint 362s tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint 362s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint 362s tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints 362s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints 362s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints 362s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints 362s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints 362s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints 362s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies 362s tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution 362s tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message 362s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies 362s tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies 362s tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies 362s tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied 362s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest 362s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras 362s tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock 362s tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository 362s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository 362s tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file 362s [gw0] [ 55%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file 362s tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency 362s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency 362s tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached 362s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached 362s tests/packages/test_locker.py::test_lock_file_data_is_ordered 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_data_is_ordered 362s tests/packages/test_locker.py::test_locker_properly_loads_extras 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras 362s tests/packages/test_locker.py::test_locker_properly_loads_nested_extras 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_nested_extras 362s tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy 362s tests/packages/test_locker.py::test_locker_properly_loads_subdir 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_subdir 362s tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files 362s tests/packages/test_locker.py::test_lock_packages_with_null_description 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_packages_with_null_description 362s tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types 362s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data 362s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata 362s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata 362s tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section 362s tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed 362s tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed 362s tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered 362s tests/packages/test_locker.py::test_extras_dependencies_are_ordered 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_extras_dependencies_are_ordered 362s tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions 362s tests/packages/test_locker.py::test_locker_dumps_subdir 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_subdir 362s tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order 362s tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package 362s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True] 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True] 362s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True] 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True] 362s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True] 362s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True] 362s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True] 362s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True] 362s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False] 362s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False] 362s tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks 362s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks 362s tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed 362s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed 362s tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate 362s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate 362s tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin 362s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin 362s tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled 362s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled 363s tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default 363s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default 363s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project] 363s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project] 363s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source] 363s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source] 363s tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository 363s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository 363s tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists 363s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists 363s tests/publishing/test_publisher.py::test_publish_uses_cert 363s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_cert 363s tests/publishing/test_publisher.py::test_publish_uses_client_cert 363s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_client_cert 363s tests/publishing/test_publisher.py::test_publish_read_from_environment_variable 363s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_read_from_environment_variable 363s tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 363s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 363s tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 363s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 364s tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 364s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 364s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 364s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 364s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 364s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 364s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 364s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 364s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 364s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 365s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 365s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 365s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 365s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 365s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 365s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 365s tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 365s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 365s tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 365s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 366s tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 366s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 366s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 366s tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 366s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 366s tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 366s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 367s tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing 367s [gw0] [ 60%] PASSED tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing 367s tests/puzzle/test_provider.py::test_search_for[dependency0-expected0] 367s [gw0] [ 60%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency0-expected0] 367s tests/puzzle/test_provider.py::test_search_for[dependency1-expected1] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency1-expected1] 367s tests/puzzle/test_provider.py::test_search_for[dependency2-expected2] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency2-expected2] 367s tests/puzzle/test_provider.py::test_search_for[dependency3-expected3] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency3-expected3] 367s tests/puzzle/test_provider.py::test_search_for[dependency4-expected4] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency4-expected4] 367s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0] 367s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1] 367s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2] 367s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3] 367s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4] 367s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True] 367s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False] 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False] 367s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info 367s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info 367s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras 367s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup 367s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras 367s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo] 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo] 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name] 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name] 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo] 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo] 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name] 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name] 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras 367s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies 367s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies 367s tests/puzzle/test_provider.py::test_search_for_directory_poetry 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry 367s tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras 367s tests/puzzle/test_provider.py::test_search_for_file_wheel 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel 367s tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras 367s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source 367s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names 367s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source 367s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source 368s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types 368s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types 368s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name 368s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name 368s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories 368s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories 368s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None] 368s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None] 368s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo] 368s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo] 368s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False] 368s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False] 368s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True] 368s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True] 368s tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin 368s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin 368s tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin 368s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin 368s tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin 368s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin 368s tests/puzzle/test_solver.py::test_solver_install_single 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_install_single 368s tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked 368s tests/puzzle/test_solver.py::test_remove_non_installed 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_remove_non_installed 368s tests/puzzle/test_solver.py::test_install_non_existing_package_fail 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_non_existing_package_fail 368s tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail 368s tests/puzzle/test_solver.py::test_solver_with_deps 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_with_deps 368s tests/puzzle/test_solver.py::test_install_honours_not_equal 368s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_honours_not_equal 368s tests/puzzle/test_solver.py::test_install_with_deps_in_order 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_with_deps_in_order 368s tests/puzzle/test_solver.py::test_install_installed 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_installed 368s tests/puzzle/test_solver.py::test_update_installed 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_installed 368s tests/puzzle/test_solver.py::test_update_with_use_latest 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest 368s tests/puzzle/test_solver.py::test_solver_sets_groups 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_sets_groups 368s tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions 368s tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions 368s tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions 368s tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages 368s tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested 368s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one] 368s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two] 368s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None] 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None] 368s tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras 368s tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727 368s tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras 368s tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested 368s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested 368s tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested 368s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements 368s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex 368s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version 368s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive 368s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies 368s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent 368s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies 368s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints 368s tests/puzzle/test_solver.py::test_solver_circular_dependency 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency 368s tests/puzzle/test_solver.py::test_solver_circular_dependency_chain 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency_chain 368s tests/puzzle/test_solver.py::test_solver_dense_dependencies 368s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_dense_dependencies 368s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint 368s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False] 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False] 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True] 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True] 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection 369s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple 369s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex 369s tests/puzzle/test_solver.py::test_duplicate_path_dependencies 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies 369s tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path 369s tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package 369s tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency 369s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies 369s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras 369s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch] 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch] 369s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag] 369s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag] 369s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev] 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev] 369s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible 369s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple 369s tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python 369s tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python 369s tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras 369s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies 369s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package 369s tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested 369s tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker 369s tests/puzzle/test_solver.py::test_solver_git_dependencies_update 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update 369s tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped 369s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped 369s tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped 370s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies 370s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable 370s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras 370s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies 370s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras 370s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists 370s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists 370s tests/puzzle/test_solver.py::test_solver_skips_invalid_versions 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_skips_invalid_versions 370s tests/puzzle/test_solver.py::test_multiple_constraints_on_root 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_multiple_constraints_on_root 370s tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories 370s tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository 370s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository 370s tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit 370s tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers 370s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies 370s tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras 370s tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies 370s tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies 370s tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies 370s tests/puzzle/test_solver.py::test_solver_synchronize_single 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_synchronize_single 370s tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package 370s [gw0] [ 72%] SKIPPED tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies 370s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True] 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True] 370s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False] 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False] 370s tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type 370s tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available 370s tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies 370s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints 370s tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras 370s tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras 370s tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies 370s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies 371s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints 371s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints 371s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False] 371s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False] 371s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True] 371s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False] 371s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True] 371s tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref 371s tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package 371s tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras 371s tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution 371s tests/puzzle/test_solver.py::test_solver_yanked_warning 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_yanked_warning 371s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False] 371s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True] 371s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False] 371s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True] 371s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True] 371s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras 371s [gw0] [ 75%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras 371s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order 371s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order 371s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages 371s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages 371s tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required 371s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required 371s tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result 371s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result 371s tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different 371s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different 371s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload 371s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload 371s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save 371s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save 371s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid 371s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid 371s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr 371s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr 371s tests/repositories/test_installed_repository.py::test_load_successful 371s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful 371s tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution 371s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution 371s tests/repositories/test_installed_repository.py::test_load_ensure_isolation 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_ensure_isolation 371s tests/repositories/test_installed_repository.py::test_load_standard_package 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package 371s tests/repositories/test_installed_repository.py::test_load_git_package 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package 371s tests/repositories/test_installed_repository.py::test_load_git_package_pth 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package_pth 371s tests/repositories/test_installed_repository.py::test_load_platlib_package 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_platlib_package 371s tests/repositories/test_installed_repository.py::test_load_editable_package 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_package 371s tests/repositories/test_installed_repository.py::test_load_editable_with_import_package 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_with_import_package 371s tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file 371s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages 371s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version 371s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory 371s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages 371s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages 372s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages 372s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages 372s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages 372s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages 372s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages 372s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages 372s tests/repositories/test_installed_repository.py::test_system_site_packages_source_type 372s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_system_site_packages_source_type 372s tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct 372s tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct 372s tests/repositories/test_legacy_repository.py::test_page_clean_link 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_clean_link 372s tests/repositories/test_legacy_repository.py::test_page_invalid_version_link 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_invalid_version_link 372s tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names 372s tests/repositories/test_legacy_repository.py::test_sdist_format_support 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_sdist_format_support 372s tests/repositories/test_legacy_repository.py::test_missing_version 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_missing_version 372s tests/repositories/test_legacy_repository.py::test_package_not_canonicalized 372s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_package_not_canonicalized 372s tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases 372s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1] 372s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1] 372s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0] 372s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 372s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0] 372s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 372s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 372s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 372s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4] 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4] 372s tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution 372s tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires 372s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires 372s tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only 372s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 372s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint 372s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 372s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 372s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 372s tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-] 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-] 372s tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 372s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 372s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 372s [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.] 372s tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash 372s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash 373s tests/repositories/test_legacy_repository.py::test_get_200_returns_page 373s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page 373s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 373s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 373s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 373s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 373s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 373s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 373s tests/repositories/test_legacy_repository.py::test_get_5xx_raises 373s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises 373s tests/repositories/test_legacy_repository.py::test_get_redirected_response_url 373s [gw0] [ 80%] PASSED tests/repositories/test_legacy_repository.py::test_get_redirected_response_url 374s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 374s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 374s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 374s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 374s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 374s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 374s tests/repositories/test_lockfile_repository.py::test_has_package 374s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_has_package 374s tests/repositories/test_lockfile_repository.py::test_remove_package 374s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_remove_package 374s tests/repositories/test_pypi_repository.py::test_find_packages 374s [gw0] [ 80%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages 374s tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases 374s tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed 374s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1] 374s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1] 374s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0] 374s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1] 374s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0] 374s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 374s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 374s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 374s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4] 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4] 374s tests/repositories/test_pypi_repository.py::test_package 374s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_package 374s tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-] 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-] 374s tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 374s tests/repositories/test_pypi_repository.py::test_package_not_canonicalized 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_not_canonicalized 374s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-] 374s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.] 374s [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.] 374s tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages 374s tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found 374s tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files 374s tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored 374s tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error 374s tests/repositories/test_pypi_repository.py::test_urls 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_urls 374s tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types 374s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types 374s tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types 374s [gw0] [ 83%] PASSED tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types 374s tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0] 374s tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1] 374s tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2] 374s tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3] 374s tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4] 374s tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-] 374s tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason] 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason] 374s tests/repositories/test_repository.py::test_package_pretty_name_is_kept 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_pretty_name_is_kept 374s tests/repositories/test_repository.py::test_search 374s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_search 375s tests/repositories/test_repository_pool.py::test_pool 375s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool 375s tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories 375s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories 375s tests/repositories/test_repository_pool.py::test_repository_no_repository 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_no_repository 375s tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names 375s tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1] 375s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1] 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1] 375s tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories 375s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories 375s tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show 375s tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show 375s tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror 375s tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful 375s tests/repositories/test_repository_pool.py::test_remove_default_repository 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_default_repository 375s tests/repositories/test_repository_pool.py::test_repository_ordering 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_ordering 375s tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository 375s tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed 375s tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository 375s tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found 375s tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found 375s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository 375s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository 375s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository 375s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository 375s tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories 375s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories 375s tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped 375s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped 375s tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page 375s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page 375s tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages 375s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages 375s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0] 375s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1] 375s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2] 375s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid-py2.py3-none-any.whl-None] 375s [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] 375s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None] 375s tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None] 375s tests/repositories/link_sources/test_base.py::test_versions[demo-expected0] 375s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_versions[demo-expected0] 375s tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1] 375s tests/repositories/link_sources/test_base.py::test_packages 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_packages 375s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0] 375s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1] 375s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4] 375s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False] 375s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason] 375s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2] 375s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2] 375s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-None-https://example.org/demo-0.1.whl] 375s [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] 375s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-https://example.org/-https://example.org/demo-0.1.whl] 375s [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] 376s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors 376s [gw0] [ 88%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors 376s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url 376s [gw0] [ 89%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url 376s tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser 376s [gw0] [ 89%] PASSED tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser 376s tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 376s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 376s tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 376s tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 376s tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 376s tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 376s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 376s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 377s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 377s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 377s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 377s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 377s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 377s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 377s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 377s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 377s tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 377s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 377s tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 377s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 377s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 377s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 378s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 378s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 379s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 379s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 379s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None] 379s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None] 379s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert] 379s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert] 379s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None] 379s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None] 379s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-path/to/provided/client-cert] 379s [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] 379s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 379s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 379s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 379s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 379s tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 379s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 380s tests/utils/test_authenticator.py::test_authenticator_add_repository 380s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository 380s tests/utils/test_authenticator.py::test_authenticator_git_repositories 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_authenticator_git_repositories 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5] 380s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6] 380s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6] 380s tests/utils/test_cache.py::test_cache_validates 380s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_validates 380s tests/utils/test_cache.py::test_cache_get_put_has 380s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_get_put_has 380s tests/utils/test_cache.py::test_cache_forget 380s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_forget 380s tests/utils/test_cache.py::test_cache_flush 380s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_flush 380s tests/utils/test_cache.py::test_cache_remember 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_remember 380s tests/utils/test_cache.py::test_cache_get_limited_minutes 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_get_limited_minutes 380s tests/utils/test_cache.py::test_missing_cache_file 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_file 380s tests/utils/test_cache.py::test_missing_cache_path 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_path 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[] 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00] 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999] 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"] 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"] 380s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led] 380s tests/utils/test_cache.py::test_get_cache_directory_for_link 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_link 380s tests/utils/test_cache.py::test_get_cache_directory_for_git[None] 380s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[None] 380s tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir] 380s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir] 380s tests/utils/test_cache.py::test_get_cached_archives 380s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archives 380s 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] 380s [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] 380s 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] 380s [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] 380s 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] 380s [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] 380s 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] 380s [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] 380s 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] 380s [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] 380s 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] 380s [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] 380s tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition 380s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition 380s tests/utils/test_cache.py::test_get_cached_archive_for_git 380s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_git 380s tests/utils/test_env_site.py::test_env_site_simple 380s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_simple 380s tests/utils/test_env_site.py::test_env_site_select_first 380s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_select_first 380s tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5] 380s tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6] 380s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6] 380s tests/utils/test_password_manager.py::test_set_http_password 380s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_http_password 380s tests/utils/test_password_manager.py::test_get_http_auth 380s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_http_auth 380s tests/utils/test_password_manager.py::test_delete_http_password 380s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_delete_http_password 380s tests/utils/test_password_manager.py::test_set_pypi_token 380s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token 381s tests/utils/test_password_manager.py::test_get_pypi_token 381s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token 381s tests/utils/test_password_manager.py::test_delete_pypi_token 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token 381s tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend 381s tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors 381s tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring 381s tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring 381s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable 381s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable 381s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable 381s tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable 381s tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable 381s tests/utils/test_password_manager.py::test_locked_keyring_should_be_available 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_locked_keyring_should_be_available 381s tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available 381s tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables 381s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables 381s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables 381s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive 381s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available 381s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available 381s tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0] 381s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0] 381s tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1] 381s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1] 383s tests/utils/test_pip.py::test_pip_install_successful 383s [gw0] [ 97%] PASSED tests/utils/test_pip.py::test_pip_install_successful 383s tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt 383s [gw0] [ 98%] PASSED tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt 383s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py 383s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types 383s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables 383s tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types 383s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg 383s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg 383s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr 383s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs 383s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main 383s tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables 383s tests/utils/test_setup_reader.py::test_setup_reader_setuptools 383s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_setuptools 383s tests/utils/test_source.py::test_source_to_table[source0-table_body0] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source0-table_body0] 383s tests/utils/test_source.py::test_source_to_table[source1-table_body1] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source1-table_body1] 383s tests/utils/test_source.py::test_source_default_is_primary 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_default_is_primary 383s tests/utils/test_source.py::test_source_legacy_handling[False-True-3] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[False-True-3] 383s tests/utils/test_source.py::test_source_legacy_handling[True-False-1] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-False-1] 383s tests/utils/test_source.py::test_source_legacy_handling[True-True-1] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-True-1] 383s tests/utils/test_source.py::test_source_priority_as_string[secondary-3] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[secondary-3] 383s tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3] 383s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3] 383s tests/vcs/git/test_system.py::TestSystemGit::test_clone_success 383s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_success 383s tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter 383s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter 383s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1 383s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1 383s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2 384s [gw0] [100%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2 384s 384s =================================== FAILURES =================================== 384s ______________ test_create_poetry_fails_on_invalid_configuration _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s fixture_dir = ._fixture_dir at 0x711baa813920> 384s 384s def test_create_poetry_fails_on_invalid_configuration( 384s fixture_dir: FixtureDirGetter, 384s ) -> None: 384s with pytest.raises(RuntimeError) as e: 384s Factory().create_poetry(fixture_dir("invalid_pyproject") / "pyproject.toml") 384s 384s jsonschema_error = "'description' is a required property" 384s fastjsonschema_error = "data must contain ['description'] properties" 384s 384s expected_template = """\ 384s The Poetry configuration is invalid: 384s - {schema_error} 384s - Project name (invalid) is same as one of its dependencies 384s """ 384s expected = { 384s expected_template.format(schema_error=schema_error) 384s for schema_error in (jsonschema_error, fastjsonschema_error) 384s } 384s 384s > assert str(e.value) in expected 384s 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"} 384s 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")) 384s 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 384s 384s tests/test_factory.py:540: AssertionError 384s _____________ test_publish_returns_non_zero_code_for_upload_errors _____________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s app = 384s app_tester = 384s http = 384s 384s def test_publish_returns_non_zero_code_for_upload_errors( 384s app: PoetryTestApplication, 384s app_tester: ApplicationTester, 384s http: type[httpretty.httpretty], 384s ) -> None: 384s http.register_uri( 384s http.POST, "https://upload.pypi.org/legacy/", status=400, body="Bad Request" 384s ) 384s 384s exit_code = app_tester.execute("publish --username foo --password bar") 384s 384s assert exit_code == 1 384s 384s expected_output = """ 384s Publishing simple-project (1.2.3) to PyPI 384s """ 384s expected_error_output = """\ 384s HTTP Error 400: Bad Request | b'Bad Request' 384s """ 384s 384s assert expected_output in app_tester.io.fetch_output() 384s > assert expected_error_output in app_tester.io.fetch_error() 384s 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' 384s 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' = >() 384s E + where > = .fetch_error 384s E + where = .io 384s 384s tests/console/commands/test_publish.py:43: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_publish_returns_non_zero_code_for_connection_errors ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s app = 384s app_tester = 384s http = 384s 384s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 384s def test_publish_returns_non_zero_code_for_connection_errors( 384s app: PoetryTestApplication, 384s app_tester: ApplicationTester, 384s http: type[httpretty.httpretty], 384s ) -> None: 384s def request_callback(*_: Any, **__: Any) -> None: 384s raise requests.ConnectionError() 384s 384s http.register_uri( 384s http.POST, "https://upload.pypi.org/legacy/", body=request_callback 384s ) 384s 384s exit_code = app_tester.execute("publish --username foo --password bar") 384s 384s assert exit_code == 1 384s 384s expected = str(UploadError(error=requests.ConnectionError())) 384s 384s > assert expected in app_tester.io.fetch_error() 384s 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' 384s 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' = >() 384s E + where > = .fetch_error 384s E + where = .io 384s 384s tests/console/commands/test_publish.py:65: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _________________________________ test_search __________________________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s tester = 384s http = 384s 384s def test_search(tester: CommandTester, http: type[httpretty.httpretty]) -> None: 384s > tester.execute("sqlalchemy") 384s 384s tests/console/commands/test_search.py:34: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/cleo/testers/command_tester.py:88: in execute 384s self._status_code = self._command.run(self._io) 384s /usr/lib/python3/dist-packages/cleo/commands/base_command.py:117: in run 384s return self.execute(io) or 0 384s /usr/lib/python3/dist-packages/cleo/commands/command.py:61: in execute 384s return self.handle() 384s /usr/lib/python3/dist-packages/poetry/console/commands/search.py:17: in handle 384s results = PyPiRepository().search(self.argument("tokens")) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:57: in search 384s response = requests.get( 384s /usr/lib/python3/dist-packages/requests/api.py:73: in get 384s return request("get", url, params=params, **kwargs) 384s /usr/lib/python3/dist-packages/requests/api.py:59: in request 384s return session.request(method=method, url=url, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_chooser_chooses_universal_wheel_link_if_available[] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_universal_wheel_link_if_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:148: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________ test_chooser_chooses_universal_wheel_link_if_available[legacy] ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_universal_wheel_link_if_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:148: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________ test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s policy = ':all:', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] ____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________ test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] __________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s policy = ':all:', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] _ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] _ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____ test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] ____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz' 384s config = 384s 384s @pytest.mark.parametrize( 384s ("policy", "filename"), 384s [ 384s (":all:", "pytest-3.5.0.tar.gz"), 384s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("black", "pytest-3.5.0-py2.py3-none-any.whl"), 384s ("pytest", "pytest-3.5.0.tar.gz"), 384s ("pytest,black", "pytest-3.5.0.tar.gz"), 384s ], 384s ) 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_no_binary_policy( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s policy: str, 384s filename: str, 384s config: Config, 384s ) -> None: 384s config.merge({"installer": {"no-binary": policy.split(",")}}) 384s 384s chooser = Chooser(pool, env, config) 384s 384s package = Package("pytest", "3.5.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:188: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_chooser_chooses_specific_python_universal_wheel_link_if_available[] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_specific_python_universal_wheel_link_if_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:213: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] _ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_specific_python_universal_wheel_link_if_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:213: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________ test_chooser_chooses_system_specific_wheel_link_if_available[] ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_system_specific_wheel_link_if_available( 384s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool 384s ) -> None: 384s env = MockEnv( 384s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] 384s ) 384s chooser = Chooser(pool, env) 384s 384s package = Package("pyyaml", "3.13.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:237: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_chooser_chooses_system_specific_wheel_link_if_available[legacy] _____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_pypi = None, mock_legacy = None, source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_system_specific_wheel_link_if_available( 384s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool 384s ) -> None: 384s env = MockEnv( 384s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")] 384s ) 384s chooser = Chooser(pool, env) 384s 384s package = Package("pyyaml", "3.13.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:237: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] _____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("pyyaml", "3.13.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:262: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] __ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("pyyaml", "3.13.0") 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:262: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______ test_chooser_chooses_distributions_that_match_the_package_hashes[] ______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_distributions_that_match_the_package_hashes( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s files = [ 384s { 384s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8", 384s "filename": "isort-4.3.4.tar.gz", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:295: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_distributions_that_match_the_package_hashes( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s files = [ 384s { 384s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8", 384s "filename": "isort-4.3.4.tar.gz", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:295: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________ test_chooser_chooses_yanked_if_no_others[] __________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_yanked_if_no_others( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("black", "21.11b0") 384s files = [ 384s { 384s "filename": "black-21.11b0-py3-none-any.whl", 384s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:328: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_chooser_chooses_yanked_if_no_others[legacy] _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_chooses_yanked_if_no_others( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: str, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("black", "21.11b0") 384s files = [ 384s { 384s "filename": "black-21.11b0-py3-none-any.whl", 384s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:328: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________________ test_chooser_does_not_choose_yanked_if_others _________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_legacy = None, mock_legacy_partial_yank = None 384s pool = 384s 384s def test_chooser_does_not_choose_yanked_if_others( 384s mock_legacy: None, 384s mock_legacy_partial_yank: None, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, MockEnv(supported_tags=[Tag("py2", "none", "any")])) 384s 384s package = Package("futures", "3.2.0") 384s files = [ 384s { 384s "filename": "futures-3.2.0-py2-none-any.whl", 384s "hash": "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1", 384s }, 384s { 384s "filename": "futures-3.2.0.tar.gz", 384s "hash": "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265", 384s }, 384s ] 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s package_partial_yank = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo2", 384s source_url="https://foo2.bar/simple/", 384s ) 384s 384s package.files = files 384s package_partial_yank.files = files 384s 384s > link = chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:370: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________ test_chooser_throws_an_error_if_package_hashes_do_not_match[] _________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = '' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_throws_an_error_if_package_hashes_do_not_match( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: None, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s files = [ 384s { 384s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", 384s "filename": "isort-4.3.4.tar.gz", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s with pytest.raises(RuntimeError) as e: 384s > chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:406: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package 384s json_data = self._get(f"pypi/{package.name}/{package.version}/json") 384s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get 384s json_response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] ______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None 384s source_type = 'legacy' 384s pool = 384s 384s @pytest.mark.parametrize("source_type", ["", "legacy"]) 384s def test_chooser_throws_an_error_if_package_hashes_do_not_match( 384s env: MockEnv, 384s mock_pypi: None, 384s mock_legacy: None, 384s source_type: None, 384s pool: RepositoryPool, 384s ) -> None: 384s chooser = Chooser(pool, env) 384s 384s package = Package("isort", "4.3.4") 384s files = [ 384s { 384s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000", 384s "filename": "isort-4.3.4.tar.gz", 384s } 384s ] 384s if source_type == "legacy": 384s package = Package( 384s package.name, 384s package.version.text, 384s source_type="legacy", 384s source_reference="foo", 384s source_url="https://foo.bar/simple/", 384s ) 384s 384s package.files = files 384s 384s with pytest.raises(RuntimeError) as e: 384s > chooser.choose_for(package) 384s 384s tests/installation/test_chooser.py:406: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for 384s for link in self._get_links(package): 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links 384s links = repository.find_links_for_package(package) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package 384s page = self.get_page(package.name) 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _________________ test_execute_executes_a_batch_of_operations __________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s pool = 384s io = 384s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0') 384s mock_file_downloads = None 384s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0/.venv") 384s copy_wheel = ._copy_wheel at 0x711ba6408d60> 384s fixture_dir = ._fixture_dir at 0x711baa813920> 384s 384s def test_execute_executes_a_batch_of_operations( 384s mocker: MockerFixture, 384s config: Config, 384s pool: RepositoryPool, 384s io: BufferedIO, 384s tmp_path: Path, 384s mock_file_downloads: None, 384s env: MockEnv, 384s copy_wheel: Callable[[], Path], 384s fixture_dir: FixtureDirGetter, 384s ) -> None: 384s wheel_install = mocker.patch.object(WheelInstaller, "install") 384s 384s config.merge({"cache-dir": str(tmp_path)}) 384s artifact_cache = ArtifactCache(cache_dir=config.artifacts_cache_directory) 384s 384s prepare_spy = mocker.spy(Chef, "_prepare") 384s chef = Chef(artifact_cache, env, Factory.create_pool(config)) 384s chef.set_directory_wheel([copy_wheel(), copy_wheel()]) 384s chef.set_sdist_wheel(copy_wheel()) 384s 384s io.set_verbosity(Verbosity.VERY_VERBOSE) 384s 384s executor = Executor(env, pool, config, io) 384s executor._chef = chef 384s 384s file_package = Package( 384s "demo", 384s "0.1.0", 384s source_type="file", 384s source_url=(fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl") 384s .resolve() 384s .as_posix(), 384s ) 384s 384s directory_package = Package( 384s "simple-project", 384s "1.2.3", 384s source_type="directory", 384s source_url=fixture_dir("simple_project").resolve().as_posix(), 384s ) 384s 384s git_package = Package( 384s "demo", 384s "0.1.0", 384s source_type="git", 384s source_reference="master", 384s source_url="https://github.com/demo/demo.git", 384s develop=True, 384s ) 384s 384s return_code = executor.execute( 384s [ 384s Install(Package("pytest", "3.5.1")), 384s Uninstall(Package("attrs", "17.4.0")), 384s Update(Package("requests", "2.18.3"), Package("requests", "2.18.4")), 384s Update(Package("pytest", "3.5.1"), Package("pytest", "3.5.0")), 384s Uninstall(Package("clikit", "0.2.3")).skip("Not currently installed"), 384s Install(file_package), 384s Install(directory_package), 384s Install(git_package), 384s ] 384s ) 384s 384s expected = f""" 384s Package operations: 4 installs, 2 updates, 1 removal 384s 384s • Installing pytest (3.5.1) 384s • Removing attrs (17.4.0) 384s • Updating requests (2.18.3 -> 2.18.4) 384s • Downgrading pytest (3.5.1 -> 3.5.0) 384s • Installing demo (0.1.0 {file_package.source_url}) 384s • Installing simple-project (1.2.3 {directory_package.source_url}) 384s • Installing demo (0.1.0 master) 384s """ 384s 384s expected_lines = set(expected.splitlines()) 384s output_lines = set(io.fetch_output().splitlines()) 384s > assert output_lines == expected_lines 384s E AssertionError: assert {'', ' ', ' ...icator)', ...} == {'', ' • Dow...roject)', ...} 384s E Extra items in the left set: 384s E ' 14 /usr/lib/python3/dist-packages/poetry/utils/cache.py:269 in get_cached_archive_for_link' 384s E ' 10 /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242 in request' 384s E ' 648│ try:' 384s E ' return self._download_link(operation, link)' 384s E ' 4 /usr/lib/python3/dist-packages/urllib3/connection.py:611 in connect' 384s E ' 2 /usr/lib/python3/dist-packages/urllib3/util/connection.py:73 in create_connection'... 384s E 384s E ...Full output truncated (147 lines hidden), use '-vv' to show 384s 384s tests/installation/test_executor.py:270: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_execute_prints_warning_for_yanked_package[operations0-True] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = 384s pool = 384s io = 384s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0') 384s mock_file_downloads = None 384s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0/.venv") 384s operations = [, ] 384s has_warning = True 384s 384s @pytest.mark.parametrize( 384s "operations, has_warning", 384s [ 384s ( 384s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], 384s True, 384s ), 384s ( 384s [ 384s Uninstall(Package("black", "21.11b0")), 384s Uninstall(Package("pytest", "3.5.1")), 384s ], 384s False, 384s ), 384s ( 384s [ 384s Update(Package("black", "19.10b0"), Package("black", "21.11b0")), 384s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), 384s ], 384s True, 384s ), 384s ], 384s ) 384s def test_execute_prints_warning_for_yanked_package( 384s config: Config, 384s pool: RepositoryPool, 384s io: BufferedIO, 384s tmp_path: Path, 384s mock_file_downloads: None, 384s env: MockEnv, 384s operations: list[Operation], 384s has_warning: bool, 384s ) -> None: 384s config.merge({"cache-dir": str(tmp_path)}) 384s 384s executor = Executor(env, pool, config, io) 384s 384s return_code = executor.execute(operations) 384s 384s expected = ( 384s "Warning: The file chosen for install of black 21.11b0 " 384s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " 384s "Broken regex dependency. Use 21.11b1 instead." 384s ) 384s output = io.fetch_output() 384s error = io.fetch_error() 384s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" 384s E AssertionError: 384s E output: 384s E Package operations: 2 installs, 0 updates, 0 removals 384s E 384s E • Installing black (21.11b0) 384s E • Installing pytest (3.5.1) 384s E 384s E UnmockedError 384s E 384s E Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s E 384s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 384s E 641│ 384s E 642│ if httpretty.allow_net_connect and not self.truesock: 384s E 643│ self.truesock = self.create_socket(address) 384s E 644│ elif not self.truesock: 384s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E 646│ 384s E 647│ undo_patch_socket() 384s E 648│ try: 384s E 649│ hostname = self._address[0] 384s E 384s E Cannot install black. 384s E 384s E 384s E UnmockedError 384s E 384s E Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s E 384s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 384s E 641│ 384s E 642│ if httpretty.allow_net_connect and not self.truesock: 384s E 643│ self.truesock = self.create_socket(address) 384s E 644│ elif not self.truesock: 384s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E 646│ 384s E 647│ undo_patch_socket() 384s E 648│ try: 384s E 649│ hostname = self._address[0] 384s E 384s E Cannot install pytest. 384s E 384s E 384s 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. 384s E 384s E 384s E assert 1 == 0 384s 384s tests/installation/test_executor.py:329: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_execute_prints_warning_for_yanked_package[operations2-True] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = 384s pool = 384s io = 384s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2') 384s mock_file_downloads = None 384s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2/.venv") 384s operations = [, ] 384s has_warning = True 384s 384s @pytest.mark.parametrize( 384s "operations, has_warning", 384s [ 384s ( 384s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))], 384s True, 384s ), 384s ( 384s [ 384s Uninstall(Package("black", "21.11b0")), 384s Uninstall(Package("pytest", "3.5.1")), 384s ], 384s False, 384s ), 384s ( 384s [ 384s Update(Package("black", "19.10b0"), Package("black", "21.11b0")), 384s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")), 384s ], 384s True, 384s ), 384s ], 384s ) 384s def test_execute_prints_warning_for_yanked_package( 384s config: Config, 384s pool: RepositoryPool, 384s io: BufferedIO, 384s tmp_path: Path, 384s mock_file_downloads: None, 384s env: MockEnv, 384s operations: list[Operation], 384s has_warning: bool, 384s ) -> None: 384s config.merge({"cache-dir": str(tmp_path)}) 384s 384s executor = Executor(env, pool, config, io) 384s 384s return_code = executor.execute(operations) 384s 384s expected = ( 384s "Warning: The file chosen for install of black 21.11b0 " 384s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: " 384s "Broken regex dependency. Use 21.11b1 instead." 384s ) 384s output = io.fetch_output() 384s error = io.fetch_error() 384s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n" 384s E AssertionError: 384s E output: 384s E Package operations: 0 installs, 2 updates, 0 removals 384s E 384s E • Updating black (19.10b0 -> 21.11b0) 384s E • Updating pytest (3.5.0 -> 3.5.1) 384s E 384s E UnmockedError 384s E 384s E Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s E 384s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 384s E 641│ 384s E 642│ if httpretty.allow_net_connect and not self.truesock: 384s E 643│ self.truesock = self.create_socket(address) 384s E 644│ elif not self.truesock: 384s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E 646│ 384s E 647│ undo_patch_socket() 384s E 648│ try: 384s E 649│ hostname = self._address[0] 384s E 384s E Cannot install black. 384s E 384s E 384s E UnmockedError 384s E 384s E Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s E 384s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock 384s E 641│ 384s E 642│ if httpretty.allow_net_connect and not self.truesock: 384s E 643│ self.truesock = self.create_socket(address) 384s E 644│ elif not self.truesock: 384s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E 646│ 384s E 647│ undo_patch_socket() 384s E 648│ try: 384s E 649│ hostname = self._address[0] 384s E 384s E Cannot install pytest. 384s E 384s E 384s 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. 384s E 384s E 384s E assert 1 == 0 384s 384s tests/installation/test_executor.py:329: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____________________ test_execute_works_with_ansi_output ______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = 384s pool = 384s io_decorated = 384s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0') 384s mock_file_downloads = None 384s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0/.venv") 384s 384s def test_execute_works_with_ansi_output( 384s config: Config, 384s pool: RepositoryPool, 384s io_decorated: BufferedIO, 384s tmp_path: Path, 384s mock_file_downloads: None, 384s env: MockEnv, 384s ) -> None: 384s config.merge({"cache-dir": str(tmp_path)}) 384s 384s executor = Executor(env, pool, config, io_decorated) 384s 384s return_code = executor.execute( 384s [ 384s Install(Package("cleo", "1.0.0a5")), 384s ] 384s ) 384s 384s # fmt: off 384s expected = [ 384s "\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m removals", 384s "\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", 384s "\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", 384s "\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", 384s "\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 384s ] 384s # fmt: on 384s 384s output = io_decorated.fetch_output() 384s # hint: use print(repr(output)) if you need to debug this 384s 384s for line in expected: 384s > assert line in output 384s 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" 384s 384s tests/installation/test_executor.py:487: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____________________ test_execute_works_with_no_ansi_output ____________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s pool = 384s io_not_decorated = 384s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0') 384s mock_file_downloads = None 384s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0/.venv") 384s 384s def test_execute_works_with_no_ansi_output( 384s mocker: MockerFixture, 384s config: Config, 384s pool: RepositoryPool, 384s io_not_decorated: BufferedIO, 384s tmp_path: Path, 384s mock_file_downloads: None, 384s env: MockEnv, 384s ) -> None: 384s config.merge({"cache-dir": str(tmp_path)}) 384s 384s executor = Executor(env, pool, config, io_not_decorated) 384s 384s return_code = executor.execute( 384s [ 384s Install(Package("cleo", "1.0.0a5")), 384s ] 384s ) 384s 384s expected = """ 384s Package operations: 1 install, 0 updates, 0 removals 384s 384s • Installing cleo (1.0.0a5) 384s """ 384s expected_lines = set(expected.splitlines()) 384s output_lines = set(io_not_decorated.fetch_output().splitlines()) 384s > assert output_lines == expected_lines 384s E AssertionError: assert {'', ' ', ' ...uesock:', ...} == {'', ' • Ins..., 0 removals'} 384s E Extra items in the left set: 384s E ' 648│ try:' 384s E ' Failed to socket.connect() because because a real socket was never created.' 384s E ' 646│ ' 384s E ' 642│ if httpretty.allow_net_connect and not self.truesock:' 384s E ' UnmockedError' 384s E 'Cannot install cleo.'... 384s E 384s E ...Full output truncated (37 lines hidden), use '-vv' to show 384s 384s tests/installation/test_executor.py:517: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____ test_executor_should_write_pep610_url_references_for_wheel_urls[False] ____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s tmp_venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv") 384s pool = 384s config = 384s io = 384s mock_file_downloads = None 384s mocker = 384s fixture_dir = ._fixture_dir at 0x711baa813920> 384s is_artifact_cached = False 384s 384s @pytest.mark.parametrize("is_artifact_cached", [False, True]) 384s def test_executor_should_write_pep610_url_references_for_wheel_urls( 384s tmp_venv: VirtualEnv, 384s pool: RepositoryPool, 384s config: Config, 384s io: BufferedIO, 384s mock_file_downloads: None, 384s mocker: MockerFixture, 384s fixture_dir: FixtureDirGetter, 384s is_artifact_cached: bool, 384s ) -> None: 384s if is_artifact_cached: 384s link_cached = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl" 384s mocker.patch( 384s "poetry.utils.cache.ArtifactCache.get_cached_archive_for_link", 384s return_value=link_cached, 384s ) 384s download_spy = mocker.spy(Executor, "_download_archive") 384s 384s package = Package( 384s "demo", 384s "0.1.0", 384s source_type="url", 384s source_url="https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl", 384s ) 384s # Set package.files so the executor will attempt to hash the package 384s package.files = [ 384s { 384s "file": "demo-0.1.0-py2.py3-none-any.whl", 384s "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a", 384s } 384s ] 384s 384s executor = Executor(tmp_venv, pool, config, io) 384s operation = Install(package) 384s executor.execute([operation]) 384s expected_url_reference = { 384s "archive_info": { 384s "hashes": { 384s "sha256": ( 384s "70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a" 384s ) 384s }, 384s }, 384s "url": package.source_url, 384s } 384s > verify_installed_distribution(tmp_venv, package, expected_url_reference) 384s 384s tests/installation/test_executor.py:859: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv") 384s package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl') 384s url_reference = {'archive_info': {'hashes': {'sha256': '70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl'} 384s 384s def verify_installed_distribution( 384s venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None 384s ) -> None: 384s distributions = list(venv.site_packages.distributions(name=package.name)) 384s > assert len(distributions) == 1 384s E assert 0 == 1 384s E + where 0 = len([]) 384s 384s tests/installation/test_executor.py:619: AssertionError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________ test_uploader_properly_handles_400_errors ___________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s 384s def test_uploader_properly_handles_400_errors( 384s http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request") 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:33: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________ test_uploader_properly_handles_403_errors ___________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s 384s def test_uploader_properly_handles_403_errors( 384s http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:44: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________ test_uploader_properly_handles_nonstandard_errors _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s 384s def test_uploader_properly_handles_nonstandard_errors( 384s http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s # content based off a true story. 384s # Message changed to protect the ~~innocent~~ guilty. 384s content = ( 384s b'{\n "errors": [ {\n ' 384s b'"status": 400,' 384s b'"message": "I cant let you do that, dave"\n' 384s b"} ]\n}" 384s ) 384s http.register_uri(http.POST, "https://foo.com", status=400, body=content) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:63: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_uploader_properly_handles_redirects[308-Permanent Redirect] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 308, body = 'Permanent Redirect' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_uploader_properly_handles_redirects[307-Temporary Redirect] _______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 307, body = 'Temporary Redirect' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________ test_uploader_properly_handles_redirects[304-Not Modified] __________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 304, body = 'Not Modified' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_uploader_properly_handles_redirects[303-See Other] ____________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 303, body = 'See Other' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____________ test_uploader_properly_handles_redirects[302-Found] ______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 302, body = 'Found' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_uploader_properly_handles_redirects[301-Moved Permanently] ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 301, body = 'Moved Permanently' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________ test_uploader_properly_handles_redirects[300-Multiple Choices] ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 300, body = 'Multiple Choices' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (308, "Permanent Redirect"), 384s (307, "Temporary Redirect"), 384s (304, "Not Modified"), 384s (303, "See Other"), 384s (302, "Found"), 384s (301, "Moved Permanently"), 384s (300, "Multiple Choices"), 384s ], 384s ) 384s def test_uploader_properly_handles_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:86: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _________________ test_uploader_properly_handles_301_redirects _________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s 384s def test_uploader_properly_handles_301_redirects( 384s http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect") 384s 384s with pytest.raises(UploadError) as e: 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:100: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________ test_uploader_registers_for_appropriate_400_errors ______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s http = 384s uploader = 384s 384s def test_uploader_registers_for_appropriate_400_errors( 384s mocker: MockerFixture, http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s register = mocker.patch("poetry.publishing.uploader.Uploader._register") 384s http.register_uri( 384s http.POST, "https://foo.com", status=400, body="No package was ever registered" 384s ) 384s 384s with pytest.raises(UploadError): 384s > uploader.upload("https://foo.com") 384s 384s tests/publishing/test_uploader.py:117: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________________ test_uploader_skips_existing[409-] ______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 409, body = '' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (409, ""), 384s (400, "File already exists"), 384s (400, "Repository does not allow updating assets"), 384s (403, "Not enough permissions to overwrite artifact"), 384s (400, "file name has already been taken"), 384s ], 384s ) 384s def test_uploader_skips_existing( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s # should not raise 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:138: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____________ test_uploader_skips_existing[400-File already exists] _____________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 400, body = 'File already exists' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (409, ""), 384s (400, "File already exists"), 384s (400, "Repository does not allow updating assets"), 384s (403, "Not enough permissions to overwrite artifact"), 384s (400, "file name has already been taken"), 384s ], 384s ) 384s def test_uploader_skips_existing( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s # should not raise 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:138: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_uploader_skips_existing[400-Repository does not allow updating assets] __ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 400, body = 'Repository does not allow updating assets' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (409, ""), 384s (400, "File already exists"), 384s (400, "Repository does not allow updating assets"), 384s (403, "Not enough permissions to overwrite artifact"), 384s (400, "file name has already been taken"), 384s ], 384s ) 384s def test_uploader_skips_existing( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s # should not raise 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:138: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _ test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] _ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 403, body = 'Not enough permissions to overwrite artifact' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (409, ""), 384s (400, "File already exists"), 384s (400, "Repository does not allow updating assets"), 384s (403, "Not enough permissions to overwrite artifact"), 384s (400, "file name has already been taken"), 384s ], 384s ) 384s def test_uploader_skips_existing( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s # should not raise 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:138: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______ test_uploader_skips_existing[400-file name has already been taken] ______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s status = 400, body = 'file name has already been taken' 384s 384s @pytest.mark.parametrize( 384s "status, body", 384s [ 384s (409, ""), 384s (400, "File already exists"), 384s (400, "Repository does not allow updating assets"), 384s (403, "Not enough permissions to overwrite artifact"), 384s (400, "file name has already been taken"), 384s ], 384s ) 384s def test_uploader_skips_existing( 384s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=status, body=body) 384s 384s # should not raise 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:138: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ____________ test_uploader_skip_existing_bubbles_unskippable_errors ____________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s uploader = 384s 384s def test_uploader_skip_existing_bubbles_unskippable_errors( 384s http: type[httpretty.httpretty], uploader: Uploader 384s ) -> None: 384s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized") 384s 384s with pytest.raises(UploadError): 384s > uploader.upload("https://foo.com", skip_existing=True) 384s 384s tests/publishing/test_uploader.py:147: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload 384s self._upload(session, url, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload 384s self._upload_file(session, url, file, dry_run, skip_existing) 384s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file 384s resp = session.post( 384s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post 384s return self.request("POST", url, data=data, json=json, **kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 384s resp = self.send(prep, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________________ test_get_200_returns_page ___________________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s 384s def test_get_200_returns_page(http: type[httpretty.httpretty]) -> None: 384s repo = MockHttpRepository({"/foo/": 200}, http) 384s 384s > _ = repo.get_page("foo") 384s 384s tests/repositories/test_legacy_repository.py:512: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 384s response = self._make_request( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 384s conn.request( 384s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 384s self.endheaders() 384s /usr/lib/python3.12/http/client.py:1326: in endheaders 384s self._send_output(message_body, encode_chunked=encode_chunked) 384s /usr/lib/python3.12/http/client.py:1085: in _send_output 384s self.send(msg) 384s /usr/lib/python3.12/http/client.py:1029: in send 384s self.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 384s self.sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________________ test_get_40x_and_returns_none[401] ______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s status_code = 401 384s 384s @pytest.mark.parametrize("status_code", [401, 403, 404]) 384s def test_get_40x_and_returns_none( 384s http: type[httpretty.httpretty], status_code: int 384s ) -> None: 384s repo = MockHttpRepository({"/foo/": status_code}, http) 384s 384s with pytest.raises(PackageNotFound): 384s > repo.get_page("foo") 384s 384s tests/repositories/test_legacy_repository.py:522: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 384s response = self._make_request( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 384s conn.request( 384s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 384s self.endheaders() 384s /usr/lib/python3.12/http/client.py:1326: in endheaders 384s self._send_output(message_body, encode_chunked=encode_chunked) 384s /usr/lib/python3.12/http/client.py:1085: in _send_output 384s self.send(msg) 384s /usr/lib/python3.12/http/client.py:1029: in send 384s self.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 384s self.sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________________ test_get_40x_and_returns_none[403] ______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s status_code = 403 384s 384s @pytest.mark.parametrize("status_code", [401, 403, 404]) 384s def test_get_40x_and_returns_none( 384s http: type[httpretty.httpretty], status_code: int 384s ) -> None: 384s repo = MockHttpRepository({"/foo/": status_code}, http) 384s 384s with pytest.raises(PackageNotFound): 384s > repo.get_page("foo") 384s 384s tests/repositories/test_legacy_repository.py:522: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 384s response = self._make_request( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 384s conn.request( 384s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 384s self.endheaders() 384s /usr/lib/python3.12/http/client.py:1326: in endheaders 384s self._send_output(message_body, encode_chunked=encode_chunked) 384s /usr/lib/python3.12/http/client.py:1085: in _send_output 384s self.send(msg) 384s /usr/lib/python3.12/http/client.py:1029: in send 384s self.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 384s self.sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________________ test_get_40x_and_returns_none[404] ______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s status_code = 404 384s 384s @pytest.mark.parametrize("status_code", [401, 403, 404]) 384s def test_get_40x_and_returns_none( 384s http: type[httpretty.httpretty], status_code: int 384s ) -> None: 384s repo = MockHttpRepository({"/foo/": status_code}, http) 384s 384s with pytest.raises(PackageNotFound): 384s > repo.get_page("foo") 384s 384s tests/repositories/test_legacy_repository.py:522: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 384s response = self._make_request( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 384s conn.request( 384s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 384s self.endheaders() 384s /usr/lib/python3.12/http/client.py:1326: in endheaders 384s self._send_output(message_body, encode_chunked=encode_chunked) 384s /usr/lib/python3.12/http/client.py:1085: in _send_output 384s self.send(msg) 384s /usr/lib/python3.12/http/client.py:1029: in send 384s self.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 384s self.sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____________________________ test_get_5xx_raises ______________________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s 384s def test_get_5xx_raises(http: type[httpretty.httpretty]) -> None: 384s repo = MockHttpRepository({"/foo/": 500}, http) 384s 384s with pytest.raises(RepositoryError): 384s > repo.get_page("foo") 384s 384s tests/repositories/test_legacy_repository.py:529: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen 384s response = self._make_request( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 384s conn.request( 384s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 384s self.endheaders() 384s /usr/lib/python3.12/http/client.py:1326: in endheaders 384s self._send_output(message_body, encode_chunked=encode_chunked) 384s /usr/lib/python3.12/http/client.py:1085: in _send_output 384s self.send(msg) 384s /usr/lib/python3.12/http/client.py:1029: in send 384s self.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 384s self.sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_authenticator_with_implicit_repository_configuration[repositories0] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s config = , repositories = {} 384s 384s @pytest.mark.parametrize( 384s ("repositories",), 384s [ 384s ({},), 384s # ensure path is respected 384s ({"publish": {"url": "https://foo.bar/legacy"}},), 384s # ensure path length does not give incorrect results 384s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 384s ], 384s ) 384s def test_authenticator_with_implicit_repository_configuration( 384s http: type[httpretty.httpretty], 384s config: Config, 384s repositories: dict[str, dict[str, str]], 384s ) -> None: 384s http.register_uri( 384s http.GET, 384s re.compile("^https?://foo.bar/(.+?)$"), 384s ) 384s 384s config.merge( 384s { 384s "repositories": repositories, 384s "http-basic": { 384s "source": {"username": "foo", "password": "bar"}, 384s "publish": {"username": "baz", "password": "qux"}, 384s }, 384s } 384s ) 384s 384s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 384s > repo.get_page("/foo") 384s 384s tests/repositories/test_legacy_repository.py:583: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_authenticator_with_implicit_repository_configuration[repositories1] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s config = 384s repositories = {'publish': {'url': 'https://foo.bar/legacy'}} 384s 384s @pytest.mark.parametrize( 384s ("repositories",), 384s [ 384s ({},), 384s # ensure path is respected 384s ({"publish": {"url": "https://foo.bar/legacy"}},), 384s # ensure path length does not give incorrect results 384s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 384s ], 384s ) 384s def test_authenticator_with_implicit_repository_configuration( 384s http: type[httpretty.httpretty], 384s config: Config, 384s repositories: dict[str, dict[str, str]], 384s ) -> None: 384s http.register_uri( 384s http.GET, 384s re.compile("^https?://foo.bar/(.+?)$"), 384s ) 384s 384s config.merge( 384s { 384s "repositories": repositories, 384s "http-basic": { 384s "source": {"username": "foo", "password": "bar"}, 384s "publish": {"username": "baz", "password": "qux"}, 384s }, 384s } 384s ) 384s 384s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 384s > repo.get_page("/foo") 384s 384s tests/repositories/test_legacy_repository.py:583: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___ test_authenticator_with_implicit_repository_configuration[repositories2] ___ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s http = 384s config = 384s repositories = {'publish': {'url': 'https://foo.bar/upload/legacy'}} 384s 384s @pytest.mark.parametrize( 384s ("repositories",), 384s [ 384s ({},), 384s # ensure path is respected 384s ({"publish": {"url": "https://foo.bar/legacy"}},), 384s # ensure path length does not give incorrect results 384s ({"publish": {"url": "https://foo.bar/upload/legacy"}},), 384s ], 384s ) 384s def test_authenticator_with_implicit_repository_configuration( 384s http: type[httpretty.httpretty], 384s config: Config, 384s repositories: dict[str, dict[str, str]], 384s ) -> None: 384s http.register_uri( 384s http.GET, 384s re.compile("^https?://foo.bar/(.+?)$"), 384s ) 384s 384s config.merge( 384s { 384s "repositories": repositories, 384s "http-basic": { 384s "source": {"username": "foo", "password": "bar"}, 384s "publish": {"username": "baz", "password": "qux"}, 384s }, 384s } 384s ) 384s 384s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config) 384s > repo.get_page("/foo") 384s 384s tests/repositories/test_legacy_repository.py:583: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page 384s response = self._get_response(f"/{name}/") 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response 384s response: requests.Response = self.session.get( 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get 384s return self.request("get", url, **kwargs) 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_authenticator_uses_url_provided_credentials _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_config = 384s mock_remote = None 384s http = 384s 384s def test_authenticator_uses_url_provided_credentials( 384s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 384s ) -> None: 384s authenticator = Authenticator(mock_config, NullIO()) 384s > authenticator.request("get", "https://foo001:bar002@foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:67: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001:bar002@foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______ test_authenticator_uses_credentials_from_config_if_not_provided ________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_config = 384s mock_remote = None 384s http = 384s 384s def test_authenticator_uses_credentials_from_config_if_not_provided( 384s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 384s ) -> None: 384s authenticator = Authenticator(mock_config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:78: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________ test_authenticator_uses_username_only_credentials _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_config = 384s mock_remote = None 384s http = 384s with_simple_keyring = None 384s 384s def test_authenticator_uses_username_only_credentials( 384s mock_config: Config, 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s ) -> None: 384s authenticator = Authenticator(mock_config, NullIO()) 384s > authenticator.request("get", "https://foo001@foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:92: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001@foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________ test_authenticator_ignores_locked_keyring ___________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_remote = None 384s http = 384s with_locked_keyring = None 384s caplog = <_pytest.logging.LogCaptureFixture object at 0x711ba97eb6e0> 384s 384s def test_authenticator_ignores_locked_keyring( 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_locked_keyring: None, 384s caplog: LogCaptureFixture, 384s ) -> None: 384s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") 384s authenticator = Authenticator() 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:107: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring https://foo.bar/files/foo-0.1.0.tar.gz is locked 384s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring foo.bar is locked 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________________ test_authenticator_ignores_failing_keyring __________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_remote = None 384s http = 384s with_erroneous_keyring = None 384s caplog = <_pytest.logging.LogCaptureFixture object at 0x711ba8ea7d10> 384s 384s def test_authenticator_ignores_failing_keyring( 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_erroneous_keyring: None, 384s caplog: LogCaptureFixture, 384s ) -> None: 384s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager") 384s authenticator = Authenticator() 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:122: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring https://foo.bar/files/foo-0.1.0.tar.gz failed 384s Traceback (most recent call last): 384s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential 384s credential = keyring.get_credential(name, username) 384s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 384s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential 384s return get_keyring().get_credential(service_name, username) 384s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 384s File "/tmp/autopkgtest.u6fsN7/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential 384s raise KeyringError() 384s keyring.errors.KeyringError 384s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring foo.bar failed 384s Traceback (most recent call last): 384s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential 384s credential = keyring.get_credential(name, username) 384s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 384s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential 384s return get_keyring().get_credential(service_name, username) 384s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 384s File "/tmp/autopkgtest.u6fsN7/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential 384s raise KeyringError() 384s keyring.errors.KeyringError 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________ test_authenticator_uses_password_only_credentials _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mock_config = 384s mock_remote = None 384s http = 384s 384s def test_authenticator_uses_password_only_credentials( 384s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty] 384s ) -> None: 384s authenticator = Authenticator(mock_config, NullIO()) 384s > authenticator.request("get", "https://:bar002@foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:133: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for :bar002@foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________ test_authenticator_uses_empty_strings_as_default_password ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 384s http = 384s with_simple_keyring = None 384s 384s def test_authenticator_uses_empty_strings_as_default_password( 384s config: Config, 384s mock_remote: None, 384s repo: dict[str, dict[str, str]], 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s ) -> None: 384s config.merge( 384s { 384s "repositories": repo, 384s "http-basic": {"foo": {"username": "bar"}}, 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:155: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s __________ test_authenticator_uses_empty_strings_as_default_username ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 384s http = 384s 384s def test_authenticator_uses_empty_strings_as_default_username( 384s config: Config, 384s mock_remote: None, 384s repo: dict[str, dict[str, str]], 384s http: type[httpretty.httpretty], 384s ) -> None: 384s config.merge( 384s { 384s "repositories": repo, 384s "http-basic": {"foo": {"username": None, "password": "bar"}}, 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:176: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _________________ test_authenticator_falls_back_to_keyring_url _________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 384s http = 384s with_simple_keyring = None 384s dummy_keyring = 384s 384s def test_authenticator_falls_back_to_keyring_url( 384s config: Config, 384s mock_remote: None, 384s repo: dict[str, dict[str, str]], 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s dummy_keyring: DummyBackend, 384s ) -> None: 384s config.merge( 384s { 384s "repositories": repo, 384s } 384s ) 384s 384s dummy_keyring.set_password( 384s "https://foo.bar/simple/", None, SimpleCredential("foo", "bar") 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:202: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_authenticator_falls_back_to_keyring_netloc ________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s repo = {'foo': {'url': 'https://foo.bar/simple/'}} 384s http = 384s with_simple_keyring = None 384s dummy_keyring = 384s 384s def test_authenticator_falls_back_to_keyring_netloc( 384s config: Config, 384s mock_remote: None, 384s repo: dict[str, dict[str, str]], 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s dummy_keyring: DummyBackend, 384s ) -> None: 384s config.merge( 384s { 384s "repositories": repo, 384s } 384s ) 384s 384s dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar")) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:226: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_authenticator_request_retries_on_exception ________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s 384s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 384s def test_authenticator_request_retries_on_exception( 384s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s seen: list[str] = [] 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s if seen.count(uri) < 2: 384s seen.append(uri) 384s raise requests.exceptions.ConnectionError("Disconnected") 384s return [200, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > response = authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:253: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_authenticator_request_raises_exception_when_attempts_exhausted ______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s 384s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning") 384s def test_authenticator_request_raises_exception_when_attempts_exhausted( 384s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty] 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s 384s def callback(*_: Any, **___: Any) -> None: 384s raise requests.exceptions.ConnectionError(str(uuid.uuid4())) 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.ConnectionError): 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:272: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_authenticator_request_respects_retry_header _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s 384s def test_authenticator_request_respects_retry_header( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s seen: list[str] = [] 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s if not seen.count(uri): 384s seen.append(uri) 384s return [429, {"Retry-After": "42"}, "Retry later"] 384s 384s return [200, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s > response = authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:299: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[400-0] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 400, attempts = 0 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[401-0] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 401, attempts = 0 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[403-0] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 403, attempts = 0 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[404-0] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 404, attempts = 0 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[429-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 429, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[500-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 500, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[501-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 501, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[502-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 502, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[503-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 503, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ___________ test_authenticator_request_retries_on_status_code[504-5] ___________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s mocker = 384s config = 384s http = 384s status = 504, attempts = 5 384s 384s @pytest.mark.parametrize( 384s ["status", "attempts"], 384s [ 384s (400, 0), 384s (401, 0), 384s (403, 0), 384s (404, 0), 384s (429, 5), 384s (500, 5), 384s (501, 5), 384s (502, 5), 384s (503, 5), 384s (504, 5), 384s ], 384s ) 384s def test_authenticator_request_retries_on_status_code( 384s mocker: MockerFixture, 384s config: Config, 384s http: type[httpretty.httpretty], 384s status: int, 384s attempts: int, 384s ) -> None: 384s sleep = mocker.patch("time.sleep") 384s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz" 384s content = str(uuid.uuid4()) 384s 384s def callback( 384s request: requests.Request, uri: str, response_headers: dict[str, str] 384s ) -> list[int | dict[str, str] | str]: 384s return [status, response_headers, content] 384s 384s http.register_uri(httpretty.GET, sdist_uri, body=callback) 384s authenticator = Authenticator(config, NullIO()) 384s 384s with pytest.raises(requests.exceptions.HTTPError) as excinfo: 384s > authenticator.request("get", sdist_uri) 384s 384s tests/utils/test_authenticator.py:339: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _______________ test_authenticator_uses_env_provided_credentials _______________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = 384s repo = {'foo': {'url': 'https://foo.bar/simple/'}}, environ = None 384s mock_remote = None 384s http = 384s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x711ba74ca030> 384s 384s def test_authenticator_uses_env_provided_credentials( 384s config: Config, 384s repo: dict[str, dict[str, str]], 384s environ: None, 384s mock_remote: type[httpretty.httpretty], 384s http: type[httpretty.httpretty], 384s monkeypatch: MonkeyPatch, 384s ) -> None: 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_USERNAME", "bar") 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_PASSWORD", "baz") 384s 384s config.merge({"repositories": repo}) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:362: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_authenticator_uses_credentials_from_config_matched_by_url_path ______ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s http = 384s 384s def test_authenticator_uses_credentials_from_config_matched_by_url_path( 384s config: Config, mock_remote: None, http: type[httpretty.httpretty] 384s ) -> None: 384s config.merge( 384s { 384s "repositories": { 384s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 384s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 384s }, 384s "http-basic": { 384s "foo-alpha": {"username": "bar", "password": "alpha"}, 384s "foo-beta": {"username": "baz", "password": "beta"}, 384s }, 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:432: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_authenticator_uses_credentials_from_config_with_at_sign_in_path _____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s http = 384s 384s def test_authenticator_uses_credentials_from_config_with_at_sign_in_path( 384s config: Config, mock_remote: None, http: type[httpretty.httpretty] 384s ) -> None: 384s config.merge( 384s { 384s "repositories": { 384s "foo": {"url": "https://foo.bar/beta/files/simple/"}, 384s }, 384s "http-basic": { 384s "foo": {"username": "bar", "password": "baz"}, 384s }, 384s } 384s ) 384s authenticator = Authenticator(config, NullIO()) 384s > authenticator.request("get", "https://foo.bar/beta/files/simple/f@@-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:462: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _________ test_authenticator_falls_back_to_keyring_url_matched_by_path _________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s http = 384s with_simple_keyring = None 384s dummy_keyring = 384s 384s def test_authenticator_falls_back_to_keyring_url_matched_by_path( 384s config: Config, 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s dummy_keyring: DummyBackend, 384s ) -> None: 384s config.merge( 384s { 384s "repositories": { 384s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 384s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 384s } 384s } 384s ) 384s 384s dummy_keyring.set_password( 384s "https://foo.bar/alpha/files/simple/", None, SimpleCredential("foo", "bar") 384s ) 384s dummy_keyring.set_password( 384s "https://foo.bar/beta/files/simple/", None, SimpleCredential("foo", "baz") 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s 384s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:495: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s _____ test_authenticator_uses_env_provided_credentials_matched_by_url_path _____ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , environ = None 384s mock_remote = None 384s http = 384s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x711ba9a36210> 384s 384s def test_authenticator_uses_env_provided_credentials_matched_by_url_path( 384s config: Config, 384s environ: None, 384s mock_remote: type[httpretty.httpretty], 384s http: type[httpretty.httpretty], 384s monkeypatch: MonkeyPatch, 384s ) -> None: 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_USERNAME", "bar") 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_PASSWORD", "alpha") 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_USERNAME", "baz") 384s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_PASSWORD", "beta") 384s 384s config.merge( 384s { 384s "repositories": { 384s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"}, 384s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"}, 384s } 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s 384s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz") 384s 384s tests/utils/test_authenticator.py:531: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ________________ test_authenticator_azure_feed_guid_credentials ________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s http = 384s with_simple_keyring = None 384s dummy_keyring = 384s 384s def test_authenticator_azure_feed_guid_credentials( 384s config: Config, 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s dummy_keyring: DummyBackend, 384s ) -> None: 384s config.merge( 384s { 384s "repositories": { 384s "alpha": { 384s "url": "https://foo.bar/org-alpha/_packaging/feed/pypi/simple/" 384s }, 384s "beta": { 384s "url": "https://foo.bar/org-beta/_packaging/feed/pypi/simple/" 384s }, 384s }, 384s "http-basic": { 384s "alpha": {"username": "foo", "password": "bar"}, 384s "beta": {"username": "baz", "password": "qux"}, 384s }, 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s 384s > authenticator.request( 384s "get", 384s "https://foo.bar/org-alpha/_packaging/GUID/pypi/simple/a/1.0.0/a-1.0.0.whl", 384s ) 384s 384s tests/utils/test_authenticator.py:570: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s ______________________ test_authenticator_add_repository _______________________ 384s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12 384s 384s config = , mock_remote = None 384s http = 384s with_simple_keyring = None 384s dummy_keyring = 384s 384s def test_authenticator_add_repository( 384s config: Config, 384s mock_remote: None, 384s http: type[httpretty.httpretty], 384s with_simple_keyring: None, 384s dummy_keyring: DummyBackend, 384s ) -> None: 384s config.merge( 384s { 384s "http-basic": { 384s "source": {"username": "foo", "password": "bar"}, 384s }, 384s } 384s ) 384s 384s authenticator = Authenticator(config, NullIO()) 384s 384s > authenticator.request( 384s "get", 384s "https://foo.bar/simple/a/1.0.0/a-1.0.0.whl", 384s ) 384s 384s tests/utils/test_authenticator.py:606: 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request 384s resp = session.send(prepared_request, **send_kwargs) 384s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 384s r = adapter.send(request, **kwargs) 384s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send 384s resp = super().send(request, stream, timeout, verify, cert, proxies) 384s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send 384s resp = conn.urlopen( 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen 384s self._prepare_proxy(conn) 384s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy 384s conn.connect() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect 384s self.sock = sock = self._new_conn() 384s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn 384s sock = connection.create_connection( 384s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection 384s sock.connect(sa) 384s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect 384s self.connect_truesock(address=address) 384s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 384s 384s self = httpretty.core.socket("squid.internal:3128"), request = None 384s address = ('squid.internal', 3128) 384s 384s def connect_truesock(self, request=None, address=None): 384s address = address or self._address 384s 384s if self.__truesock_is_connected__: 384s return self.truesock 384s 384s if request: 384s logger.warning('real call to socket.connect() for {request}'.format(**locals())) 384s elif address: 384s logger.warning('real call to socket.connect() for {address}'.format(**locals())) 384s else: 384s logger.warning('real call to socket.connect()') 384s 384s if httpretty.allow_net_connect and not self.truesock: 384s self.truesock = self.create_socket(address) 384s elif not self.truesock: 384s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address) 384s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created. 384s E 384s 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. 384s 384s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError 384s ----------------------------- Captured stdout call ----------------------------- 384s real call to socket.connect() for ('squid.internal', 3128) 384s ------------------------------ Captured log call ------------------------------- 384s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar 384s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443 384s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128) 384s =============================== warnings summary =============================== 384s tests/console/commands/test_add.py: 13 warnings 384s tests/console/commands/test_show.py: 1 warning 384s tests/installation/test_executor.py: 8 warnings 384s tests/installation/test_installer.py: 2 warnings 384s tests/packages/test_direct_origin.py: 2 warnings 384s tests/puzzle/test_solver.py: 3 warnings 384s tests/utils/test_cache.py: 12 warnings 384s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s if link.hash_name is not None and link.hash is not None: 384s 384s tests/console/commands/test_build.py::test_build_with_multiple_readme_files 384s /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). 384s from poetry.core.masonry.builder import Builder 384s 384s tests/installation/test_executor.py: 16 warnings 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:189: DeprecationWarning: hash is deprecated. Use hashes instead. 384s if not link.hash: 384s 384s tests/installation/test_executor.py: 16 warnings 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:192: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s assert link.hash_name is not None 384s 384s tests/installation/test_executor.py: 16 warnings 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s h = link.hash_name + ":" + link.hash 384s 384s tests/installation/test_executor.py: 16 warnings 384s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash is deprecated. Use hashes instead. 384s h = link.hash_name + ":" + link.hash 384s 384s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_works_with_ansi_output 384s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 384s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash is deprecated. Use hashes instead. 384s if link.hash_name is not None and link.hash is not None: 384s 384s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_works_with_ansi_output 384s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 384s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash is deprecated. Use hashes instead. 384s key_parts[link.hash_name] = link.hash 384s 384s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s tests/installation/test_executor.py::test_execute_works_with_ansi_output 384s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 384s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s key_parts[link.hash_name] = link.hash 384s 384s tests/puzzle/test_solver.py: 16 warnings 384s tests/repositories/test_legacy_repository.py: 52 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash is deprecated. Use hashes instead. 384s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None 384s 384s tests/puzzle/test_solver.py: 8 warnings 384s tests/repositories/test_legacy_repository.py: 25 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None 384s 384s tests/puzzle/test_solver.py: 8 warnings 384s tests/repositories/test_legacy_repository.py: 27 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:227: DeprecationWarning: hash is deprecated. Use hashes instead. 384s if not link.hash or ( 384s 384s tests/puzzle/test_solver.py: 8 warnings 384s tests/repositories/test_legacy_repository.py: 25 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:228: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s link.hash_name is not None 384s 384s tests/puzzle/test_solver.py: 8 warnings 384s tests/repositories/test_legacy_repository.py: 25 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:229: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s and link.hash_name not in ("sha256", "sha384", "sha512") 384s 384s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 384s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 384s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 384s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:230: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s and hasattr(hashlib, link.hash_name) 384s 384s tests/repositories/test_legacy_repository.py: 10 warnings 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:248: DeprecationWarning: hash_name is deprecated. Use hashes instead. 384s known_hash = getattr(hashlib, link.hash_name)() if link.hash_name else None 384s 384s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels 384s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel 384s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes 384s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash 384s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:261: DeprecationWarning: hash is deprecated. Use hashes instead. 384s if not known_hash or known_hash.hexdigest() == link.hash: 384s 384s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 384s =========================== short test summary info ============================ 384s FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration 384s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors 384s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors 384s FAILED tests/console/commands/test_search.py::test_search - httpretty.errors.... 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[] 384s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy] 384s FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others 384s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[] 384s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] 384s FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations 384s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True] 384s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True] 384s FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output 384s FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output 384s FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices] 384s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects 384s FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors 384s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-] 384s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists] 384s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets] 384s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] 384s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken] 384s FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors 384s FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page 384s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401] 384s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403] 384s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404] 384s FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises - ht... 384s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0] 384s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1] 384s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials 384s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring 384s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username 384s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url 384s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5] 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path 384s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path 384s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path 384s FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials 384s FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository 384s ===== 91 failed, 1100 passed, 4 skipped, 347 warnings in 138.62s (0:02:18) ===== 385s autopkgtest [09:42:04]: test pytest: -----------------------] 386s autopkgtest [09:42:05]: test pytest: - - - - - - - - - - results - - - - - - - - - - 386s pytest FAIL non-zero exit status 1 386s autopkgtest [09:42:05]: @@@@@@@@@@@@@@@@@@@@ summary 386s pytest FAIL non-zero exit status 1 434s Creating nova instance adt-noble-ppc64el-poetry-20240320-093539-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-ppc64el-server-20240319.img (UUID 9d87beed-6c32-481f-958d-7469e26317f3)...