0s autopkgtest [22:58:47]: starting date and time: 2024-03-21 22:58:47+0000
1s autopkgtest [22:58:48]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps
1s autopkgtest [22:58:48]: host juju-7f2275-prod-proposed-migration-environment-3; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.lz_0wcuh/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:git,src:curl,src:gnutls28,src:libpsl,src:nettle --apt-upgrade poetry --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=git/1:2.43.0-1ubuntu5 curl/8.5.0-2ubuntu7 gnutls28/3.8.3-1.1ubuntu2 libpsl/0.21.2-1.1 nettle/3.9.1-2.2' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-3@bos01-s390x-8.secgroup --name adt-noble-s390x-poetry-20240321-225847-juju-7f2275-prod-proposed-migration-environment-3 --image adt/ubuntu-noble-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-3 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://us.ports.ubuntu.com/ubuntu-ports/
138s autopkgtest [23:01:05]: testbed dpkg architecture: s390x
138s autopkgtest [23:01:05]: testbed apt version: 2.7.12
138s autopkgtest [23:01:05]: @@@@@@@@@@@@@@@@@@@@ test bed setup
138s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB]
139s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B]
139s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3774 kB]
139s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [53.9 kB]
139s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [496 kB]
139s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main s390x Packages [671 kB]
139s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main s390x c-n-f Metadata [3032 B]
139s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x Packages [1372 B]
139s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted s390x c-n-f Metadata [116 B]
139s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x Packages [3994 kB]
139s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe s390x c-n-f Metadata [7292 B]
139s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x Packages [45.1 kB]
139s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse s390x c-n-f Metadata [116 B]
142s Fetched 9169 kB in 3s (3598 kB/s)
142s Reading package lists...
145s Reading package lists...
145s Building dependency tree...
145s Reading state information...
145s Calculating upgrade...
145s The following packages have been kept back:
145s curl
145s The following packages will be upgraded:
145s cloud-init debianutils python3-markupsafe
146s 3 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
146s Need to get 700 kB of archives.
146s After this operation, 11.3 kB disk space will be freed.
146s Get:1 http://ftpmaster.internal/ubuntu noble/main s390x debianutils s390x 5.17 [90.1 kB]
146s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x python3-markupsafe s390x 2.1.5-1build1 [12.8 kB]
146s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x cloud-init all 24.1.2-0ubuntu1 [597 kB]
146s Preconfiguring packages ...
146s Fetched 700 kB in 1s (1350 kB/s)
146s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 51778 files and directories currently installed.)
146s Preparing to unpack .../debianutils_5.17_s390x.deb ...
146s Unpacking debianutils (5.17) over (5.16) ...
147s Setting up debianutils (5.17) ...
147s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 51778 files and directories currently installed.)
147s Preparing to unpack .../python3-markupsafe_2.1.5-1build1_s390x.deb ...
147s Unpacking python3-markupsafe (2.1.5-1build1) over (2.1.5-1) ...
147s Preparing to unpack .../cloud-init_24.1.2-0ubuntu1_all.deb ...
147s Unpacking cloud-init (24.1.2-0ubuntu1) over (24.1.1-0ubuntu1) ...
147s Setting up cloud-init (24.1.2-0ubuntu1) ...
149s Setting up python3-markupsafe (2.1.5-1build1) ...
149s Processing triggers for man-db (2.12.0-3) ...
150s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ...
150s Reading package lists...
151s Building dependency tree...
151s Reading state information...
151s 0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
151s Unknown architecture, assuming PC-style ttyS0
151s sh: Attempting to set up Debian/Ubuntu apt sources automatically
151s sh: Distribution appears to be Ubuntu
152s Reading package lists...
152s Building dependency tree...
152s Reading state information...
152s eatmydata is already the newest version (131-1).
152s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
153s Reading package lists...
153s Building dependency tree...
153s Reading state information...
153s dbus is already the newest version (1.14.10-4ubuntu1).
153s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
153s Reading package lists...
153s Building dependency tree...
153s Reading state information...
153s rng-tools-debian is already the newest version (2.4).
153s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
154s Reading package lists...
154s Building dependency tree...
154s Reading state information...
154s The following packages will be REMOVED:
154s cloud-init* python3-configobj* python3-debconf*
154s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
154s After this operation, 3256 kB disk space will be freed.
154s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 51777 files and directories currently installed.)
154s Removing cloud-init (24.1.2-0ubuntu1) ...
155s Removing python3-configobj (5.0.8-3) ...
155s Removing python3-debconf (1.5.86) ...
155s Processing triggers for man-db (2.12.0-3) ...
155s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 51388 files and directories currently installed.)
155s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ...
156s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed
156s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ...
156s invoke-rc.d: policy-rc.d denied execution of try-restart.
156s Reading package lists...
156s Building dependency tree...
156s Reading state information...
157s linux-generic is already the newest version (6.8.0-11.11+1).
157s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
157s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease
157s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease
157s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease
160s Reading package lists...
160s Reading package lists...
160s Building dependency tree...
160s Reading state information...
160s Calculating upgrade...
160s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
160s Reading package lists...
161s Building dependency tree...
161s Reading state information...
161s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
161s autopkgtest [23:01:28]: rebooting testbed after setup commands that affected boot
191s autopkgtest [23:01:58]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP Tue Feb 13 23:45:46 UTC 2024
194s autopkgtest [23:02:01]: @@@@@@@@@@@@@@@@@@@@ apt-source poetry
197s Get:1 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (dsc) [3263 B]
197s Get:2 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (tar) [2624 kB]
197s Get:3 http://ftpmaster.internal/ubuntu noble/universe poetry 1.7.1+dfsg-1 (diff) [7344 B]
197s gpgv: Signature made Fri Nov 24 13:13:39 2023 UTC
197s gpgv: using RSA key 13796755BBC72BB8ABE2AEB5FA9DEC5DE11C63F1
197s gpgv: issuer "eamanu@debian.org"
197s gpgv: Can't check signature: No public key
197s dpkg-source: warning: cannot verify inline signature for ./poetry_1.7.1+dfsg-1.dsc: no acceptable signature found
197s autopkgtest [23:02:04]: testing package poetry version 1.7.1+dfsg-1
197s autopkgtest [23:02:04]: build not needed
198s autopkgtest [23:02:05]: test pytest: preparing testbed
203s Reading package lists...
203s Building dependency tree...
203s Reading state information...
203s Starting pkgProblemResolver with broken count: 0
203s Starting 2 pkgProblemResolver with broken count: 0
203s Done
203s The following additional packages will be installed:
203s cpp cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu gcc gcc-13 gcc-13-base
203s gcc-13-s390x-linux-gnu gcc-s390x-linux-gnu git git-man libasan8 libatomic1
203s libblas3 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev liberror-perl
203s libexpat1-dev libgcc-13-dev libgfortran5 libgomp1 libisl23 libitm1
203s libjs-jquery libjs-sphinxdoc libjs-underscore liblapack3 libmpc3 libnsl-dev
203s libpython3-all-dev libpython3-dev libpython3.11-minimal libpython3.11-stdlib
203s libpython3.12 libpython3.12-dev libtirpc-dev libubsan1 linux-libc-dev
203s python3-all python3-all-dev python3-build python3-cachecontrol python3-cachy
203s python3-cleo python3-crashtest python3-deepdiff python3-dev python3-distlib
203s python3-dulwich python3-execnet python3-fastjsonschema python3-filelock
203s python3-httpretty python3-iniconfig python3-installer python3-jsonpickle
203s python3-lockfile python3-msgpack python3-numpy python3-ordered-set
203s python3-packaging python3-pexpect python3-pip-whl python3-pkginfo
203s python3-platformdirs python3-pluggy python3-poetry python3-poetry-core
203s python3-ptyprocess python3-pylev python3-pyproject-hooks python3-pytest
203s python3-pytest-mock python3-pytest-xdist python3-requests-toolbelt
203s python3-setuptools-whl python3-shellingham python3-toml python3-tomlkit
203s python3-trove-classifiers python3-venv python3-virtualenv python3-wheel
203s python3-wheel-whl python3.11 python3.11-minimal python3.11-venv
203s python3.12-dev python3.12-venv rpcsvc-proto zlib1g-dev
203s Suggested packages:
203s cpp-doc gcc-13-locales cpp-13-doc gcc-multilib manpages-dev autoconf
203s automake libtool flex bison gdb gcc-doc gcc-13-multilib gcc-13-doc
203s gdb-s390x-linux-gnu git-daemon-run | git-daemon-sysvinit git-doc git-email
203s git-gui gitk gitweb git-cvs git-mediawiki git-svn glibc-doc python3-pip
203s python-build-doc python-cleo-doc python3-gpg execnet-doc
203s python-fastjsonschema-doc python-installer-doc python-jsonpickle-doc
203s python3-simplejson python-lockfile-doc gfortran python-pexpect-doc
203s python-pytest-mock-doc python3.11-doc binfmt-support
203s Recommended packages:
203s manpages manpages-dev libc-devtools javascript-common python3-clevercsv
203s python3-fastimport python-pkginfo-doc build-essential
203s The following NEW packages will be installed:
203s autopkgtest-satdep cpp cpp-13 cpp-13-s390x-linux-gnu cpp-s390x-linux-gnu gcc
203s gcc-13 gcc-13-base gcc-13-s390x-linux-gnu gcc-s390x-linux-gnu git git-man
203s libasan8 libatomic1 libblas3 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev
203s liberror-perl libexpat1-dev libgcc-13-dev libgfortran5 libgomp1 libisl23
203s libitm1 libjs-jquery libjs-sphinxdoc libjs-underscore liblapack3 libmpc3
203s libnsl-dev libpython3-all-dev libpython3-dev libpython3.11-minimal
203s libpython3.11-stdlib libpython3.12 libpython3.12-dev libtirpc-dev libubsan1
203s linux-libc-dev python3-all python3-all-dev python3-build
203s python3-cachecontrol python3-cachy python3-cleo python3-crashtest
203s python3-deepdiff python3-dev python3-distlib python3-dulwich python3-execnet
203s python3-fastjsonschema python3-filelock python3-httpretty python3-iniconfig
203s python3-installer python3-jsonpickle python3-lockfile python3-msgpack
203s python3-numpy python3-ordered-set python3-packaging python3-pexpect
203s python3-pip-whl python3-pkginfo python3-platformdirs python3-pluggy
203s python3-poetry python3-poetry-core python3-ptyprocess python3-pylev
203s python3-pyproject-hooks python3-pytest python3-pytest-mock
203s python3-pytest-xdist python3-requests-toolbelt python3-setuptools-whl
203s python3-shellingham python3-toml python3-tomlkit python3-trove-classifiers
203s python3-venv python3-virtualenv python3-wheel python3-wheel-whl python3.11
203s python3.11-minimal python3.11-venv python3.12-dev python3.12-venv
203s rpcsvc-proto zlib1g-dev
203s 0 upgraded, 94 newly installed, 0 to remove and 0 not upgraded.
203s Need to get 75.0 MB/75.0 MB of archives.
203s After this operation, 275 MB of additional disk space will be used.
203s Get:1 /tmp/autopkgtest.ATeZkA/1-autopkgtest-satdep.deb autopkgtest-satdep s390x 0 [824 B]
204s Get:2 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.11-minimal s390x 3.11.8-1 [838 kB]
205s Get:3 http://ftpmaster.internal/ubuntu noble/main s390x python3.11-minimal s390x 3.11.8-1 [2248 kB]
205s Get:4 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-base s390x 13.2.0-17ubuntu2 [47.4 kB]
205s Get:5 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.11-stdlib s390x 3.11.8-1 [1938 kB]
205s Get:6 http://ftpmaster.internal/ubuntu noble/main s390x python3.11 s390x 3.11.8-1 [589 kB]
205s Get:7 http://ftpmaster.internal/ubuntu noble/main s390x libisl23 s390x 0.26-3 [722 kB]
205s Get:8 http://ftpmaster.internal/ubuntu noble/main s390x libmpc3 s390x 1.3.1-1 [54.9 kB]
205s Get:9 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [9929 kB]
206s Get:10 http://ftpmaster.internal/ubuntu noble/main s390x cpp-13 s390x 13.2.0-17ubuntu2 [1026 B]
206s Get:11 http://ftpmaster.internal/ubuntu noble/main s390x cpp-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [5308 B]
206s Get:12 http://ftpmaster.internal/ubuntu noble/main s390x cpp s390x 4:13.2.0-7ubuntu1 [22.4 kB]
206s Get:13 http://ftpmaster.internal/ubuntu noble/main s390x libcc1-0 s390x 14-20240303-1ubuntu1 [49.9 kB]
206s Get:14 http://ftpmaster.internal/ubuntu noble/main s390x libgomp1 s390x 14-20240303-1ubuntu1 [151 kB]
206s Get:15 http://ftpmaster.internal/ubuntu noble/main s390x libitm1 s390x 14-20240303-1ubuntu1 [31.1 kB]
206s Get:16 http://ftpmaster.internal/ubuntu noble/main s390x libatomic1 s390x 14-20240303-1ubuntu1 [9392 B]
206s Get:17 http://ftpmaster.internal/ubuntu noble/main s390x libasan8 s390x 14-20240303-1ubuntu1 [2998 kB]
206s Get:18 http://ftpmaster.internal/ubuntu noble/main s390x libubsan1 s390x 14-20240303-1ubuntu1 [1186 kB]
206s Get:19 http://ftpmaster.internal/ubuntu noble/main s390x libgcc-13-dev s390x 13.2.0-17ubuntu2 [1003 kB]
206s Get:20 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13-s390x-linux-gnu s390x 13.2.0-17ubuntu2 [19.1 MB]
209s Get:21 http://ftpmaster.internal/ubuntu noble/main s390x gcc-13 s390x 13.2.0-17ubuntu2 [467 kB]
209s Get:22 http://ftpmaster.internal/ubuntu noble/main s390x gcc-s390x-linux-gnu s390x 4:13.2.0-7ubuntu1 [1208 B]
209s Get:23 http://ftpmaster.internal/ubuntu noble/main s390x gcc s390x 4:13.2.0-7ubuntu1 [5014 B]
209s Get:24 http://ftpmaster.internal/ubuntu noble/main s390x liberror-perl all 0.17029-2 [25.6 kB]
209s Get:25 http://ftpmaster.internal/ubuntu noble/main s390x git-man all 1:2.43.0-1ubuntu1 [1100 kB]
209s Get:26 http://ftpmaster.internal/ubuntu noble/main s390x git s390x 1:2.43.0-1ubuntu1 [3837 kB]
209s Get:27 http://ftpmaster.internal/ubuntu noble/main s390x libblas3 s390x 3.12.0-3 [245 kB]
209s Get:28 http://ftpmaster.internal/ubuntu noble/main s390x libc-dev-bin s390x 2.39-0ubuntu2 [20.2 kB]
210s Get:29 http://ftpmaster.internal/ubuntu noble/main s390x linux-libc-dev s390x 6.8.0-11.11 [1590 kB]
210s Get:30 http://ftpmaster.internal/ubuntu noble/main s390x libcrypt-dev s390x 1:4.4.36-4 [135 kB]
210s Get:31 http://ftpmaster.internal/ubuntu noble/main s390x libtirpc-dev s390x 1.3.4+ds-1build1 [225 kB]
210s Get:32 http://ftpmaster.internal/ubuntu noble/main s390x libnsl-dev s390x 1.3.0-3 [73.5 kB]
210s Get:33 http://ftpmaster.internal/ubuntu noble/main s390x rpcsvc-proto s390x 1.4.2-0ubuntu6 [64.7 kB]
210s Get:34 http://ftpmaster.internal/ubuntu noble/main s390x libc6-dev s390x 2.39-0ubuntu2 [1629 kB]
210s Get:35 http://ftpmaster.internal/ubuntu noble/main s390x libexpat1-dev s390x 2.6.0-1 [1013 kB]
210s Get:36 http://ftpmaster.internal/ubuntu noble/main s390x libgfortran5 s390x 14-20240303-1ubuntu1 [598 kB]
210s Get:37 http://ftpmaster.internal/ubuntu noble/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB]
210s Get:38 http://ftpmaster.internal/ubuntu noble/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB]
210s Get:39 http://ftpmaster.internal/ubuntu noble/main s390x libjs-sphinxdoc all 7.2.6-4 [149 kB]
210s Get:40 http://ftpmaster.internal/ubuntu noble/main s390x liblapack3 s390x 3.12.0-3 [2979 kB]
211s Get:41 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.12 s390x 3.12.2-1 [2561 kB]
211s Get:42 http://ftpmaster.internal/ubuntu noble/main s390x zlib1g-dev s390x 1:1.3.dfsg-3ubuntu1 [905 kB]
211s Get:43 http://ftpmaster.internal/ubuntu noble/main s390x libpython3.12-dev s390x 3.12.2-1 [5667 kB]
212s Get:44 http://ftpmaster.internal/ubuntu noble/main s390x libpython3-dev s390x 3.12.1-0ubuntu2 [9986 B]
212s Get:45 http://ftpmaster.internal/ubuntu noble/main s390x libpython3-all-dev s390x 3.12.1-0ubuntu2 [910 B]
212s Get:46 http://ftpmaster.internal/ubuntu noble/main s390x python3-all s390x 3.12.1-0ubuntu2 [908 B]
212s Get:47 http://ftpmaster.internal/ubuntu noble/main s390x python3.12-dev s390x 3.12.2-1 [505 kB]
212s Get:48 http://ftpmaster.internal/ubuntu noble/main s390x python3-dev s390x 3.12.1-0ubuntu2 [26.7 kB]
212s Get:49 http://ftpmaster.internal/ubuntu noble/main s390x python3-all-dev s390x 3.12.1-0ubuntu2 [908 B]
212s Get:50 http://ftpmaster.internal/ubuntu noble/main s390x python3-packaging all 23.2-1 [40.6 kB]
212s Get:51 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pyproject-hooks all 1.0.0-2 [9434 B]
212s Get:52 http://ftpmaster.internal/ubuntu noble/universe s390x python3-toml all 0.10.2-1 [16.5 kB]
212s Get:53 http://ftpmaster.internal/ubuntu noble/universe s390x python3-wheel all 0.42.0-1 [53.1 kB]
212s Get:54 http://ftpmaster.internal/ubuntu noble/universe s390x python3-build all 1.0.3-2 [27.3 kB]
212s Get:55 http://ftpmaster.internal/ubuntu noble/main s390x python3-msgpack s390x 1.0.3-3build1 [101 kB]
212s Get:56 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cachecontrol all 0.14.0-1 [19.0 kB]
212s Get:57 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cachy all 0.3.0-4 [12.0 kB]
212s Get:58 http://ftpmaster.internal/ubuntu noble/universe s390x python3-crashtest all 0.4.1-1 [6804 B]
212s Get:59 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pylev all 1.4.0-1 [6594 B]
212s Get:60 http://ftpmaster.internal/ubuntu noble/universe s390x python3-cleo all 2.1.0-2 [51.8 kB]
212s Get:61 http://ftpmaster.internal/ubuntu noble/universe s390x python3-jsonpickle all 3.0.3+dfsg-1 [35.5 kB]
212s Get:62 http://ftpmaster.internal/ubuntu noble/main s390x python3-numpy s390x 1:1.24.2-2 [5137 kB]
213s Get:63 http://ftpmaster.internal/ubuntu noble/universe s390x python3-ordered-set all 4.1.0-1 [9778 B]
213s Get:64 http://ftpmaster.internal/ubuntu noble/universe s390x python3-deepdiff all 6.7.1-1 [62.8 kB]
213s Get:65 http://ftpmaster.internal/ubuntu noble/universe s390x python3-distlib all 0.3.8-1 [318 kB]
213s Get:66 http://ftpmaster.internal/ubuntu noble/universe s390x python3-dulwich s390x 0.21.6-1build1 [310 kB]
213s Get:67 http://ftpmaster.internal/ubuntu noble/universe s390x python3-execnet all 2.0.0-2 [33.6 kB]
213s Get:68 http://ftpmaster.internal/ubuntu noble/universe s390x python3-fastjsonschema all 2.19.0-1 [19.6 kB]
213s Get:69 http://ftpmaster.internal/ubuntu noble/universe s390x python3-filelock all 3.13.1-1 [10.8 kB]
213s Get:70 http://ftpmaster.internal/ubuntu noble/universe s390x python3-httpretty all 1.1.4-4 [23.1 kB]
213s Get:71 http://ftpmaster.internal/ubuntu noble/universe s390x python3-iniconfig all 1.1.1-2 [6024 B]
213s Get:72 http://ftpmaster.internal/ubuntu noble/universe s390x python3-installer all 0.7.0+dfsg1-2 [18.1 kB]
213s Get:73 http://ftpmaster.internal/ubuntu noble/universe s390x python3-lockfile all 1:0.12.2-3 [13.7 kB]
213s Get:74 http://ftpmaster.internal/ubuntu noble/main s390x python3-ptyprocess all 0.7.0-5 [15.1 kB]
213s Get:75 http://ftpmaster.internal/ubuntu noble/main s390x python3-pexpect all 4.9-2 [48.1 kB]
213s Get:76 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pip-whl all 24.0+dfsg-1 [1702 kB]
213s Get:77 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pkginfo all 1.9.6-1 [15.7 kB]
213s Get:78 http://ftpmaster.internal/ubuntu noble/universe s390x python3-platformdirs all 4.2.0-1 [16.1 kB]
213s Get:79 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pluggy all 1.4.0-1 [20.4 kB]
213s Get:80 http://ftpmaster.internal/ubuntu noble/universe s390x python3-poetry-core all 1.9.0-1 [203 kB]
213s Get:81 http://ftpmaster.internal/ubuntu noble/main s390x python3-requests-toolbelt all 1.0.0-2 [36.7 kB]
213s Get:82 http://ftpmaster.internal/ubuntu noble/universe s390x python3-shellingham all 1.5.4-1 [9482 B]
213s Get:83 http://ftpmaster.internal/ubuntu noble/universe s390x python3-tomlkit all 0.12.4-1 [37.5 kB]
213s Get:84 http://ftpmaster.internal/ubuntu noble/universe s390x python3-trove-classifiers all 2024.1.31-1 [10.4 kB]
213s Get:85 http://ftpmaster.internal/ubuntu noble/universe s390x python3-setuptools-whl all 68.1.2-2 [715 kB]
213s Get:86 http://ftpmaster.internal/ubuntu noble/universe s390x python3-wheel-whl all 0.42.0-1 [67.8 kB]
213s Get:87 http://ftpmaster.internal/ubuntu noble/universe s390x python3-virtualenv all 20.25.0+ds-1 [70.7 kB]
213s Get:88 http://ftpmaster.internal/ubuntu noble/universe s390x python3-poetry all 1.7.1+dfsg-1 [138 kB]
213s Get:89 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest all 7.4.4-1 [305 kB]
213s Get:90 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest-mock all 3.12.0-1.1 [11.3 kB]
213s Get:91 http://ftpmaster.internal/ubuntu noble/universe s390x python3-pytest-xdist all 3.4.0-1 [32.0 kB]
213s Get:92 http://ftpmaster.internal/ubuntu noble/universe s390x python3.12-venv s390x 3.12.2-1 [5670 B]
213s Get:93 http://ftpmaster.internal/ubuntu noble/universe s390x python3-venv s390x 3.12.1-0ubuntu2 [1046 B]
213s Get:94 http://ftpmaster.internal/ubuntu noble/universe s390x python3.11-venv s390x 3.11.8-1 [5740 B]
214s Fetched 75.0 MB in 10s (7483 kB/s)
214s Selecting previously unselected package libpython3.11-minimal:s390x.
214s (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 51331 files and directories currently installed.)
214s Preparing to unpack .../00-libpython3.11-minimal_3.11.8-1_s390x.deb ...
214s Unpacking libpython3.11-minimal:s390x (3.11.8-1) ...
214s Selecting previously unselected package python3.11-minimal.
214s Preparing to unpack .../01-python3.11-minimal_3.11.8-1_s390x.deb ...
214s Unpacking python3.11-minimal (3.11.8-1) ...
214s Selecting previously unselected package gcc-13-base:s390x.
214s Preparing to unpack .../02-gcc-13-base_13.2.0-17ubuntu2_s390x.deb ...
214s Unpacking gcc-13-base:s390x (13.2.0-17ubuntu2) ...
214s Selecting previously unselected package libpython3.11-stdlib:s390x.
214s Preparing to unpack .../03-libpython3.11-stdlib_3.11.8-1_s390x.deb ...
214s Unpacking libpython3.11-stdlib:s390x (3.11.8-1) ...
215s Selecting previously unselected package python3.11.
215s Preparing to unpack .../04-python3.11_3.11.8-1_s390x.deb ...
215s Unpacking python3.11 (3.11.8-1) ...
215s Selecting previously unselected package libisl23:s390x.
215s Preparing to unpack .../05-libisl23_0.26-3_s390x.deb ...
215s Unpacking libisl23:s390x (0.26-3) ...
215s Selecting previously unselected package libmpc3:s390x.
215s Preparing to unpack .../06-libmpc3_1.3.1-1_s390x.deb ...
215s Unpacking libmpc3:s390x (1.3.1-1) ...
215s Selecting previously unselected package cpp-13-s390x-linux-gnu.
215s Preparing to unpack .../07-cpp-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ...
215s Unpacking cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ...
215s Selecting previously unselected package cpp-13.
215s Preparing to unpack .../08-cpp-13_13.2.0-17ubuntu2_s390x.deb ...
215s Unpacking cpp-13 (13.2.0-17ubuntu2) ...
215s Selecting previously unselected package cpp-s390x-linux-gnu.
215s Preparing to unpack .../09-cpp-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ...
215s Unpacking cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ...
215s Selecting previously unselected package cpp.
215s Preparing to unpack .../10-cpp_4%3a13.2.0-7ubuntu1_s390x.deb ...
215s Unpacking cpp (4:13.2.0-7ubuntu1) ...
215s Selecting previously unselected package libcc1-0:s390x.
215s Preparing to unpack .../11-libcc1-0_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libcc1-0:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libgomp1:s390x.
215s Preparing to unpack .../12-libgomp1_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libgomp1:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libitm1:s390x.
215s Preparing to unpack .../13-libitm1_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libitm1:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libatomic1:s390x.
215s Preparing to unpack .../14-libatomic1_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libatomic1:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libasan8:s390x.
215s Preparing to unpack .../15-libasan8_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libasan8:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libubsan1:s390x.
215s Preparing to unpack .../16-libubsan1_14-20240303-1ubuntu1_s390x.deb ...
215s Unpacking libubsan1:s390x (14-20240303-1ubuntu1) ...
215s Selecting previously unselected package libgcc-13-dev:s390x.
215s Preparing to unpack .../17-libgcc-13-dev_13.2.0-17ubuntu2_s390x.deb ...
215s Unpacking libgcc-13-dev:s390x (13.2.0-17ubuntu2) ...
215s Selecting previously unselected package gcc-13-s390x-linux-gnu.
215s Preparing to unpack .../18-gcc-13-s390x-linux-gnu_13.2.0-17ubuntu2_s390x.deb ...
215s Unpacking gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ...
216s Selecting previously unselected package gcc-13.
216s Preparing to unpack .../19-gcc-13_13.2.0-17ubuntu2_s390x.deb ...
216s Unpacking gcc-13 (13.2.0-17ubuntu2) ...
216s Selecting previously unselected package gcc-s390x-linux-gnu.
216s Preparing to unpack .../20-gcc-s390x-linux-gnu_4%3a13.2.0-7ubuntu1_s390x.deb ...
216s Unpacking gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ...
216s Selecting previously unselected package gcc.
216s Preparing to unpack .../21-gcc_4%3a13.2.0-7ubuntu1_s390x.deb ...
216s Unpacking gcc (4:13.2.0-7ubuntu1) ...
216s Selecting previously unselected package liberror-perl.
216s Preparing to unpack .../22-liberror-perl_0.17029-2_all.deb ...
216s Unpacking liberror-perl (0.17029-2) ...
216s Selecting previously unselected package git-man.
216s Preparing to unpack .../23-git-man_1%3a2.43.0-1ubuntu1_all.deb ...
216s Unpacking git-man (1:2.43.0-1ubuntu1) ...
216s Selecting previously unselected package git.
216s Preparing to unpack .../24-git_1%3a2.43.0-1ubuntu1_s390x.deb ...
216s Unpacking git (1:2.43.0-1ubuntu1) ...
216s Selecting previously unselected package libblas3:s390x.
216s Preparing to unpack .../25-libblas3_3.12.0-3_s390x.deb ...
216s Unpacking libblas3:s390x (3.12.0-3) ...
216s Selecting previously unselected package libc-dev-bin.
216s Preparing to unpack .../26-libc-dev-bin_2.39-0ubuntu2_s390x.deb ...
216s Unpacking libc-dev-bin (2.39-0ubuntu2) ...
216s Selecting previously unselected package linux-libc-dev:s390x.
216s Preparing to unpack .../27-linux-libc-dev_6.8.0-11.11_s390x.deb ...
216s Unpacking linux-libc-dev:s390x (6.8.0-11.11) ...
216s Selecting previously unselected package libcrypt-dev:s390x.
216s Preparing to unpack .../28-libcrypt-dev_1%3a4.4.36-4_s390x.deb ...
216s Unpacking libcrypt-dev:s390x (1:4.4.36-4) ...
216s Selecting previously unselected package libtirpc-dev:s390x.
216s Preparing to unpack .../29-libtirpc-dev_1.3.4+ds-1build1_s390x.deb ...
216s Unpacking libtirpc-dev:s390x (1.3.4+ds-1build1) ...
216s Selecting previously unselected package libnsl-dev:s390x.
216s Preparing to unpack .../30-libnsl-dev_1.3.0-3_s390x.deb ...
216s Unpacking libnsl-dev:s390x (1.3.0-3) ...
216s Selecting previously unselected package rpcsvc-proto.
216s Preparing to unpack .../31-rpcsvc-proto_1.4.2-0ubuntu6_s390x.deb ...
216s Unpacking rpcsvc-proto (1.4.2-0ubuntu6) ...
216s Selecting previously unselected package libc6-dev:s390x.
216s Preparing to unpack .../32-libc6-dev_2.39-0ubuntu2_s390x.deb ...
216s Unpacking libc6-dev:s390x (2.39-0ubuntu2) ...
216s Selecting previously unselected package libexpat1-dev:s390x.
216s Preparing to unpack .../33-libexpat1-dev_2.6.0-1_s390x.deb ...
216s Unpacking libexpat1-dev:s390x (2.6.0-1) ...
216s Selecting previously unselected package libgfortran5:s390x.
216s Preparing to unpack .../34-libgfortran5_14-20240303-1ubuntu1_s390x.deb ...
216s Unpacking libgfortran5:s390x (14-20240303-1ubuntu1) ...
216s Selecting previously unselected package libjs-jquery.
216s Preparing to unpack .../35-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ...
216s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
217s Selecting previously unselected package libjs-underscore.
217s Preparing to unpack .../36-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ...
217s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
217s Selecting previously unselected package libjs-sphinxdoc.
217s Preparing to unpack .../37-libjs-sphinxdoc_7.2.6-4_all.deb ...
217s Unpacking libjs-sphinxdoc (7.2.6-4) ...
217s Selecting previously unselected package liblapack3:s390x.
217s Preparing to unpack .../38-liblapack3_3.12.0-3_s390x.deb ...
217s Unpacking liblapack3:s390x (3.12.0-3) ...
217s Selecting previously unselected package libpython3.12:s390x.
217s Preparing to unpack .../39-libpython3.12_3.12.2-1_s390x.deb ...
217s Unpacking libpython3.12:s390x (3.12.2-1) ...
217s Selecting previously unselected package zlib1g-dev:s390x.
217s Preparing to unpack .../40-zlib1g-dev_1%3a1.3.dfsg-3ubuntu1_s390x.deb ...
217s Unpacking zlib1g-dev:s390x (1:1.3.dfsg-3ubuntu1) ...
217s Selecting previously unselected package libpython3.12-dev:s390x.
217s Preparing to unpack .../41-libpython3.12-dev_3.12.2-1_s390x.deb ...
217s Unpacking libpython3.12-dev:s390x (3.12.2-1) ...
217s Selecting previously unselected package libpython3-dev:s390x.
217s Preparing to unpack .../42-libpython3-dev_3.12.1-0ubuntu2_s390x.deb ...
217s Unpacking libpython3-dev:s390x (3.12.1-0ubuntu2) ...
217s Selecting previously unselected package libpython3-all-dev:s390x.
217s Preparing to unpack .../43-libpython3-all-dev_3.12.1-0ubuntu2_s390x.deb ...
217s Unpacking libpython3-all-dev:s390x (3.12.1-0ubuntu2) ...
217s Selecting previously unselected package python3-all.
217s Preparing to unpack .../44-python3-all_3.12.1-0ubuntu2_s390x.deb ...
217s Unpacking python3-all (3.12.1-0ubuntu2) ...
217s Selecting previously unselected package python3.12-dev.
217s Preparing to unpack .../45-python3.12-dev_3.12.2-1_s390x.deb ...
217s Unpacking python3.12-dev (3.12.2-1) ...
217s Selecting previously unselected package python3-dev.
217s Preparing to unpack .../46-python3-dev_3.12.1-0ubuntu2_s390x.deb ...
217s Unpacking python3-dev (3.12.1-0ubuntu2) ...
217s Selecting previously unselected package python3-all-dev.
217s Preparing to unpack .../47-python3-all-dev_3.12.1-0ubuntu2_s390x.deb ...
217s Unpacking python3-all-dev (3.12.1-0ubuntu2) ...
217s Selecting previously unselected package python3-packaging.
217s Preparing to unpack .../48-python3-packaging_23.2-1_all.deb ...
217s Unpacking python3-packaging (23.2-1) ...
217s Selecting previously unselected package python3-pyproject-hooks.
217s Preparing to unpack .../49-python3-pyproject-hooks_1.0.0-2_all.deb ...
217s Unpacking python3-pyproject-hooks (1.0.0-2) ...
217s Selecting previously unselected package python3-toml.
217s Preparing to unpack .../50-python3-toml_0.10.2-1_all.deb ...
217s Unpacking python3-toml (0.10.2-1) ...
217s Selecting previously unselected package python3-wheel.
217s Preparing to unpack .../51-python3-wheel_0.42.0-1_all.deb ...
217s Unpacking python3-wheel (0.42.0-1) ...
217s Selecting previously unselected package python3-build.
217s Preparing to unpack .../52-python3-build_1.0.3-2_all.deb ...
217s Unpacking python3-build (1.0.3-2) ...
217s Selecting previously unselected package python3-msgpack.
217s Preparing to unpack .../53-python3-msgpack_1.0.3-3build1_s390x.deb ...
217s Unpacking python3-msgpack (1.0.3-3build1) ...
217s Selecting previously unselected package python3-cachecontrol.
217s Preparing to unpack .../54-python3-cachecontrol_0.14.0-1_all.deb ...
217s Unpacking python3-cachecontrol (0.14.0-1) ...
217s Selecting previously unselected package python3-cachy.
217s Preparing to unpack .../55-python3-cachy_0.3.0-4_all.deb ...
217s Unpacking python3-cachy (0.3.0-4) ...
217s Selecting previously unselected package python3-crashtest.
217s Preparing to unpack .../56-python3-crashtest_0.4.1-1_all.deb ...
217s Unpacking python3-crashtest (0.4.1-1) ...
217s Selecting previously unselected package python3-pylev.
217s Preparing to unpack .../57-python3-pylev_1.4.0-1_all.deb ...
217s Unpacking python3-pylev (1.4.0-1) ...
217s Selecting previously unselected package python3-cleo.
217s Preparing to unpack .../58-python3-cleo_2.1.0-2_all.deb ...
217s Unpacking python3-cleo (2.1.0-2) ...
217s Selecting previously unselected package python3-jsonpickle.
217s Preparing to unpack .../59-python3-jsonpickle_3.0.3+dfsg-1_all.deb ...
217s Unpacking python3-jsonpickle (3.0.3+dfsg-1) ...
218s Selecting previously unselected package python3-numpy.
218s Preparing to unpack .../60-python3-numpy_1%3a1.24.2-2_s390x.deb ...
218s Unpacking python3-numpy (1:1.24.2-2) ...
218s Selecting previously unselected package python3-ordered-set.
218s Preparing to unpack .../61-python3-ordered-set_4.1.0-1_all.deb ...
218s Unpacking python3-ordered-set (4.1.0-1) ...
218s Selecting previously unselected package python3-deepdiff.
218s Preparing to unpack .../62-python3-deepdiff_6.7.1-1_all.deb ...
218s Unpacking python3-deepdiff (6.7.1-1) ...
218s Selecting previously unselected package python3-distlib.
218s Preparing to unpack .../63-python3-distlib_0.3.8-1_all.deb ...
218s Unpacking python3-distlib (0.3.8-1) ...
218s Selecting previously unselected package python3-dulwich.
218s Preparing to unpack .../64-python3-dulwich_0.21.6-1build1_s390x.deb ...
218s Unpacking python3-dulwich (0.21.6-1build1) ...
218s Selecting previously unselected package python3-execnet.
218s Preparing to unpack .../65-python3-execnet_2.0.0-2_all.deb ...
218s Unpacking python3-execnet (2.0.0-2) ...
218s Selecting previously unselected package python3-fastjsonschema.
218s Preparing to unpack .../66-python3-fastjsonschema_2.19.0-1_all.deb ...
218s Unpacking python3-fastjsonschema (2.19.0-1) ...
218s Selecting previously unselected package python3-filelock.
218s Preparing to unpack .../67-python3-filelock_3.13.1-1_all.deb ...
218s Unpacking python3-filelock (3.13.1-1) ...
218s Selecting previously unselected package python3-httpretty.
218s Preparing to unpack .../68-python3-httpretty_1.1.4-4_all.deb ...
218s Unpacking python3-httpretty (1.1.4-4) ...
218s Selecting previously unselected package python3-iniconfig.
218s Preparing to unpack .../69-python3-iniconfig_1.1.1-2_all.deb ...
218s Unpacking python3-iniconfig (1.1.1-2) ...
218s Selecting previously unselected package python3-installer.
218s Preparing to unpack .../70-python3-installer_0.7.0+dfsg1-2_all.deb ...
218s Unpacking python3-installer (0.7.0+dfsg1-2) ...
218s Selecting previously unselected package python3-lockfile.
218s Preparing to unpack .../71-python3-lockfile_1%3a0.12.2-3_all.deb ...
218s Unpacking python3-lockfile (1:0.12.2-3) ...
218s Selecting previously unselected package python3-ptyprocess.
218s Preparing to unpack .../72-python3-ptyprocess_0.7.0-5_all.deb ...
218s Unpacking python3-ptyprocess (0.7.0-5) ...
218s Selecting previously unselected package python3-pexpect.
218s Preparing to unpack .../73-python3-pexpect_4.9-2_all.deb ...
218s Unpacking python3-pexpect (4.9-2) ...
218s Selecting previously unselected package python3-pip-whl.
218s Preparing to unpack .../74-python3-pip-whl_24.0+dfsg-1_all.deb ...
218s Unpacking python3-pip-whl (24.0+dfsg-1) ...
218s Selecting previously unselected package python3-pkginfo.
218s Preparing to unpack .../75-python3-pkginfo_1.9.6-1_all.deb ...
218s Unpacking python3-pkginfo (1.9.6-1) ...
218s Selecting previously unselected package python3-platformdirs.
218s Preparing to unpack .../76-python3-platformdirs_4.2.0-1_all.deb ...
218s Unpacking python3-platformdirs (4.2.0-1) ...
218s Selecting previously unselected package python3-pluggy.
218s Preparing to unpack .../77-python3-pluggy_1.4.0-1_all.deb ...
218s Unpacking python3-pluggy (1.4.0-1) ...
218s Selecting previously unselected package python3-poetry-core.
218s Preparing to unpack .../78-python3-poetry-core_1.9.0-1_all.deb ...
218s Unpacking python3-poetry-core (1.9.0-1) ...
218s Selecting previously unselected package python3-requests-toolbelt.
218s Preparing to unpack .../79-python3-requests-toolbelt_1.0.0-2_all.deb ...
218s Unpacking python3-requests-toolbelt (1.0.0-2) ...
218s Selecting previously unselected package python3-shellingham.
218s Preparing to unpack .../80-python3-shellingham_1.5.4-1_all.deb ...
218s Unpacking python3-shellingham (1.5.4-1) ...
218s Selecting previously unselected package python3-tomlkit.
218s Preparing to unpack .../81-python3-tomlkit_0.12.4-1_all.deb ...
218s Unpacking python3-tomlkit (0.12.4-1) ...
218s Selecting previously unselected package python3-trove-classifiers.
218s Preparing to unpack .../82-python3-trove-classifiers_2024.1.31-1_all.deb ...
218s Unpacking python3-trove-classifiers (2024.1.31-1) ...
218s Selecting previously unselected package python3-setuptools-whl.
218s Preparing to unpack .../83-python3-setuptools-whl_68.1.2-2_all.deb ...
218s Unpacking python3-setuptools-whl (68.1.2-2) ...
218s Selecting previously unselected package python3-wheel-whl.
218s Preparing to unpack .../84-python3-wheel-whl_0.42.0-1_all.deb ...
218s Unpacking python3-wheel-whl (0.42.0-1) ...
218s Selecting previously unselected package python3-virtualenv.
218s Preparing to unpack .../85-python3-virtualenv_20.25.0+ds-1_all.deb ...
218s Unpacking python3-virtualenv (20.25.0+ds-1) ...
218s Selecting previously unselected package python3-poetry.
218s Preparing to unpack .../86-python3-poetry_1.7.1+dfsg-1_all.deb ...
218s Unpacking python3-poetry (1.7.1+dfsg-1) ...
218s Selecting previously unselected package python3-pytest.
218s Preparing to unpack .../87-python3-pytest_7.4.4-1_all.deb ...
218s Unpacking python3-pytest (7.4.4-1) ...
218s Selecting previously unselected package python3-pytest-mock.
218s Preparing to unpack .../88-python3-pytest-mock_3.12.0-1.1_all.deb ...
218s Unpacking python3-pytest-mock (3.12.0-1.1) ...
218s Selecting previously unselected package python3-pytest-xdist.
218s Preparing to unpack .../89-python3-pytest-xdist_3.4.0-1_all.deb ...
218s Unpacking python3-pytest-xdist (3.4.0-1) ...
218s Selecting previously unselected package python3.12-venv.
218s Preparing to unpack .../90-python3.12-venv_3.12.2-1_s390x.deb ...
218s Unpacking python3.12-venv (3.12.2-1) ...
219s Selecting previously unselected package python3-venv.
219s Preparing to unpack .../91-python3-venv_3.12.1-0ubuntu2_s390x.deb ...
219s Unpacking python3-venv (3.12.1-0ubuntu2) ...
219s Selecting previously unselected package python3.11-venv.
219s Preparing to unpack .../92-python3.11-venv_3.11.8-1_s390x.deb ...
219s Unpacking python3.11-venv (3.11.8-1) ...
219s Selecting previously unselected package autopkgtest-satdep.
219s Preparing to unpack .../93-1-autopkgtest-satdep.deb ...
219s Unpacking autopkgtest-satdep (0) ...
219s Setting up python3-iniconfig (1.1.1-2) ...
219s Setting up python3-lockfile (1:0.12.2-3) ...
219s Setting up python3-httpretty (1.1.4-4) ...
219s Setting up python3-setuptools-whl (68.1.2-2) ...
219s Setting up python3-filelock (3.13.1-1) ...
219s Setting up python3-jsonpickle (3.0.3+dfsg-1) ...
219s Setting up python3-requests-toolbelt (1.0.0-2) ...
220s Setting up python3-pkginfo (1.9.6-1) ...
220s Setting up python3-pip-whl (24.0+dfsg-1) ...
220s Setting up python3-pylev (1.4.0-1) ...
220s Setting up linux-libc-dev:s390x (6.8.0-11.11) ...
220s Setting up python3-all (3.12.1-0ubuntu2) ...
220s Setting up python3-ordered-set (4.1.0-1) ...
220s Setting up python3-distlib (0.3.8-1) ...
220s Setting up libgomp1:s390x (14-20240303-1ubuntu1) ...
220s Setting up python3-wheel (0.42.0-1) ...
220s Setting up python3-platformdirs (4.2.0-1) ...
221s Setting up liberror-perl (0.17029-2) ...
221s Setting up libblas3:s390x (3.12.0-3) ...
221s update-alternatives: using /usr/lib/s390x-linux-gnu/blas/libblas.so.3 to provide /usr/lib/s390x-linux-gnu/libblas.so.3 (libblas.so.3-s390x-linux-gnu) in auto mode
221s Setting up python3-packaging (23.2-1) ...
221s Setting up libtirpc-dev:s390x (1.3.4+ds-1build1) ...
221s Setting up rpcsvc-proto (1.4.2-0ubuntu6) ...
221s Setting up gcc-13-base:s390x (13.2.0-17ubuntu2) ...
221s Setting up python3-pyproject-hooks (1.0.0-2) ...
221s Setting up python3-poetry-core (1.9.0-1) ...
221s Setting up python3-crashtest (0.4.1-1) ...
221s Setting up libmpc3:s390x (1.3.1-1) ...
221s Setting up libatomic1:s390x (14-20240303-1ubuntu1) ...
221s Setting up python3-toml (0.10.2-1) ...
221s Setting up python3-installer (0.7.0+dfsg1-2) ...
222s Setting up libgfortran5:s390x (14-20240303-1ubuntu1) ...
222s Setting up python3-pluggy (1.4.0-1) ...
222s Setting up libubsan1:s390x (14-20240303-1ubuntu1) ...
222s Setting up python3-fastjsonschema (2.19.0-1) ...
222s Setting up libnsl-dev:s390x (1.3.0-3) ...
222s Setting up python3-trove-classifiers (2024.1.31-1) ...
222s Setting up python3-dulwich (0.21.6-1build1) ...
222s Setting up libcrypt-dev:s390x (1:4.4.36-4) ...
222s Setting up libasan8:s390x (14-20240303-1ubuntu1) ...
222s Setting up python3-cachy (0.3.0-4) ...
223s Setting up python3-cleo (2.1.0-2) ...
223s Setting up git-man (1:2.43.0-1ubuntu1) ...
223s Setting up python3-msgpack (1.0.3-3build1) ...
223s Setting up libpython3.11-minimal:s390x (3.11.8-1) ...
223s Setting up python3-cachecontrol (0.14.0-1) ...
223s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ...
223s Setting up libisl23:s390x (0.26-3) ...
223s Setting up python3-build (1.0.3-2) ...
223s Setting up libc-dev-bin (2.39-0ubuntu2) ...
223s Setting up python3-execnet (2.0.0-2) ...
223s Setting up python3-shellingham (1.5.4-1) ...
224s Setting up python3-tomlkit (0.12.4-1) ...
224s Setting up python3-wheel-whl (0.42.0-1) ...
224s Setting up libpython3.12:s390x (3.12.2-1) ...
224s Setting up libcc1-0:s390x (14-20240303-1ubuntu1) ...
224s Setting up libitm1:s390x (14-20240303-1ubuntu1) ...
224s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ...
224s Setting up python3-ptyprocess (0.7.0-5) ...
224s Setting up python3.11-minimal (3.11.8-1) ...
225s Setting up liblapack3:s390x (3.12.0-3) ...
225s update-alternatives: using /usr/lib/s390x-linux-gnu/lapack/liblapack.so.3 to provide /usr/lib/s390x-linux-gnu/liblapack.so.3 (liblapack.so.3-s390x-linux-gnu) in auto mode
225s Setting up python3.12-venv (3.12.2-1) ...
225s Setting up python3-pytest (7.4.4-1) ...
225s Setting up libpython3.11-stdlib:s390x (3.11.8-1) ...
225s Setting up python3-virtualenv (20.25.0+ds-1) ...
225s Setting up cpp-13-s390x-linux-gnu (13.2.0-17ubuntu2) ...
225s Setting up python3-venv (3.12.1-0ubuntu2) ...
225s Setting up python3-pexpect (4.9-2) ...
225s Setting up git (1:2.43.0-1ubuntu1) ...
225s Setting up libjs-sphinxdoc (7.2.6-4) ...
225s Setting up python3-pytest-mock (3.12.0-1.1) ...
226s Setting up libgcc-13-dev:s390x (13.2.0-17ubuntu2) ...
226s Setting up libc6-dev:s390x (2.39-0ubuntu2) ...
226s Setting up python3.11 (3.11.8-1) ...
227s Setting up python3-pytest-xdist (3.4.0-1) ...
227s Setting up cpp-13 (13.2.0-17ubuntu2) ...
227s Setting up cpp-s390x-linux-gnu (4:13.2.0-7ubuntu1) ...
227s Setting up libexpat1-dev:s390x (2.6.0-1) ...
227s Setting up gcc-13-s390x-linux-gnu (13.2.0-17ubuntu2) ...
227s Setting up gcc-s390x-linux-gnu (4:13.2.0-7ubuntu1) ...
227s Setting up python3.11-venv (3.11.8-1) ...
227s Setting up python3-poetry (1.7.1+dfsg-1) ...
227s Setting up gcc-13 (13.2.0-17ubuntu2) ...
227s Setting up python3-numpy (1:1.24.2-2) ...
229s Setting up zlib1g-dev:s390x (1:1.3.dfsg-3ubuntu1) ...
229s Setting up cpp (4:13.2.0-7ubuntu1) ...
229s Setting up python3-deepdiff (6.7.1-1) ...
230s Setting up libpython3.12-dev:s390x (3.12.2-1) ...
230s Setting up gcc (4:13.2.0-7ubuntu1) ...
230s Setting up python3.12-dev (3.12.2-1) ...
230s Setting up libpython3-dev:s390x (3.12.1-0ubuntu2) ...
230s Setting up libpython3-all-dev:s390x (3.12.1-0ubuntu2) ...
230s Setting up python3-dev (3.12.1-0ubuntu2) ...
230s Setting up python3-all-dev (3.12.1-0ubuntu2) ...
230s Setting up autopkgtest-satdep (0) ...
230s Processing triggers for systemd (255.2-3ubuntu2) ...
230s Processing triggers for man-db (2.12.0-3) ...
230s Processing triggers for libc-bin (2.39-0ubuntu2) ...
234s (Reading database ... 58136 files and directories currently installed.)
234s Removing autopkgtest-satdep (0) ...
235s autopkgtest [23:02:42]: test pytest: [-----------------------
235s + cp -r tests /tmp/autopkgtest.ATeZkA/autopkgtest_tmp
235s + cp pyproject.toml /tmp/autopkgtest.ATeZkA/autopkgtest_tmp
235s + cd /tmp/autopkgtest.ATeZkA/autopkgtest_tmp
235s + py3versions -s
235s + python3.12 -m pytest --ignore=tests/console/commands/env/test_list.py --ignore=tests/console/commands/env/test_remove.py --ignore=tests/console/commands/env/test_use.py --ignore=tests/utils/test_env.py --ignore=tests/config/test_config.py --ignore=tests/utils/test_helpers.py -k not test_self_update_should_install_all_necessary_elements and not test_add_file_constraint_sdist and not test_add_file_constraint_sdist_old_installer and not test_publish_dry_run and not test_info_from_sdist and not test_installer_can_install_dependencies_from_forced_source and not test_search_for_file_sdist and not test_search_for_file_sdist_with_extras and not test_solver_can_resolve_sdist_dependencies and not test_solver_can_resolve_sdist_dependencies_with_extras and not test_solver_chooses_from_correct_repository_if_forced and not test_solver_chooses_from_correct_repository_if_forced_and_transitive_dependency and not test_solver_does_not_choose_from_secondary_repository_by_default and not test_solver_chooses_from_secondary_if_explicit and not test_get_package_information_fallback_read_setup and not test_get_package_information_skips_dependencies_with_invalid_constraints and not test_get_package_retrieves_packages_with_no_hashes and not test_fallback_can_read_setup_to_get_dependencies and not test_exporter_can_export_requirements_txt_with_file_packages and not test_exporter_can_export_requirements_txt_with_file_packages_and_markers and not test_lock_no_update and not test_locker_dumps_dependency_information_correctly and not test_package_partial_yank and not test_run_installs_with_same_version_url_files and not test_env_info_displays_complete_info and not test_skip_existing_output and not test_installer_should_use_the_locked_version_of_git_dependencies_with_extras and not test_installer_should_use_the_locked_version_of_git_dependencies_without_reference and not test_installer_uses_prereleases_if_they_are_compatible and not test_requirement_git_subdirectory and not test_check_valid and not test_check_invalid and not test_packages_property_returns_empty_list and not test_parse_dependency_specification and not test_info_setup_missing_mandatory_should_trigger_pep517 and not test_uninstall_git_package_nspkg_pth_cleanup and not test_executor_should_write_pep610_url_references_for_directories and not test_executor_should_write_pep610_url_references_for_git and not test_executor_should_write_pep610_url_references_for_git_with_subdirectories and not test_builder_setup_generation_runs_with_pip_editable and not test_executor_should_write_pep610_url_references_for_non_wheel_urls and not test_executor_should_write_pep610_url_references_for_non_wheel_files and not test_prepare_sdist and not test_shell and not test_chooser_md5_remote_fallback_to_sha256_inline_calculation and not test_solver_ignores_explicit_repo_for_transient_dependencies and not test_export_prints_warning and not test_disable_export_warning and not test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess and not test_build_backend_errors_are_reported_correctly_if_caused_by_subprocess_encoding and not test_isolated_env_install_success and not test_isolated_env_install_error and not test_isolated_env_install_failure and not test_application_with_plugins and not test_build_system_requires_not_available and not test_build_system_requires_install_failure and not test_installer_with_pypi_repository and not test_prepare_directory and not test_prepare_directory_with_extensions and not test_prepare_directory_editable and not test_prepare_directory_script -v
240s ============================= test session starts ==============================
240s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12
240s cachedir: .pytest_cache
240s rootdir: /tmp/autopkgtest.ATeZkA/autopkgtest_tmp
240s configfile: pyproject.toml
240s testpaths: tests
240s plugins: xdist-3.4.0, mock-3.12.0
240s created: 1/1 worker
240s 1 worker [1195 items]
240s
240s scheduling tests via LoadScheduling
240s
240s tests/test_factory.py::test_create_poetry
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry
240s tests/test_factory.py::test_create_pyproject_from_package[simple_project]
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[simple_project]
240s tests/test_factory.py::test_create_pyproject_from_package[project_with_extras]
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_pyproject_from_package[project_with_extras]
240s tests/test_factory.py::test_create_poetry_with_packages_and_includes
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_packages_and_includes
240s tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_create_poetry_with_multi_constraints_dependency
240s tests/test_factory.py::test_poetry_with_default_source_legacy
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_legacy
240s tests/test_factory.py::test_poetry_with_default_source
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source
240s tests/test_factory.py::test_poetry_with_default_source_and_pypi
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_and_pypi
240s tests/test_factory.py::test_poetry_with_default_source_pypi
240s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_default_source_pypi
241s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit]
241s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_implicit]
241s tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit]
241s [gw0] [ 0%] PASSED tests/test_factory.py::test_poetry_with_non_default_source[with_non_default_source_explicit]
241s tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source_legacy
241s tests/test_factory.py::test_poetry_with_non_default_secondary_source
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_secondary_source
241s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources_legacy
241s tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_secondary_sources
241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_legacy
241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources
241s tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_non_default_multiple_sources_pypi
241s tests/test_factory.py::test_poetry_with_no_default_source
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_no_default_source
241s tests/test_factory.py::test_poetry_with_supplemental_source
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_supplemental_source
241s tests/test_factory.py::test_poetry_with_explicit_source
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_source
241s tests/test_factory.py::test_poetry_with_explicit_pypi_and_other
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_explicit_pypi_and_other
241s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other]
241s [gw0] [ 1%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_no_other]
241s tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit]
241s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_pypi_explicit_only[with_explicit_pypi_and_other_explicit]
242s tests/test_factory.py::test_poetry_with_two_default_sources_legacy
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources_legacy
242s tests/test_factory.py::test_poetry_with_two_default_sources
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_poetry_with_two_default_sources
242s tests/test_factory.py::test_validate
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate
242s tests/test_factory.py::test_validate_fails
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_validate_fails
242s tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration
242s [gw0] [ 2%] FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration
242s tests/test_factory.py::test_create_poetry_with_local_config
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_local_config
242s tests/test_factory.py::test_create_poetry_with_plugins
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_poetry_with_plugins
242s tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.]
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source0-Missing [name] in source.]
242s tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.]
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source1-Missing [url] in source 'foo'.]
242s tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.]
242s [gw0] [ 2%] PASSED tests/test_factory.py::test_create_package_source_invalid[source2-The PyPI repository cannot be configured with a custom url.]
242s tests/test_helpers.py::test_flatten_dict
242s [gw0] [ 2%] PASSED tests/test_helpers.py::test_flatten_dict
242s tests/console/test_application.py::test_application_execute_plugin_command
242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command
242s tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled
242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_execute_plugin_command_with_plugins_disabled
242s tests/console/test_application.py::test_application_verify_source_cache_flag[True]
242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[True]
242s tests/console/test_application.py::test_application_verify_source_cache_flag[False]
242s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_source_cache_flag[False]
257s tests/console/test_application.py::test_application_verify_cache_flag_at_install[True]
257s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[True]
272s tests/console/test_application.py::test_application_verify_cache_flag_at_install[False]
272s [gw0] [ 3%] PASSED tests/console/test_application.py::test_application_verify_cache_flag_at_install[False]
272s tests/console/commands/test_about.py::test_about
272s [gw0] [ 3%] PASSED tests/console/commands/test_about.py::test_about
272s tests/console/commands/test_add.py::test_add_no_constraint
272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint
272s tests/console/commands/test_add.py::test_add_replace_by_constraint
272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_replace_by_constraint
272s tests/console/commands/test_add.py::test_add_no_constraint_editable_error
272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_no_constraint_editable_error
272s tests/console/commands/test_add.py::test_add_equal_constraint
272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_equal_constraint
272s tests/console/commands/test_add.py::test_add_greater_constraint
272s [gw0] [ 3%] PASSED tests/console/commands/test_add.py::test_add_greater_constraint
272s tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack]
272s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[msgpack]
272s tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack]
272s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras[MsgPack]
273s tests/console/commands/test_add.py::test_add_constraint_dependencies
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_constraint_dependencies
273s tests/console/commands/test_add.py::test_add_git_constraint
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint
273s tests/console/commands/test_add.py::test_add_git_constraint_with_poetry
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_poetry
273s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo]
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[foo]
273s tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO]
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_extras[FOO]
273s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git#subdirectory=two-None]
273s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git#subdirectory=two-None]
274s tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git@master#subdirectory=two-master]
274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_constraint_with_subdirectory[git+https://github.com/demo/subdirectories.git@master#subdirectory=two-master]
274s tests/console/commands/test_add.py::test_add_git_ssh_constraint[False]
274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[False]
274s tests/console/commands/test_add.py::test_add_git_ssh_constraint[True]
274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_git_ssh_constraint[True]
274s tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0]
274s [gw0] [ 4%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[False-required_fixtures0]
274s tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0]
274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_constraint[True-required_fixtures0]
274s tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0]
274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_directory_with_poetry[required_fixtures0]
274s tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0]
274s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_file_constraint_wheel[required_fixtures0]
275s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack]
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[msgpack]
275s tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack]
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_extras_option[MsgPack]
275s tests/console/commands/test_add.py::test_add_url_constraint_wheel
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel
275s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo]
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[foo]
275s tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO]
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_url_constraint_wheel_with_extras[FOO]
275s tests/console/commands/test_add.py::test_add_constraint_with_optional
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_optional
275s tests/console/commands/test_add.py::test_add_constraint_with_python
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_python
275s tests/console/commands/test_add.py::test_add_constraint_with_platform
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_platform
275s tests/console/commands/test_add.py::test_add_constraint_with_source
275s [gw0] [ 5%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source
275s tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist
275s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_with_source_that_does_not_exist
275s tests/console/commands/test_add.py::test_add_constraint_not_found_with_source
275s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_constraint_not_found_with_source
276s tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_not_exist_yet
276s tests/console/commands/test_add.py::test_add_to_dev_section_deprecated
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_to_dev_section_deprecated
276s tests/console/commands/test_add.py::test_add_should_not_select_prereleases
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_not_select_prereleases
276s tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_existing_package_with_no_constraint
276s tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_skip_when_adding_canonicalized_existing_package_with_no_constraint
276s tests/console/commands/test_add.py::test_add_should_fail_circular_dependency
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_fail_circular_dependency
276s tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_latest_should_not_create_duplicate_keys
276s tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_should_work_when_adding_existing_package_with_latest_constraint
276s tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_chooses_prerelease_if_only_prereleases_are_available
276s tests/console/commands/test_add.py::test_add_prefers_stable_releases
276s [gw0] [ 6%] PASSED tests/console/commands/test_add.py::test_add_prefers_stable_releases
277s tests/console/commands/test_add.py::test_add_with_lock
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_lock
277s tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_to_section_that_does_no_exist_yet
277s tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_keyboard_interrupt_restore_content
277s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run]
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --dry-run]
277s tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run]
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_dry_run_keep_files_intact[cachy --lock --dry-run]
277s tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail
277s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_should_not_change_lock_file_when_dependency_installation_fail
278s tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_with_path_dependency_no_loopiness
278s tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_are_parsed_and_included
278s tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks]
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_extras_only_accepts_one_package[requests --extras security socks]
278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo]
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo]
278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock]
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[True-4.3.1-foo --lock]
278s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo]
278s [gw0] [ 7%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo]
279s tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock]
279s [gw0] [ 8%] PASSED tests/console/commands/test_add.py::test_add_does_not_update_locked_dependencies[False-4.3.2-foo --lock]
279s tests/console/commands/test_build.py::test_build_with_multiple_readme_files
279s [gw0] [ 8%] PASSED tests/console/commands/test_build.py::test_build_with_multiple_readme_files
279s tests/console/commands/test_check.py::test_check_private
279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_private
279s tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0]
279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[-All set!\n-0]
279s tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1]
279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_missing[--lock-Error: poetry.lock was not found.\n-1]
279s tests/console/commands/test_check.py::test_check_lock_outdated[]
279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[]
279s tests/console/commands/test_check.py::test_check_lock_outdated[--lock]
279s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_outdated[--lock]
280s tests/console/commands/test_check.py::test_check_lock_up_to_date[]
280s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[]
280s tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock]
280s [gw0] [ 8%] PASSED tests/console/commands/test_check.py::test_check_lock_up_to_date[--lock]
280s tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty
280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_show_config_with_local_config_file_empty
280s tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set
280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_default_value_if_not_set
280s tests/console/commands/test_config.py::test_list_displays_set_get_setting
280s [gw0] [ 8%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_setting
280s tests/console/commands/test_config.py::test_cannot_set_with_multiple_values
280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_with_multiple_values
280s tests/console/commands/test_config.py::test_cannot_set_invalid_value
280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_set_invalid_value
280s tests/console/commands/test_config.py::test_cannot_unset_with_value
280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_cannot_unset_with_value
280s tests/console/commands/test_config.py::test_unset_setting
280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_setting
280s tests/console/commands/test_config.py::test_unset_repo_setting
280s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_repo_setting
281s tests/console/commands/test_config.py::test_unset_value_not_exists
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_value_not_exists
281s tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n]
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[virtualenvs.create-true\n]
281s tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n]
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_setting[repositories.foo.url-{'url': 'https://bar.com/simple/'}\n]
281s tests/console/commands/test_config.py::test_display_single_local_setting
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_single_local_setting
281s tests/console/commands/test_config.py::test_display_empty_repositories_setting
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_display_empty_repositories_setting
281s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section]
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories-You cannot remove the [repositories] section]
281s tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined]
281s [gw0] [ 9%] PASSED tests/console/commands/test_config.py::test_unset_nonempty_repositories_section[repositories.test-There is no test repository defined]
281s tests/console/commands/test_config.py::test_set_malformed_repositories_setting
281s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_malformed_repositories_setting
281s tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined]
281s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[repositories.foo-There is no foo repository defined]
282s tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.]
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_display_undefined_setting[foo-There is no foo setting.]
282s tests/console/commands/test_config.py::test_list_displays_set_get_local_setting
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_displays_set_get_local_setting
282s tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_list_must_not_display_sources_from_pyproject_toml
282s tests/console/commands/test_config.py::test_set_http_basic
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic
282s tests/console/commands/test_config.py::test_unset_http_basic
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_http_basic
282s tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_http_basic_unsuccessful_multiple_values
282s tests/console/commands/test_config.py::test_set_pypi_token
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token
282s tests/console/commands/test_config.py::test_unset_pypi_token
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_unset_pypi_token
282s tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_unsuccessful_multiple_values
282s tests/console/commands/test_config.py::test_set_pypi_token_no_values
282s [gw0] [ 10%] PASSED tests/console/commands/test_config.py::test_set_pypi_token_no_values
282s tests/console/commands/test_config.py::test_set_client_cert
282s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert
282s tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values
282s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_client_cert_unsuccessful_multiple_values
283s tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[path/to/ca.pem-path/to/ca.pem]
283s tests/console/commands/test_config.py::test_set_cert[true-True]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[true-True]
283s tests/console/commands/test_config.py::test_set_cert[false-False]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_set_cert[false-False]
283s tests/console/commands/test_config.py::test_unset_cert
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_unset_cert
283s tests/console/commands/test_config.py::test_config_installer_parallel
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_parallel
283s tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[true-expected0]
283s tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[1-expected1]
283s tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[false-expected2]
283s tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[0-expected3]
283s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4]
283s [gw0] [ 11%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest-expected4]
283s tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5]
283s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[PyTest-expected5]
284s tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6]
284s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[pytest,black-expected6]
284s tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7]
284s [gw0] [ 12%] PASSED tests/console/commands/test_config.py::test_config_installer_no_binary[-expected7]
284s tests/console/commands/test_init.py::test_basic_interactive
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_basic_interactive
284s tests/console/commands/test_init.py::test_noninteractive
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_noninteractive
284s tests/console/commands/test_init.py::test_interactive_with_dependencies
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies
284s tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_dependencies_and_no_selection
284s tests/console/commands/test_init.py::test_empty_license
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_empty_license
284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask]
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flask]
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask]
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-Flask]
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK]
284s [gw0] [ 12%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages0-flAsK]
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask]
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flask]
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask]
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-Flask]
284s tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK]
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_generate_choice_list[_generate_choice_list_packages1-flAsK]
284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_with_reference
284s tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_git_dependencies_and_other_name
284s tests/console/commands/test_init.py::test_interactive_with_directory_dependency
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency
284s tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_directory_dependency_and_other_name
284s tests/console/commands/test_init.py::test_interactive_with_file_dependency
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_file_dependency
284s tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_interactive_with_wrong_dependency_inputs
284s tests/console/commands/test_init.py::test_python_option
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_python_option
284s tests/console/commands/test_init.py::test_predefined_dependency
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_dependency
284s tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies
284s [gw0] [ 13%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dependencies
284s tests/console/commands/test_init.py::test_predefined_dev_dependency
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_dev_dependency
284s tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_and_interactive_dev_dependencies
284s tests/console/commands/test_init.py::test_predefined_all_options
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_predefined_all_options
284s tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_add_package_with_extras_and_whitespace
284s tests/console/commands/test_init.py::test_init_existing_pyproject_simple
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_simple
284s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n]
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\n]
284s tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n]
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_consistent_linesep[\r\n]
284s tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_non_interactive_existing_pyproject_add_dependency
284s tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_init_existing_pyproject_with_build_system_fails
284s tests/console/commands/test_init.py::test_validate_package_valid[None]
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[None]
284s tests/console/commands/test_init.py::test_validate_package_valid[]
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[]
284s tests/console/commands/test_init.py::test_validate_package_valid[foo]
284s [gw0] [ 14%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo]
284s tests/console/commands/test_init.py::test_validate_package_valid[ foo ]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo ]
284s tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo==2.0]
284s tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo@2.0]
284s tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo@2.0 ]
284s tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[foo 2.0]
284s tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_valid[ foo 2.0 ]
284s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar 2.0]
284s tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[ foo bar 2.0 ]
284s tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_validate_package_invalid[foo bar foobar 2.0]
284s tests/console/commands/test_init.py::test_package_include[mypackage-None]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[mypackage-None]
284s tests/console/commands/test_init.py::test_package_include[my-package-my_package]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my-package-my_package]
284s tests/console/commands/test_init.py::test_package_include[my.package-my]
284s [gw0] [ 15%] PASSED tests/console/commands/test_init.py::test_package_include[my.package-my]
284s tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package]
284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my-awesome-package-my_awesome_package]
284s tests/console/commands/test_init.py::test_package_include[my.awesome.package-my]
284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_package_include[my.awesome.package-my]
284s tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12]
284s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_respect_prefer_active_on_init[False-3.12]
285s tests/console/commands/test_init.py::test_get_pool
285s [gw0] [ 16%] PASSED tests/console/commands/test_init.py::test_get_pool
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True--groups0]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only-root-groups1]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only main-groups2]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo-groups3]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only foo,bar-groups4]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---only bam-groups5]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam-groups6]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7]
285s [gw0] [ 16%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without foo,bar-groups7]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8]
285s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without main-groups8]
285s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo,bar --without baz --without bim --only bam-groups9]
285s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo,bar --without baz --without bim --only bam-groups9]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo-groups10]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---without bam-groups11]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with bam --without bam-groups12]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---with foo --without foo-groups13]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[True---no-dev-groups14]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False--groups0]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only-root-groups1]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only main-groups2]
286s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3]
286s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo-groups3]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4]
287s [gw0] [ 17%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only foo,bar-groups4]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---only bam-groups5]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam-groups6]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without foo,bar-groups7]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without main-groups8]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo,bar --without baz --without bim --only bam-groups9]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo,bar --without baz --without bim --only bam-groups9]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo-groups10]
287s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11]
287s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---without bam-groups11]
288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12]
288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with bam --without bam-groups12]
288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13]
288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---with foo --without foo-groups13]
288s tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14]
288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_group_options_are_passed_to_the_installer[False---no-dev-groups14]
288s tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer
288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_sync_option_is_passed_to_the_installer
288s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False]
288s [gw0] [ 18%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[False]
288s tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True]
288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_compile_option_is_passed_to_the_installer[True]
288s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True]
288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[True]
288s tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False]
288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_directory_is_passed_to_installer[False]
288s tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer
288s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_no_all_extras_doesnt_populate_installer
289s tests/console/commands/test_install.py::test_all_extras_populates_installer
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_all_extras_populates_installer
289s tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_are_parsed_and_populate_installer
289s tests/console/commands/test_install.py::test_extras_conflicts_all_extras
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_extras_conflicts_all_extras
289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo]
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo]
289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo]
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--without foo]
289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz]
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--with foo,bar --without baz]
289s tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo]
289s [gw0] [ 19%] PASSED tests/console/commands/test_install.py::test_only_root_conflicts_with_without_only[--only foo]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options0-valid_groups0-False]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options1-valid_groups1-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options2-valid_groups2-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options3-valid_groups3-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options4-valid_groups4-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options5-valid_groups5-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options6-valid_groups6-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options7-valid_groups7-True]
290s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False]
290s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options8-valid_groups8-False]
291s tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False]
291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_invalid_groups_with_without_only[options9-valid_groups9-False]
291s tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning
291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_remove_untracked_outputs_deprecation_warning
291s tests/console/commands/test_install.py::test_dry_run_populates_installer
291s [gw0] [ 20%] PASSED tests/console/commands/test_install.py::test_dry_run_populates_installer
291s tests/console/commands/test_install.py::test_dry_run_does_not_build
291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_dry_run_does_not_build
291s tests/console/commands/test_install.py::test_install_logs_output
291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output
291s tests/console/commands/test_install.py::test_install_logs_output_decorated
291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_logs_output_decorated
291s tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True]
291s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[module-True]
292s tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[readme-True]
292s tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_warning_corrupt_root[-True]
292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency-]
292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_directory_dependency---without dev]
292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency-]
292s tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_path_dependency_does_not_exist[missing_file_dependency---without dev]
292s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[]
292s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[]
293s tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory]
293s [gw0] [ 21%] PASSED tests/console/commands/test_install.py::test_install_missing_directory_dependency_with_no_directory[--no-directory]
293s tests/console/commands/test_lock.py::test_lock_check_outdated_legacy
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_outdated_legacy
293s tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_check_up_to_date_legacy
293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True]
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-True]
293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False]
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_directory_dependency-False]
293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True]
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-True]
293s tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False]
293s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_does_not_exist[missing_file_dependency-False]
294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-True]
294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_directory_dependency-False]
294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-True]
294s tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_path_dependency_deleted_from_pyproject[deleted_file_dependency-False]
294s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[False]
294s tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True]
294s [gw0] [ 22%] PASSED tests/console/commands/test_lock.py::test_lock_with_incompatible_lockfile[True]
294s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False]
294s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[False]
294s tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True]
294s [gw0] [ 23%] PASSED tests/console/commands/test_lock.py::test_lock_with_invalid_lockfile[True]
295s tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options0-package-package-package-None]
295s tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options1-package-package-src/package-src]
295s tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options2-namespace-package-namespace-package-namespace/package-None]
295s tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options3-namespace-package-namespace-package-src/namespace/package-src]
295s tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options4-namespace-package_a-namespace-package-a-namespace/package_a-None]
295s tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options5-namespace-package_a-namespace-package-a-src/namespace/package_a-src]
295s tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None]
295s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options6-namespace-package-namespace-package-namespace_package-None]
296s tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src]
296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options7-namespace-package-namespace-package-src/namespace_package-src]
296s tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None]
296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options8-package-namespace-package-namespace/package-None]
296s tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src]
296s [gw0] [ 23%] PASSED tests/console/commands/test_new.py::test_command_new[options9-package-namespace-package-src/namespace/package-src]
296s tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None]
296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options10-package-namespace-package-namespace/package-None]
296s tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src]
296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options11-package-namespace-package-src/namespace/package-src]
296s tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None]
296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options12-namespace_package-namespace-package-namespace_package-None]
296s tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src]
296s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new[options13-namespace_package-namespace-package-src/namespace_package-src]
297s tests/console/commands/test_new.py::test_command_new_with_readme[None]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[None]
297s tests/console/commands/test_new.py::test_command_new_with_readme[md]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[md]
297s tests/console/commands/test_new.py::test_command_new_with_readme[rst]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[rst]
297s tests/console/commands/test_new.py::test_command_new_with_readme[adoc]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[adoc]
297s tests/console/commands/test_new.py::test_command_new_with_readme[creole]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_command_new_with_readme[creole]
297s tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12]
297s [gw0] [ 24%] PASSED tests/console/commands/test_new.py::test_respect_prefer_active_on_new[False-3.12]
297s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors
297s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors
297s tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors
297s [gw0] [ 24%] FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors
297s tests/console/commands/test_publish.py::test_publish_with_cert
297s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_cert
297s tests/console/commands/test_publish.py::test_publish_with_client_cert
297s [gw0] [ 25%] PASSED tests/console/commands/test_publish.py::test_publish_with_client_cert
298s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_all_groups
298s tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_without_specific_group_removes_from_specific_groups
298s tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_does_not_live_empty_groups
298s tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_canonicalized_named_removes_dependency_correctly
298s tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_command_should_not_write_changes_upon_installer_errors
298s tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_dry_run_keep_files_intact
298s tests/console/commands/test_remove.py::test_remove_performs_uninstall_op
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_performs_uninstall_op
298s tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op
298s [gw0] [ 25%] PASSED tests/console/commands/test_remove.py::test_remove_with_lock_does_not_perform_uninstall_op
299s tests/console/commands/test_run.py::test_run_passes_all_args
299s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_passes_all_args
299s tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command
299s [gw0] [ 25%] PASSED tests/console/commands/test_run.py::test_run_keeps_options_passed_before_command
299s tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found
299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_has_helpful_error_when_command_not_found
299s tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows
299s [gw0] [ 26%] SKIPPED tests/console/commands/test_run.py::test_run_console_scripts_of_editable_dependencies_on_windows
299s tests/console/commands/test_run.py::test_run_script_exit_code
299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_exit_code
299s tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed]
299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[not installed]
299s tests/console/commands/test_run.py::test_run_script_sys_argv0[installed]
299s [gw0] [ 26%] PASSED tests/console/commands/test_run.py::test_run_script_sys_argv0[installed]
300s tests/console/commands/test_search.py::test_search
300s [gw0] [ 26%] FAILED tests/console/commands/test_search.py::test_search
300s tests/console/commands/test_show.py::test_show_basic_with_installed_packages
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[-cachy 0.1.0 Cachy package\npytest 3.7.3 Pytest package\n]
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[-cachy 0.1.0 Cachy package\npytest 3.7.3 Pytest package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n0]
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n0]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n]
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without test-cachy 0.1.0 Cachy package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n]
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--without main-pytest 3.7.3 Pytest package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n]
300s [gw0] [ 26%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only main-cachy 0.1.0 Cachy package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--no-dev-cachy 0.1.0 Cachy package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without test-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\n]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without test-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without main,test-pendulum 2.0.0 Pendulum package\n]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time --without main,test-pendulum 2.0.0 Pendulum package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time-pendulum 2.0.0 Pendulum package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time --with test-pendulum 2.0.0 Pendulum package\n]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--only time --with test-pendulum 2.0.0 Pendulum package\n]
300s tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n1]
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_group_options[--with time-cachy 0.1.0 Cachy package\npendulum 2.0.0 Pendulum package\npytest 3.7.3 Pytest package\n1]
300s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single
300s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single
301s tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized
301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_installed_packages_single_canonicalized
301s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated
301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_non_decorated
301s tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated
301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_basic_with_not_installed_packages_decorated
301s tests/console/commands/test_show.py::test_show_latest_non_decorated
301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_non_decorated
301s tests/console/commands/test_show.py::test_show_latest_decorated
301s [gw0] [ 27%] PASSED tests/console/commands/test_show.py::test_show_latest_decorated
301s tests/console/commands/test_show.py::test_show_outdated
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated
301s tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_with_only_up_to_date_packages
301s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_but_not_allowed
301s tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_has_prerelease_and_allowed
301s tests/console/commands/test_show.py::test_show_outdated_formatting
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_formatting
301s tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0]
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_local_dependencies[project_with_local_dependencies-required_fixtures0]
301s tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency]
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_git_dev_dependency[project_with_git_dev_dependency]
301s tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency]
301s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_outdated_no_dev_git_dev_dependency[project_with_git_dev_dependency]
302s tests/console/commands/test_show.py::test_show_hides_incompatible_package
302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package
302s tests/console/commands/test_show.py::test_show_all_shows_incompatible_package
302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_incompatible_package
302s tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate
302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_hides_incompatible_package_with_duplicate
302s tests/console/commands/test_show.py::test_show_all_shows_all_duplicates
302s [gw0] [ 28%] PASSED tests/console/commands/test_show.py::test_show_all_shows_all_duplicates
302s tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_non_dev_with_basic_installed_packages
302s tests/console/commands/test_show.py::test_show_with_group_only
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_group_only
302s tests/console/commands/test_show.py::test_show_with_optional_group
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_with_optional_group
302s tests/console/commands/test_show.py::test_show_tree
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree
302s tests/console/commands/test_show.py::test_show_tree_no_dev
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_no_dev
302s tests/console/commands/test_show.py::test_show_tree_why_package
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why_package
302s tests/console/commands/test_show.py::test_show_tree_why
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_tree_why
302s tests/console/commands/test_show.py::test_show_required_by_deps
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_required_by_deps
302s tests/console/commands/test_show.py::test_show_errors_without_lock_file
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_errors_without_lock_file
302s tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev
302s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_dependency_installed_from_git_in_dev
303s tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package
303s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_url_dependency_is_not_outdated_by_repository_package
303s tests/console/commands/test_show.py::test_show_top_level
303s [gw0] [ 29%] PASSED tests/console/commands/test_show.py::test_show_top_level
303s tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy
303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_explicitly_defined_depenancy
303s tests/console/commands/test_show.py::test_show_top_level_with_extras
303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_top_level_with_extras
303s tests/console/commands/test_show.py::test_show_error_top_level_with_tree
303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_tree
303s tests/console/commands/test_show.py::test_show_error_top_level_with_single_package
303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_error_top_level_with_single_package
303s tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0]
303s [gw0] [ 30%] PASSED tests/console/commands/test_show.py::test_show_outdated_missing_directory_dependency[deleted_directory_dependency-required_fixtures0]
303s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run]
303s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[--dry-run]
303s tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run]
303s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_with_dry_run_keep_files_intact[docker --dry-run]
304s tests/console/commands/test_update.py::test_update_prints_operations[-True]
304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[-True]
304s tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True]
304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--dry-run-True]
304s tests/console/commands/test_update.py::test_update_prints_operations[--lock-False]
304s [gw0] [ 30%] PASSED tests/console/commands/test_update.py::test_update_prints_operations[--lock-False]
304s tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1]
304s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-patch-0.0.1]
304s tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0]
304s [gw0] [ 30%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-minor-0.1.0]
304s tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-major-1.0.0]
304s tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-major-1.0]
304s tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-minor-0.1]
304s tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0-patch-0.0.1]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-patch-1.2.4]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-minor-1.3.0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-major-2.0.0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prepatch-1.2.4a0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-preminor-1.3.0a0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-premajor-2.0.0a0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-patch-1.2.3]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0]
304s [gw0] [ 31%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-minor-1.3.0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-major-2.0.0]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta.1-prerelease-1.2.3b2]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-beta1-prerelease-1.2.3b2]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3beta1-prerelease-1.2.3b2]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3b1-prerelease-1.2.3b2]
304s tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[1.2.3-prerelease-1.2.4a0]
304s tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_increment_version[0.0.0-1.2.3-1.2.3]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-prerelease-1.2.4a0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a0-prerelease-1.2.3b0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3a1-prerelease-1.2.3b0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3b1-prerelease-1.2.3rc0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3]
304s [gw0] [ 32%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3rc0-prerelease-1.2.3]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0]
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta.1-prerelease-1.2.3rc0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0]
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3-beta1-prerelease-1.2.3rc0]
304s tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0]
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_next_phase_version[1.2.3beta1-prerelease-1.2.3rc0]
304s tests/console/commands/test_version.py::test_version_show
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_show
304s tests/console/commands/test_version.py::test_short_version_show
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_show
304s tests/console/commands/test_version.py::test_version_update
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_version_update
304s tests/console/commands/test_version.py::test_short_version_update
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_short_version_update
304s tests/console/commands/test_version.py::test_phase_version_update
304s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_phase_version_update
305s tests/console/commands/test_version.py::test_dry_run
305s [gw0] [ 33%] PASSED tests/console/commands/test_version.py::test_dry_run
305s tests/console/commands/cache/test_clear.py::test_cache_clear_all
305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all
305s tests/console/commands/cache/test_clear.py::test_cache_clear_all_no
305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_all_no
305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy]
305s [gw0] [ 33%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[cachy]
305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy]
305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg[Cachy]
305s tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no
305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_clear.py::test_cache_clear_pkg_no
305s tests/console/commands/cache/test_list.py::test_cache_list
305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list
305s tests/console/commands/cache/test_list.py::test_cache_list_empty
305s [gw0] [ 34%] PASSED tests/console/commands/cache/test_list.py::test_cache_list_empty
305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results
305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_gives_resolution_results
305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree
305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_tree_option_gives_the_dependency_tree
305s tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency
305s [gw0] [ 34%] PASSED tests/console/commands/debug/test_resolve.py::test_debug_resolve_git_dependency
305s tests/console/commands/env/test_info.py::test_env_info_displays_path_only
305s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_path_only
305s tests/console/commands/env/test_info.py::test_env_info_displays_executable_only
305s [gw0] [ 34%] PASSED tests/console/commands/env/test_info.py::test_env_info_displays_executable_only
306s tests/console/commands/self/test_add_plugins.py::test_add_no_constraint
306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_no_constraint
306s tests/console/commands/self/test_add_plugins.py::test_add_with_constraint
306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_constraint
306s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint
306s [gw0] [ 34%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint
307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras
307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_extras
307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git#subdirectory=subdir-None]
307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git#subdirectory=subdir-None]
307s tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git@master#subdirectory=subdir-master]
307s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_with_git_constraint_with_subdirectory[git+https://github.com/demo/poetry-plugin2.git@master#subdirectory=subdir-master]
308s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation
308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_warns_about_no_operation
308s tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested
308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_add_existing_plugin_updates_if_requested
308s tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed
308s [gw0] [ 35%] PASSED tests/console/commands/self/test_add_plugins.py::test_adding_a_plugin_can_update_poetry_dependencies_if_needed
308s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package
308s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package
309s tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run
309s [gw0] [ 35%] PASSED tests/console/commands/self/test_remove_plugins.py::test_remove_installed_package_dry_run
309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0]
309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[0]
309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2]
309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_trailing_newline[2]
309s tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns
309s [gw0] [ 35%] PASSED tests/console/commands/self/test_self_command.py::test_generate_system_pyproject_carriage_returns
309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin]
309s [gw0] [ 35%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-poetry-plugin]
309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name]
309s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins[entry_point_values_by_group0-not-package-name]
309s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0]
309s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_multiple_plugins[entry_point_values_by_group0]
310s tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_dependencies[entry_point_values_by_group0-plugin_package_requires_dist0]
310s [gw0] [ 36%] PASSED tests/console/commands/self/test_show_plugins.py::test_show_displays_installed_plugins_with_dependencies[entry_point_values_by_group0-plugin_package_requires_dist0]
314s tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation
314s [gw0] [ 36%] PASSED tests/console/commands/self/test_update.py::test_self_update_can_update_from_recommended_installation
314s tests/console/commands/source/test_add.py::test_source_add_simple
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_simple
314s tests/console/commands/source/test_add.py::test_source_add_default_legacy
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default_legacy
314s tests/console/commands/source/test_add.py::test_source_add_secondary_legacy
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary_legacy
314s tests/console/commands/source/test_add.py::test_source_add_default
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_default
314s tests/console/commands/source/test_add.py::test_source_add_second_default_fails
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_second_default_fails
314s tests/console/commands/source/test_add.py::test_source_add_secondary
314s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_secondary
315s tests/console/commands/source/test_add.py::test_source_add_supplemental
315s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_supplemental
315s tests/console/commands/source/test_add.py::test_source_add_explicit
315s [gw0] [ 36%] PASSED tests/console/commands/source/test_add.py::test_source_add_explicit
315s tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy
315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_default_and_secondary_legacy
315s tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy
315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_priority_and_deprecated_legacy
315s tests/console/commands/source/test_add.py::test_source_add_error_no_url
315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_no_url
315s tests/console/commands/source/test_add.py::test_source_add_error_pypi
315s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_error_pypi
316s tests/console/commands/source/test_add.py::test_source_add_pypi[pypi]
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[pypi]
316s tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI]
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi[PyPI]
316s tests/console/commands/source/test_add.py::test_source_add_pypi_explicit
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_pypi_explicit
316s tests/console/commands/source/test_add.py::test_source_add_existing_legacy
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_legacy
316s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower]
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[lower]
316s tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper]
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_no_change_except_case_of_name[upper]
316s tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower]
316s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[lower]
317s tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper]
317s [gw0] [ 37%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_updating[upper]
317s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[lower]
317s tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_add.py::test_source_add_existing_fails_due_to_other_default[upper]
317s tests/console/commands/source/test_remove.py::test_source_remove_simple[lower]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[lower]
317s tests/console/commands/source/test_remove.py::test_source_remove_simple[upper]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_simple[upper]
317s tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[pypi]
317s tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI]
317s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi[PyPI]
318s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi]
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[pypi]
318s tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI]
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_pypi_and_other[PyPI]
318s tests/console/commands/source/test_remove.py::test_source_remove_error[foo]
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[foo]
318s tests/console/commands/source/test_remove.py::test_source_remove_error[pypi]
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[pypi]
318s tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI]
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_remove.py::test_source_remove_error[PyPI]
318s tests/console/commands/source/test_show.py::test_source_show_simple
318s [gw0] [ 38%] PASSED tests/console/commands/source/test_show.py::test_source_show_simple
318s tests/console/commands/source/test_show.py::test_source_show_one[lower]
318s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[lower]
319s tests/console/commands/source/test_show.py::test_source_show_one[upper]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_one[upper]
319s tests/console/commands/source/test_show.py::test_source_show_two[lower]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[lower]
319s tests/console/commands/source/test_show.py::test_source_show_two[upper]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_two[upper]
319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_primary]
319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_default]
319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_secondary]
319s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental]
319s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_supplemental]
320s tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit]
320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_given_priority[source_explicit]
320s tests/console/commands/source/test_show.py::test_source_show_pypi
320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi
320s tests/console/commands/source/test_show.py::test_source_show_pypi_and_other
320s [gw0] [ 39%] PASSED tests/console/commands/source/test_show.py::test_source_show_pypi_and_other
320s tests/console/commands/source/test_show.py::test_source_show_no_sources
320s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_no_sources
320s tests/console/commands/source/test_show.py::test_source_show_error
320s [gw0] [ 40%] PASSED tests/console/commands/source/test_show.py::test_source_show_error
320s tests/inspection/test_info.py::test_info_from_wheel
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_wheel
320s tests/inspection/test_info.py::test_info_from_bdist
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_bdist
320s tests/inspection/test_info.py::test_info_from_poetry_directory
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory
320s tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_poetry_directory_fallback_on_poetry_create_error
320s tests/inspection/test_info.py::test_info_from_requires_txt
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_requires_txt
320s tests/inspection/test_info.py::test_info_from_setup_py
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_py
320s tests/inspection/test_info.py::test_info_from_setup_cfg
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_from_setup_cfg
320s tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_no_setup_pkg_info_no_deps
320s tests/inspection/test_info.py::test_info_setup_simple
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_simple
320s tests/inspection/test_info.py::test_info_setup_cfg
320s [gw0] [ 40%] PASSED tests/inspection/test_info.py::test_info_setup_cfg
331s tests/inspection/test_info.py::test_info_setup_complex
331s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex
335s tests/inspection/test_info.py::test_info_setup_complex_pep517_error
335s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_error
343s tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy
343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_pep517_legacy
343s tests/inspection/test_info.py::test_info_setup_complex_disable_build
343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_setup_complex_disable_build
343s tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info
343s [gw0] [ 41%] PASSED tests/inspection/test_info.py::test_info_prefer_poetry_config_over_egg_info
343s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[]
343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[]
343s tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy]
343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy]
343s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz]
343s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl]
344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl]
344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz]
344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz]
344s [gw0] [ 41%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz]
344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl]
344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl]
344s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl]
344s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl]
345s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz]
345s tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz]
345s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[]
345s tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy]
345s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[]
345s tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy]
345s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[]
345s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[]
346s tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy]
346s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy]
346s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[]
346s [gw0] [ 42%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[]
346s tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy]
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy]
346s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[]
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[]
346s tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy]
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy]
346s tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others
346s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[]
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[]
346s tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy]
346s [gw0] [ 43%] FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy]
346s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
346s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
347s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False]
347s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations1-False]
347s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
347s [gw0] [ 43%] FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
347s tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels
347s [gw0] [ 43%] SKIPPED tests/installation/test_executor.py::test_execute_prints_warning_for_invalid_wheels
347s tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose
347s [gw0] [ 43%] PASSED tests/installation/test_executor.py::test_execute_shows_skipped_operations_if_verbose
347s tests/installation/test_executor.py::test_execute_should_show_errors
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_errors
347s tests/installation/test_executor.py::test_execute_works_with_ansi_output
347s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output
347s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
347s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
347s tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_show_operation_as_cancelled_on_subprocess_keyboard_interrupt
347s tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_execute_should_gracefully_handle_io_error
347s tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_delete_incomplete_downloads
347s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0]
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package0]
347s tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1]
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_not_write_pep610_url_references_for_cached_package[package1]
347s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files
347s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_files
348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories
348s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_directories
348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False]
348s [gw0] [ 44%] FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False]
348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True]
348s [gw0] [ 44%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[True]
348s tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_editable_git
348s tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_append_subdirectory_for_git
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-3-None-7]
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[3-4-None-3]
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-3-None-7]
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[None-8-side_effect3-5]
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[2-8-side_effect4-2]
348s tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5]
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_should_be_initialized_with_correct_workers[8-8-side_effect5-5]
348s tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_executor_fallback_on_poetry_create_error_without_wheel_installer
348s tests/installation/test_executor.py::test_other_error
348s [gw0] [ 45%] PASSED tests/installation/test_executor.py::test_other_error
348s tests/installation/test_installer.py::test_run_no_dependencies
348s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_no_dependencies
348s tests/installation/test_installer.py::test_run_with_dependencies
348s [gw0] [ 45%] PASSED tests/installation/test_installer.py::test_run_with_dependencies
348s tests/installation/test_installer.py::test_run_update_after_removing_dependencies
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_update_after_removing_dependencies
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-2-0-0-False]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[None-0-0-1-True]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups2-0-0-0-False]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups3-0-0-3-True]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups4-1-0-0-False]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups5-0-0-2-True]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups6-2-0-0-False]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups7-0-0-1-True]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups8-3-0-0-False]
348s tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True]
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_with_dependency_groups[groups9-0-0-0-True]
348s tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required
348s [gw0] [ 46%] PASSED tests/installation/test_installer.py::test_run_install_does_not_remove_locked_packages_if_installed_but_not_required
348s tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_locked_packages_if_installed_and_synchronization_is_required
348s tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_removes_no_longer_locked_packages_if_installed
348s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0]
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names0]
348s tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1]
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_install_with_synchronization[managed_reserved_package_names1]
348s tests/installation/test_installer.py::test_run_whitelist_add
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_add
348s tests/installation/test_installer.py::test_run_whitelist_remove
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_whitelist_remove
348s tests/installation/test_installer.py::test_add_with_sub_dependencies
348s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_add_with_sub_dependencies
349s tests/installation/test_installer.py::test_run_with_python_versions
349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_python_versions
349s tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies
349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_python_restricted_dependencies
349s tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies
349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_optional_and_platform_restricted_dependencies
349s tests/installation/test_installer.py::test_run_with_dependencies_extras
349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_extras
349s tests/installation/test_installer.py::test_run_with_dependencies_nested_extras
349s [gw0] [ 47%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_nested_extras
349s tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_does_not_install_extras_if_not_requested
349s tests/installation/test_installer.py::test_run_installs_extras_if_requested
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_if_requested
349s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested
349s tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_extras_with_deps_if_requested_locked
349s tests/installation/test_installer.py::test_run_installs_with_local_file
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_file
349s tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_wheel_with_no_requires_dist
349s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras
349s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_extras
350s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True]
350s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[True]
351s tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False]
351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_directory_and_skip_directory_flag[False]
351s tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive
351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_poetry_file_transitive
351s tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory
351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_installs_with_local_setuptools_directory
351s tests/installation/test_installer.py::test_run_with_prereleases
351s [gw0] [ 48%] PASSED tests/installation/test_installer.py::test_run_with_prereleases
351s tests/installation/test_installer.py::test_run_update_all_with_lock
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_all_with_lock
351s tests/installation/test_installer.py::test_run_update_with_locked_extras
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_with_locked_extras
351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints
351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock
351s tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_update_uninstalls_after_removal_transient_dependency
351s tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_install_duplicate_dependencies_different_constraints_with_lock_update
351s tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python
351s [gw0] [ 49%] SKIPPED tests/installation/test_installer.py::test_installer_test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python
351s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency
351s tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_not_be_removed_when_updating_single_dependency_pypi_repository
351s tests/installation/test_installer.py::test_installer_required_extras_should_be_installed
351s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_installer_required_extras_should_be_installed
352s tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent
352s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_update_multiple_times_with_split_dependencies_is_idempotent
352s tests/installation/test_installer.py::test_run_installs_with_url_file
352s [gw0] [ 49%] PASSED tests/installation/test_installer.py::test_run_installs_with_url_file
352s tests/installation/test_installer.py::test_installer_can_handle_old_lock_files
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_can_handle_old_lock_files
352s tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_does_not_write_lock_file_when_installation_fails
352s tests/installation/test_installer.py::test_run_with_dependencies_quiet[True]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[True]
352s tests/installation/test_installer.py::test_run_with_dependencies_quiet[False]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_run_with_dependencies_quiet[False]
352s tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_should_use_the_locked_version_of_git_dependencies
352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[darwin]
352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_local_version_by_source[linux]
352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[aarch64]
352s tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_installer_distinguishes_locked_packages_with_same_version_by_source[amd64]
352s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[darwin]
352s tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux]
352s [gw0] [ 50%] PASSED tests/installation/test_installer.py::test_explicit_source_dependency_with_direct_origin_dependency[linux]
352s tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content
352s [gw0] [ 50%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_source_dir_content
352s tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content
352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_dist_info_dir_content
352s tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version
352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_installer_file_contains_valid_version
352s tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode
352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_default_installation_no_bytecode
352s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True]
352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[True]
352s tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False]
352s [gw0] [ 51%] PASSED tests/installation/test_wheel_installer.py::test_enable_bytecode_compilation[False]
352s tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy
352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid_legacy
352s tests/json/test_schema_sources.py::test_pyproject_toml_valid
352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_valid
352s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority
352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority
352s tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new
352s [gw0] [ 51%] PASSED tests/json/test_schema_sources.py::test_pyproject_toml_invalid_priority_legacy_and_new
352s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages
352s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_for_standard_packages
352s tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts
352s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_falls_back_on_setup_and_pip_for_packages_with_build_scripts
353s tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured
353s [gw0] [ 51%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_installs_proper_files_when_packages_configured
353s tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files
353s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_generates_proper_metadata_when_multiple_readme_files
353s tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts
353s [gw0] [ 52%] PASSED tests/masonry/builders/test_editable_builder.py::test_builder_should_execute_build_scripts
353s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors
353s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_can_solve_python_incompatibility_solver_errors
353s tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors
353s [gw0] [ 52%] PASSED tests/mixology/solutions/providers/test_python_requirement_solution_provider.py::test_it_cannot_solve_other_solver_errors
353s tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution
353s [gw0] [ 52%] PASSED tests/mixology/solutions/solutions/test_python_requirement_solution.py::test_it_provides_the_correct_solution
353s tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_circular_dependency_on_older_version
353s tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_diamond_dependency_graph
353s tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjumps_after_partial_satisfier
353s tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_rolls_back_leaf_versions_first
353s tests/mixology/version_solver/test_backtracking.py::test_simple_transitive
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_simple_transitive
353s tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_to_nearer_unsatisfied_package
353s tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint
353s [gw0] [ 52%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backjump_past_failed_package_on_disjoint_constraint
353s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_1
353s tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_backtracking.py::test_backtracking_performance_level_2
353s tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_simple_dependencies
353s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependencies_with_overlapping_constraints
353s tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_shared_dependency_where_dependent_version_affects_other_dependencies
353s tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_circular_dependency
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions0-yanked_versions0-2]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions1-yanked_versions1-1]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions2-yanked_versions2-3]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=1-versions3-yanked_versions3-1]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions4-yanked_versions4-error]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error]
353s [gw0] [ 53%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>1-versions5-yanked_versions5-error]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error]
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[>=2-versions6-yanked_versions6-error]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2]
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions7-yanked_versions7-2]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local]
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions8-yanked_versions8-2+local]
353s tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2]
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_basic_graph.py::test_yanked_release[==2-versions9-yanked_versions9-2]
353s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_source_type
353s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache
353s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_pulls_from_prior_level_cache
354s tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_dependency_cache.py::test_solver_dependency_cache_respects_subdirectories
354s tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_python_constraint.py::test_dependency_does_not_match_root_python_constraint
354s tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_matching_constraint
354s tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_version_that_matches_combined_constraints
354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_constraints
354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints
354s [gw0] [ 54%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints
354s tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_disjoint_root_constraints_path_dependencies
354s tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_no_valid_solution
354s tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_unsolvable.py::test_package_with_the_same_name_gives_clear_error_message
354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies
354s tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_incompatible_locked_dependencies
354s tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_unrelated_locked_dependencies
354s tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_unlocks_dependencies_if_necessary_to_ensure_that_a_new_dependency_is_satisfied
354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_use_latest
354s tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_compatible_locked_dependencies_with_extras
354s tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_with_yanked_package_in_lock
354s tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository
354s [gw0] [ 55%] PASSED tests/mixology/version_solver/test_with_lock.py::test_no_update_is_respected_for_legacy_repository
354s tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file
354s [gw0] [ 55%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_get_package_from_file
354s tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency
354s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_caches_url_dependency
354s tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached
354s [gw0] [ 56%] PASSED tests/packages/test_direct_origin.py::test_direct_origin_does_not_download_url_dependency_when_cached
354s tests/packages/test_locker.py::test_lock_file_data_is_ordered
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_data_is_ordered
354s tests/packages/test_locker.py::test_locker_properly_loads_extras
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras
354s tests/packages/test_locker.py::test_locker_properly_loads_nested_extras
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_nested_extras
354s tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_extras_legacy
354s tests/packages/test_locker.py::test_locker_properly_loads_subdir
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_loads_subdir
354s tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_locker_properly_assigns_metadata_files
354s tests/packages/test_locker.py::test_lock_packages_with_null_description
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_packages_with_null_description
354s tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_lock_file_should_not_have_mixed_types
354s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_invalid_data
354s tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata
354s [gw0] [ 56%] PASSED tests/packages/test_locker.py::test_reading_lock_file_should_raise_an_error_on_missing_metadata
354s tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locking_legacy_repository_package_should_include_source_section
354s tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_emit_warnings_if_lock_version_is_newer_but_allowed
354s tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_raise_an_error_if_lock_version_is_newer_and_not_allowed
354s tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_root_extras_dependencies_are_ordered
354s tests/packages/test_locker.py::test_extras_dependencies_are_ordered
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_extras_dependencies_are_ordered
354s tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_should_neither_emit_warnings_nor_raise_error_for_lower_compatible_versions
354s tests/packages/test_locker.py::test_locker_dumps_subdir
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_subdir
354s tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locker_dumps_dependency_extras_in_correct_order
354s tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_locked_repository_uses_root_dir_of_package
354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True]
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config0-True]
354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True]
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config1-True]
354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True]
354s [gw0] [ 57%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config2-True]
354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True]
354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config3-True]
354s tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False]
354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_content_hash_with_legacy_is_compatible[local_config4-False]
354s tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks
354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lock_file_resolves_file_url_symlinks
354s tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed
354s [gw0] [ 58%] PASSED tests/packages/test_locker.py::test_lockfile_is_not_rewritten_if_only_poetry_version_changed
354s tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate
354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_and_activate
354s tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin
354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_invalid_plugin
354s tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled
354s [gw0] [ 58%] PASSED tests/plugins/test_plugin_manager.py::test_load_plugins_with_plugins_disabled
354s tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default
354s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_publishes_to_pypi_by_default
354s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project]
354s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[sample_project]
355s tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source]
355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_can_publish_to_given_repository[with_default_source]
355s tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository
355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_raises_error_for_undefined_repository
355s tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists
355s [gw0] [ 58%] PASSED tests/publishing/test_publisher.py::test_publish_uses_token_if_it_exists
355s tests/publishing/test_publisher.py::test_publish_uses_cert
355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_cert
355s tests/publishing/test_publisher.py::test_publish_uses_client_cert
355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_uses_client_cert
355s tests/publishing/test_publisher.py::test_publish_read_from_environment_variable
355s [gw0] [ 59%] PASSED tests/publishing/test_publisher.py::test_publish_read_from_environment_variable
355s tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors
355s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors
355s tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors
355s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors
356s tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors
356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors
356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect]
356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect]
356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect]
356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect]
356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified]
356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified]
356s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other]
356s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other]
357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found]
357s [gw0] [ 59%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found]
357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently]
357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently]
357s tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices]
357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices]
357s tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects
357s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects
358s tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors
358s tests/publishing/test_uploader.py::test_uploader_skips_existing[409-]
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-]
358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists]
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists]
358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets]
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets]
358s tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact]
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact]
358s tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken]
358s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken]
359s tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors
359s [gw0] [ 60%] FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors
359s tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing
359s [gw0] [ 60%] PASSED tests/publishing/test_uploader.py::test_uploader_properly_handles_file_not_existing
359s tests/puzzle/test_provider.py::test_search_for[dependency0-expected0]
359s [gw0] [ 60%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency0-expected0]
359s tests/puzzle/test_provider.py::test_search_for[dependency1-expected1]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency1-expected1]
359s tests/puzzle/test_provider.py::test_search_for[dependency2-expected2]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency2-expected2]
359s tests/puzzle/test_provider.py::test_search_for[dependency3-expected3]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency3-expected3]
359s tests/puzzle/test_provider.py::test_search_for[dependency4-expected4]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for[dependency4-expected4]
359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency0-direct_origin_dependency0-expected_before0-expected_after0]
359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency1-direct_origin_dependency1-expected_before1-expected_after1]
359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency2-direct_origin_dependency2-expected_before2-expected_after2]
359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency3-direct_origin_dependency3-expected_before3-expected_after3]
359s tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_direct_origin_and_extras[dependency4-direct_origin_dependency4-expected_before4-expected_after4]
359s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[True]
359s tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False]
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_retains_develop_flag[False]
359s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info
359s [gw0] [ 61%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info
359s tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_setup_egg_info_with_extras
359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup
359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_with_extras
359s tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_vcs_read_setup_raises_error_if_no_version
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo]
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[demo]
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name]
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info[non-canonical-name]
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_egg_info_with_extras
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo]
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[demo]
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name]
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_with_base[non-canonical-name]
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_extras
359s tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies
359s [gw0] [ 62%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_setup_read_setup_with_no_dependencies
359s tests/puzzle/test_provider.py::test_search_for_directory_poetry
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry
359s tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_directory_poetry_with_extras
359s tests/puzzle/test_provider.py::test_search_for_file_wheel
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel
359s tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_search_for_file_wheel_with_extras
359s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_and_no_source
359s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_names
359s tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source
359s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_merges_same_source_type_and_no_source
360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types
360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_types
360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name
360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_source_type_and_name
360s tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories
360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_does_not_merge_different_subdirectories
360s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None]
360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[None]
360s tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo]
360s [gw0] [ 63%] PASSED tests/puzzle/test_provider.py::test_complete_package_with_extras_preserves_source_name[repo]
360s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False]
360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[False]
360s tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True]
360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_complete_package_fetches_optional_vcs_dependency_only_if_requested[True]
360s tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin
360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_satisfied_by_direct_origin
360s tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin
360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_explicit_source_dependency_is_not_satisfied_by_direct_origin
360s tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin
360s [gw0] [ 64%] PASSED tests/puzzle/test_provider.py::test_source_dependency_is_not_satisfied_by_incompatible_direct_origin
360s tests/puzzle/test_solver.py::test_solver_install_single
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_install_single
360s tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_remove_if_no_longer_locked
360s tests/puzzle/test_solver.py::test_remove_non_installed
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_remove_non_installed
360s tests/puzzle/test_solver.py::test_install_non_existing_package_fail
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_non_existing_package_fail
360s tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_unpublished_package_does_not_fail
360s tests/puzzle/test_solver.py::test_solver_with_deps
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_solver_with_deps
360s tests/puzzle/test_solver.py::test_install_honours_not_equal
360s [gw0] [ 64%] PASSED tests/puzzle/test_solver.py::test_install_honours_not_equal
360s tests/puzzle/test_solver.py::test_install_with_deps_in_order
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_with_deps_in_order
360s tests/puzzle/test_solver.py::test_install_installed
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_install_installed
360s tests/puzzle/test_solver.py::test_update_installed
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_installed
360s tests/puzzle/test_solver.py::test_update_with_use_latest
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest
360s tests/puzzle/test_solver.py::test_solver_sets_groups
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_sets_groups
360s tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_respects_root_package_python_versions
360s tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_mismatch_root_python_versions
360s tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_python_restricted_if_mismatch_root_package_python_versions
360s tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_solves_optional_and_compatible_packages
360s tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_extras_if_not_requested
360s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one]
360s [gw0] [ 65%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[one]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[two]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested[None]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[one]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[two]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_when_multiple_extras_use_same_dependency[None]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[one]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[two]
360s tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None]
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_only_requested_nested[None]
360s tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_finds_extras_next_to_non_extras
360s tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_merge_extras_into_base_package_multiple_repos_fixes_5727
360s tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_excluded_by_markers_without_extras
360s tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested
360s [gw0] [ 66%] PASSED tests/puzzle/test_solver.py::test_solver_returns_prereleases_if_requested
360s tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_return_prereleases_if_not_requested
360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements
360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_requirements_complex
360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version
360s tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_sub_dependencies_with_not_supported_python_version_transitive
360s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies
360s tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_in_both_main_and_dev_dependencies_with_one_more_dependent
360s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies
360s tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_with_dependency_and_prerelease_sub_dependencies_increasing_constraints
360s tests/puzzle/test_solver.py::test_solver_circular_dependency
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency
360s tests/puzzle/test_solver.py::test_solver_circular_dependency_chain
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_circular_dependency_chain
360s tests/puzzle/test_solver.py::test_solver_dense_dependencies
360s [gw0] [ 67%] PASSED tests/puzzle/test_solver.py::test_solver_dense_dependencies
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_same_constraint
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_same_requirements
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_by_marker
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False]
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[False]
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True]
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_sources_direct_origin_preserved[True]
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_merge_no_markers
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_conflict
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers1
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers2
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_different_constraints_discard_no_markers3
360s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection
360s [gw0] [ 68%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection
361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_ignore_overrides_with_empty_marker_intersection2
361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_sub_dependencies
361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_simple
361s tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_duplicate_dependencies_with_overlapping_markers_complex
361s tests/puzzle/test_solver.py::test_duplicate_path_dependencies
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies
361s tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_duplicate_path_dependencies_same_path
361s tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_fails_if_dependency_name_does_not_match_package
361s tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_get_stuck_in_recursion_on_circular_dependency
361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies
361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_extras
361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch]
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[branch]
361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag]
361s [gw0] [ 69%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[tag]
361s tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev]
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_git_dependencies_with_ref[rev]
361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible
361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_conflict_for_python_constraint_if_python_requirement_is_compatible_multiple
361s tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_triggers_conflict_for_dependency_python_not_fully_compatible_with_package_python
361s tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_finds_compatible_package_for_dependency_python_not_fully_compatible_with_package_python
361s tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_trigger_new_resolution_on_duplicate_dependencies_if_only_extras
361s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_locked_conditional_dependencies
361s tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_returns_extras_if_requested_in_dependencies_and_not_in_root_package
361s tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_resolve_prerelease_version_if_not_requested
361s tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_ignores_dependencies_with_incompatible_python_full_version_marker
361s tests/puzzle/test_solver.py::test_solver_git_dependencies_update
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update
361s tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped
361s [gw0] [ 70%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_update_skipped
361s tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped
361s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_git_dependencies_short_hash_update_skipped
361s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies
361s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies
362s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_nested_editable
362s tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_directory_dependencies_with_extras
362s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies
362s tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_wheel_dependencies_with_extras
362s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_dists
362s tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_can_solve_with_legacy_repository_using_proper_python_compatible_dists
362s tests/puzzle/test_solver.py::test_solver_skips_invalid_versions
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_skips_invalid_versions
362s tests/puzzle/test_solver.py::test_multiple_constraints_on_root
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_multiple_constraints_on_root
362s tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_most_recent_version_amongst_repositories
362s tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository
362s [gw0] [ 71%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_choose_from_explicit_repository
362s tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_chooses_direct_dependency_from_explicit_if_explicit
362s tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_discards_packages_with_empty_markers
362s tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_raise_conflict_for_conditional_dev_dependencies
362s tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_loop_indefinitely_on_duplicate_constraints_with_extras
362s tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fail_with_locked_git_and_non_git_dependencies
362s tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_ignore_python_constraint_no_overlap_dependencies
362s tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_go_into_an_infinite_loop_on_duplicate_dependencies
362s tests/puzzle/test_solver.py::test_solver_synchronize_single
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_synchronize_single
362s tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package
362s [gw0] [ 72%] SKIPPED tests/puzzle/test_solver.py::test_solver_with_synchronization_keeps_critical_package
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_directory_dependencies
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_file_dependencies
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies
362s [gw0] [ 72%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_git_dependencies
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_another_version_for_url_dependencies
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True]
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[True]
362s tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False]
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_cannot_choose_url_dependency_for_explicit_source[False]
362s tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_update_same_version_packages_if_installed_has_no_source_type
362s tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_use_the_python_constraint_from_the_environment_if_available
362s tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_resolve_all_versions_for_multiple_duplicate_dependencies
362s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_python_constraints
362s tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_transitive_extras
362s tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_for_packages_with_missing_extras
362s tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_can_resolve_python_restricted_package_dependencies
362s tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_should_not_raise_errors_for_irrelevant_transitive_python_constraints
362s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False]
362s [gw0] [ 73%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[False]
362s tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_keeps_multiple_locked_dependencies_for_same_package[True]
362s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[False]
362s tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_update_ref_of_locked_vcs_package[True]
362s tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_does_not_fetch_locked_vcs_package_with_ref
362s tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_direct_origin_dependency_with_extras_requested_by_other_package
362s tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_incompatible_dependency_with_and_without_extras
362s tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_prerelease_and_no_solution
362s tests/puzzle/test_solver.py::test_solver_yanked_warning
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_yanked_warning
362s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[False]
362s tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_update_with_use_latest_vs_lock[True]
362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[False]
362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True]
362s [gw0] [ 74%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependency_in_extra[True]
362s tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras
362s [gw0] [ 75%] PASSED tests/puzzle/test_solver.py::test_solver_resolves_duplicate_dependencies_with_restricted_extras
362s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order
362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_in_correct_order
362s tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages
362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_calculate_operations_for_installed_packages
362s tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required
362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_remove_installed_packages_if_required
362s tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result
362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_not_remove_installed_packages_that_are_in_result
362s tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different
362s [gw0] [ 75%] PASSED tests/puzzle/test_transaction.py::test_it_should_update_installed_packages_if_sources_are_different
363s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload
363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_reload
363s tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save
363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml.py::test_pyproject_toml_save
363s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid
363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_invalid
363s tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr
363s [gw0] [ 75%] PASSED tests/pyproject/test_pyproject_toml_file.py::test_pyproject_toml_file_getattr
363s tests/repositories/test_installed_repository.py::test_load_successful
363s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful
363s tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution
363s [gw0] [ 75%] PASSED tests/repositories/test_installed_repository.py::test_load_successful_with_invalid_distribution
363s tests/repositories/test_installed_repository.py::test_load_ensure_isolation
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_ensure_isolation
363s tests/repositories/test_installed_repository.py::test_load_standard_package
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package
363s tests/repositories/test_installed_repository.py::test_load_git_package
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package
363s tests/repositories/test_installed_repository.py::test_load_git_package_pth
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_git_package_pth
363s tests/repositories/test_installed_repository.py::test_load_platlib_package
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_platlib_package
363s tests/repositories/test_installed_repository.py::test_load_editable_package
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_package
363s tests/repositories/test_installed_repository.py::test_load_editable_with_import_package
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_editable_with_import_package
363s tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_standard_package_with_pth_file
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_no_requested_version
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_git_packages_with_subdirectory
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages
363s [gw0] [ 76%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_url_packages
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages
363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_file_packages
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages
363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_directory_packages
363s tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages
363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_load_pep_610_compliant_editable_directory_packages
363s tests/repositories/test_installed_repository.py::test_system_site_packages_source_type
363s [gw0] [ 77%] PASSED tests/repositories/test_installed_repository.py::test_system_site_packages_source_type
363s tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_relative_links_path_are_correct
363s tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_absolute_links_path_are_correct
363s tests/repositories/test_legacy_repository.py::test_page_clean_link
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_clean_link
363s tests/repositories/test_legacy_repository.py::test_page_invalid_version_link
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_invalid_version_link
363s tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_page_filters_out_invalid_package_names
363s tests/repositories/test_legacy_repository.py::test_sdist_format_support
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_sdist_format_support
363s tests/repositories/test_legacy_repository.py::test_missing_version
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_missing_version
363s tests/repositories/test_legacy_repository.py::test_package_not_canonicalized
363s [gw0] [ 77%] PASSED tests/repositories/test_legacy_repository.py::test_package_not_canonicalized
363s tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_no_prereleases
363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[*-1]
363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=1-1]
363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[<=18-0]
363s tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1]
363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[*-expected0]
363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
363s tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4]
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_find_packages_yanked[==21.11b0-expected4]
363s tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_chooses_correct_distribution
363s tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires
363s [gw0] [ 78%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_includes_python_requires
363s tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only
363s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_information_sets_appropriate_python_versions_if_wheels_only
363s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels
364s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels_python_constraint
364s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel
364s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes
364s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash
364s tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-]
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-19.10b0-False-]
364s tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
364s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-]
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-]
364s tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
364s tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash
364s [gw0] [ 79%] PASSED tests/repositories/test_legacy_repository.py::test_cached_or_downloaded_file_supports_trailing_slash
364s tests/repositories/test_legacy_repository.py::test_get_200_returns_page
364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page
364s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401]
364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401]
364s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403]
364s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403]
365s tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404]
365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404]
365s tests/repositories/test_legacy_repository.py::test_get_5xx_raises
365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises
365s tests/repositories/test_legacy_repository.py::test_get_redirected_response_url
365s [gw0] [ 80%] PASSED tests/repositories/test_legacy_repository.py::test_get_redirected_response_url
365s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0]
365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0]
365s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1]
365s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1]
366s tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2]
366s [gw0] [ 80%] FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2]
366s tests/repositories/test_lockfile_repository.py::test_has_package
366s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_has_package
366s tests/repositories/test_lockfile_repository.py::test_remove_package
366s [gw0] [ 80%] PASSED tests/repositories/test_lockfile_repository.py::test_remove_package
366s tests/repositories/test_pypi_repository.py::test_find_packages
366s [gw0] [ 80%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages
366s tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_with_prereleases
366s tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_does_not_select_prereleases_if_not_allowed
366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[*-1]
366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=1-1]
366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[<=18-0]
366s tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_only_prereleases[>=19.0.0a0-1]
366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[*-expected0]
366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
366s tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4]
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_find_packages_yanked[==21.11b0-expected4]
366s tests/repositories/test_pypi_repository.py::test_package
366s [gw0] [ 81%] PASSED tests/repositories/test_pypi_repository.py::test_package
366s tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-]
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-19.10b0-False-]
366s tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
366s tests/repositories/test_pypi_repository.py::test_package_not_canonicalized
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_package_not_canonicalized
366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-]
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-19.10b0-False-]
366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_yanked[black-21.11b0-True-Broken regex dependency. Use 21.11b1 instead.]
366s tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_on_downloading_packages
366s tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_fallback_inspects_sdist_first_if_no_matching_wheels_can_be_found
366s tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_pypi_repository_supports_reading_bz2_files
366s tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_invalid_versions_ignored
366s tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_get_should_invalid_cache_on_too_many_redirects_error
366s tests/repositories/test_pypi_repository.py::test_urls
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_urls
366s tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types
366s [gw0] [ 82%] PASSED tests/repositories/test_pypi_repository.py::test_find_links_for_package_of_supported_types
366s tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types
366s [gw0] [ 83%] PASSED tests/repositories/test_pypi_repository.py::test_get_release_info_includes_only_supported_types
366s tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[*-expected0]
366s tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=19.0a0-expected1]
366s tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=20.0a0-expected2]
366s tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[>=21.11b0-expected3]
366s tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_find_packages_yanked[==21.11b0-expected4]
366s tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-19.10b0-False-]
366s tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason]
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_yanked[black-21.11b0-True-reason]
366s tests/repositories/test_repository.py::test_package_pretty_name_is_kept
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_package_pretty_name_is_kept
366s tests/repositories/test_repository.py::test_search
366s [gw0] [ 83%] PASSED tests/repositories/test_repository.py::test_search
366s tests/repositories/test_repository_pool.py::test_pool
366s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool
366s tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories
366s [gw0] [ 83%] PASSED tests/repositories/test_repository_pool.py::test_pool_with_initial_repositories
366s tests/repositories/test_repository_pool.py::test_repository_no_repository
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_no_repository
366s tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_deprecated_ignore_repository_names
366s tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_adding_repositories_with_same_name_twice_raises_value_error
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[1]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[2]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[3]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[4]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool[5]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[False-True-3]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-False-1]
366s tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1]
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_from_single_repo_pool_legacy[True-True-1]
366s tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories
366s [gw0] [ 84%] PASSED tests/repositories/test_repository_pool.py::test_repository_with_all_prio_repositories
367s tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_secondary_and_supplemental_repositories_do_show
367s tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_explicit_repositories_do_not_show
367s tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_non_existing_repository_raises_indexerror
367s tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_existing_repository_successful
367s tests/repositories/test_repository_pool.py::test_remove_default_repository
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_remove_default_repository
367s tests/repositories/test_repository_pool.py::test_repository_ordering
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_repository_ordering
367s tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_any_repository
367s tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_only_considers_supplemental_when_needed
367s tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_get_package_in_specified_repository
367s tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_any_repository_raises_package_not_found
367s tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_no_package_from_specified_repository_raises_package_not_found
367s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository
367s [gw0] [ 85%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_any_repository
367s tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository
367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_pool_find_packages_in_specified_repository
367s tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories
367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_no_legacy_repositories
367s tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped
367s [gw0] [ 86%] PASSED tests/repositories/test_repository_pool.py::test_search_legacy_repositories_are_skipped
367s tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page
367s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_get_page
367s tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages
367s [gw0] [ 86%] PASSED tests/repositories/test_single_page_repository.py::test_single_page_repository_find_packages
367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0-py2.py3-none-any.whl-expected0]
367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.tar.gz-expected1]
367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0.egg-expected2]
367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid-py2.py3-none-any.whl-None]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid-py2.py3-none-any.whl-None]
367s tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[demo-0.1.0_invalid.egg-None]
367s tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_link_package_data[no-package-at-all.txt-None]
367s tests/repositories/link_sources/test_base.py::test_versions[demo-expected0]
367s [gw0] [ 86%] PASSED tests/repositories/link_sources/test_base.py::test_versions[demo-expected0]
367s tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_versions[invalid-expected1]
367s tests/repositories/link_sources/test_base.py::test_packages
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_packages
367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.0-filenames0]
367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.1-filenames1]
367s tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_base.py::test_links_for_version[0.1.2-filenames2]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[-expected_link0]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7"-expected_link1]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked-expected_link2]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked=""-expected_link3]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-yanked="<reason>"-expected_link4]
367s tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_link_attributes[data-requires-python=">=3.7" data-yanked-expected_link5]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False]
367s [gw0] [ 87%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs0-False]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs1-False]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs2-False]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs3-True]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs4-reason]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs5-reason]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs6-reason]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs7-reason]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs8-reason]
367s tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_yanked[yanked_attrs9-reason 1\nreason 2]
367s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-None-https://example.org/demo-0.1.whl]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-None-https://example.org/demo-0.1.whl]
367s tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-https://example.org/-https://example.org/demo-0.1.whl]
367s [gw0] [ 88%] PASSED tests/repositories/link_sources/test_html.py::test_base_url[demo-0.1.whl-https://example.org/-https://example.org/demo-0.1.whl]
367s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors
367s [gw0] [ 88%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_anchors
367s tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url
367s [gw0] [ 89%] PASSED tests/repositories/parsers/test_html_page_parser.py::test_html_page_parser_base_url
367s tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser
367s [gw0] [ 89%] PASSED tests/repositories/parsers/test_pypi_search_parser.py::test_search_parser
367s tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials
367s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials
367s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided
367s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided
368s tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials
368s tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring
368s tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring
368s tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials
368s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password
368s tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username
368s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url
368s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url
369s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc
369s [gw0] [ 89%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception
369s tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted
369s tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0]
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0]
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0]
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0]
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0]
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0]
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0]
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0]
369s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5]
369s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5]
370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5]
370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5]
370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5]
370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5]
370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5]
370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5]
370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5]
370s [gw0] [ 90%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5]
370s tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5]
370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5]
370s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials
370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials
370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None]
370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-None]
370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert]
370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[None-path/to/provided/client-cert]
370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None]
370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-None]
370s tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-path/to/provided/client-cert]
370s [gw0] [ 91%] PASSED tests/utils/test_authenticator.py::test_authenticator_uses_certs_from_config_if_not_provided[/path/to/provided/cert-path/to/provided/client-cert]
370s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path
370s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path
371s tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path
371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path
371s tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path
371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path
371s tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path
371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path
371s tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials
371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials
371s tests/utils/test_authenticator.py::test_authenticator_add_repository
371s [gw0] [ 91%] FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository
371s tests/utils/test_authenticator.py::test_authenticator_git_repositories
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_authenticator_git_repositories
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-None-result0]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-path/to/client.pem-result1]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[None-path/to/client.pem-result2]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[path/to/ca.pem-None-result3]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[True-None-result4]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-None-result5]
371s tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6]
371s [gw0] [ 92%] PASSED tests/utils/test_authenticator.py::test_repository_certificate_configuration_create[False-path/to/client.pem-result6]
371s tests/utils/test_cache.py::test_cache_validates
371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_validates
371s tests/utils/test_cache.py::test_cache_get_put_has
371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_get_put_has
371s tests/utils/test_cache.py::test_cache_forget
371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_forget
371s tests/utils/test_cache.py::test_cache_flush
371s [gw0] [ 92%] PASSED tests/utils/test_cache.py::test_cache_flush
371s tests/utils/test_cache.py::test_cache_remember
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_remember
371s tests/utils/test_cache.py::test_cache_get_limited_minutes
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_cache_get_limited_minutes
371s tests/utils/test_cache.py::test_missing_cache_file
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_file
371s tests/utils/test_cache.py::test_missing_cache_path
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_missing_cache_path
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[]
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[\x00]
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[99999999]
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[999999a999"value"]
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[9999999999"va\xd8\x00"]
371s tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_detect_corrupted_cache_key_file[fil3systemFa!led]
371s tests/utils/test_cache.py::test_get_cache_directory_for_link
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_link
371s tests/utils/test_cache.py::test_get_cache_directory_for_git[None]
371s [gw0] [ 93%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[None]
371s tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cache_directory_for_git[subdir]
371s tests/utils/test_cache.py::test_get_cached_archives
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archives
371s tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-True-available_packages0]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-True-available_packages0]
371s tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False-available_packages1]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_not_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False-available_packages1]
371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False]
371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-False]
371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0.tar.gz-True]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://files.python-poetry.org/demo-0.1.0.tar.gz-/cache/demo-0.1.0.tar.gz-True]
371s tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-True]
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_found_cached_archive_for_link[https://example.com/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-/cache/demo-0.1.0-cp38-cp38-macosx_10_15_x86_64.whl-True]
371s tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_link_no_race_condition
371s tests/utils/test_cache.py::test_get_cached_archive_for_git
371s [gw0] [ 94%] PASSED tests/utils/test_cache.py::test_get_cached_archive_for_git
371s tests/utils/test_env_site.py::test_env_site_simple
371s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_simple
371s tests/utils/test_env_site.py::test_env_site_select_first
371s [gw0] [ 94%] PASSED tests/utils/test_env_site.py::test_env_site_select_first
371s tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages0-extras0-extra_names0-expected_extra_package_names0]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages1-extras1-extra_names1-expected_extra_package_names1]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages2-extras2-extra_names2-expected_extra_package_names2]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages3-extras3-extra_names3-expected_extra_package_names3]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages4-extras4-extra_names4-expected_extra_package_names4]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages5-extras5-extra_names5-expected_extra_package_names5]
371s tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6]
371s [gw0] [ 95%] PASSED tests/utils/test_extras.py::test_get_extra_package_names[packages6-extras6-extra_names6-expected_extra_package_names6]
371s tests/utils/test_password_manager.py::test_set_http_password
371s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_http_password
371s tests/utils/test_password_manager.py::test_get_http_auth
371s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_http_auth
372s tests/utils/test_password_manager.py::test_delete_http_password
372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_delete_http_password
372s tests/utils/test_password_manager.py::test_set_pypi_token
372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token
372s tests/utils/test_password_manager.py::test_get_pypi_token
372s [gw0] [ 95%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token
372s tests/utils/test_password_manager.py::test_delete_pypi_token
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token
372s tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_http_password_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_http_password_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_set_pypi_token_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_delete_pypi_token_with_unavailable_backend
372s tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_raises_errors_on_keyring_errors
372s tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_locked_keyring
372s tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_returns_none_on_erroneous_keyring
372s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_fail_keyring_should_be_unavailable
372s tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable
372s [gw0] [ 96%] PASSED tests/utils/test_password_manager.py::test_keyring_with_chainer_backend_and_null_keyring_should_be_unavailable
372s tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_null_keyring_should_be_unavailable
372s tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_fail_keyring_should_be_unavailable
372s tests/utils/test_password_manager.py::test_locked_keyring_should_be_available
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_locked_keyring_should_be_available
372s tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_erroneous_keyring_should_be_available
372s tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_from_environment_variables
372s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_credentials_in_environment_variables
372s tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_http_auth_does_not_call_keyring_when_password_in_environment_variables
372s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_positive
372s tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available
372s [gw0] [ 97%] PASSED tests/utils/test_password_manager.py::test_get_pypi_token_with_env_var_not_available
372s tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0]
372s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[markdown_captions-2-py3-none-any.whl-expected0]
372s tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1]
372s [gw0] [ 97%] PASSED tests/utils/test_patterns.py::test_wheel_file_re[SQLAlchemy-1.3.20-cp27-cp27mu-manylinux2010_x86_64.whl-expected1]
374s tests/utils/test_pip.py::test_pip_install_successful
374s [gw0] [ 97%] PASSED tests/utils/test_pip.py::test_pip_install_successful
374s tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt
374s [gw0] [ 98%] PASSED tests/utils/test_pip.py::test_pip_install_with_keyboard_interrupt
374s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_py
374s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_direct_types
374s tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_first_level_setup_call_with_variables
374s tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_sub_level_setup_call_with_direct_types
374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg
374s tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_minimal_setup_cfg
374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_cfg_with_attr
374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_kwargs
374s tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_setup_call_in_main
374s tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_read_extras_require_with_variables
374s tests/utils/test_setup_reader.py::test_setup_reader_setuptools
374s [gw0] [ 98%] PASSED tests/utils/test_setup_reader.py::test_setup_reader_setuptools
374s tests/utils/test_source.py::test_source_to_table[source0-table_body0]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source0-table_body0]
374s tests/utils/test_source.py::test_source_to_table[source1-table_body1]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_to_table[source1-table_body1]
374s tests/utils/test_source.py::test_source_default_is_primary
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_default_is_primary
374s tests/utils/test_source.py::test_source_legacy_handling[False-True-3]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[False-True-3]
374s tests/utils/test_source.py::test_source_legacy_handling[True-False-1]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-False-1]
374s tests/utils/test_source.py::test_source_legacy_handling[True-True-1]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_legacy_handling[True-True-1]
374s tests/utils/test_source.py::test_source_priority_as_string[secondary-3]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[secondary-3]
374s tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3]
374s [gw0] [ 99%] PASSED tests/utils/test_source.py::test_source_priority_as_string[SECONDARY-3]
374s tests/vcs/git/test_system.py::TestSystemGit::test_clone_success
374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_success
374s tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter
374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_clone_invalid_parameter
374s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1
374s [gw0] [ 99%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_1
374s tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2
375s [gw0] [100%] PASSED tests/vcs/git/test_system.py::TestSystemGit::test_checkout_2
375s
375s =================================== FAILURES ===================================
375s ______________ test_create_poetry_fails_on_invalid_configuration _______________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0>
375s
375s def test_create_poetry_fails_on_invalid_configuration(
375s fixture_dir: FixtureDirGetter,
375s ) -> None:
375s with pytest.raises(RuntimeError) as e:
375s Factory().create_poetry(fixture_dir("invalid_pyproject") / "pyproject.toml")
375s
375s jsonschema_error = "'description' is a required property"
375s fastjsonschema_error = "data must contain ['description'] properties"
375s
375s expected_template = """\
375s The Poetry configuration is invalid:
375s - {schema_error}
375s - Project name (invalid) is same as one of its dependencies
375s """
375s expected = {
375s expected_template.format(schema_error=schema_error)
375s for schema_error in (jsonschema_error, fastjsonschema_error)
375s }
375s
375s > assert str(e.value) in expected
375s E assert "The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n" in {"The Poetry configuration is invalid:\n - 'description' is a required property\n - Project name (invalid) is same as one of its dependencies\n", "The Poetry configuration is invalid:\n - data must contain ['description'] properties\n - Project name (invalid) is same as one of its dependencies\n"}
375s E + where "The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n" = str(RuntimeError("The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n"))
375s E + where RuntimeError("The Poetry configuration is invalid:\n - The fields ['description'] are required in package mode.\n - Project name (invalid) is same as one of its dependencies\n") = .value
375s
375s tests/test_factory.py:540: AssertionError
375s _____________ test_publish_returns_non_zero_code_for_upload_errors _____________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s app =
375s app_tester =
375s http =
375s
375s def test_publish_returns_non_zero_code_for_upload_errors(
375s app: PoetryTestApplication,
375s app_tester: ApplicationTester,
375s http: type[httpretty.httpretty],
375s ) -> None:
375s http.register_uri(
375s http.POST, "https://upload.pypi.org/legacy/", status=400, body="Bad Request"
375s )
375s
375s exit_code = app_tester.execute("publish --username foo --password bar")
375s
375s assert exit_code == 1
375s
375s expected_output = """
375s Publishing simple-project (1.2.3) to PyPI
375s """
375s expected_error_output = """\
375s HTTP Error 400: Bad Request | b'Bad Request'
375s """
375s
375s assert expected_output in app_tester.io.fetch_output()
375s > assert expected_error_output in app_tester.io.fetch_error()
375s E assert "HTTP Error 400: Bad Request | b'Bad Request'\n" in ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n'
375s E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' = >()
375s E + where > = .fetch_error
375s E + where = .io
375s
375s tests/console/commands/test_publish.py:43: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___________ test_publish_returns_non_zero_code_for_connection_errors ___________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s app =
375s app_tester =
375s http =
375s
375s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning")
375s def test_publish_returns_non_zero_code_for_connection_errors(
375s app: PoetryTestApplication,
375s app_tester: ApplicationTester,
375s http: type[httpretty.httpretty],
375s ) -> None:
375s def request_callback(*_: Any, **__: Any) -> None:
375s raise requests.ConnectionError()
375s
375s http.register_uri(
375s http.POST, "https://upload.pypi.org/legacy/", body=request_callback
375s )
375s
375s exit_code = app_tester.execute("publish --username foo --password bar")
375s
375s assert exit_code == 1
375s
375s expected = str(UploadError(error=requests.ConnectionError()))
375s
375s > assert expected in app_tester.io.fetch_error()
375s E AssertionError: assert 'Connection Error: We were unable to connect to the repository, ensure the url is correct and can be reached.' in ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n'
375s E + where ' - Uploading simple_project-1.2.3-py2.py3-none-any.whl 0%\nFailed to socket.connect() because because a real socket was never created.\n\naddress: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\n' = >()
375s E + where > = .fetch_error
375s E + where = .io
375s
375s tests/console/commands/test_publish.py:65: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): upload.pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _________________________________ test_search __________________________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s tester =
375s http =
375s
375s def test_search(tester: CommandTester, http: type[httpretty.httpretty]) -> None:
375s > tester.execute("sqlalchemy")
375s
375s tests/console/commands/test_search.py:34:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/cleo/testers/command_tester.py:88: in execute
375s self._status_code = self._command.run(self._io)
375s /usr/lib/python3/dist-packages/cleo/commands/base_command.py:117: in run
375s return self.execute(io) or 0
375s /usr/lib/python3/dist-packages/cleo/commands/command.py:61: in execute
375s return self.handle()
375s /usr/lib/python3/dist-packages/poetry/console/commands/search.py:17: in handle
375s results = PyPiRepository().search(self.argument("tokens"))
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:57: in search
375s response = requests.get(
375s /usr/lib/python3/dist-packages/requests/api.py:73: in get
375s return request("get", url, params=params, **kwargs)
375s /usr/lib/python3/dist-packages/requests/api.py:59: in request
375s return session.request(method=method, url=url, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___________ test_chooser_chooses_universal_wheel_link_if_available[] ___________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_universal_wheel_link_if_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:148:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ________ test_chooser_chooses_universal_wheel_link_if_available[legacy] ________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_universal_wheel_link_if_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:148:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________ test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz] ___________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s policy = ':all:', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___ test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl] ___
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___ test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl] ____
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________ test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz] __________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz] ________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s policy = ':all:', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl] _
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s policy = ':none:', filename = 'pytest-3.5.0-py2.py3-none-any.whl'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl] _
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s policy = 'black', filename = 'pytest-3.5.0-py2.py3-none-any.whl'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s policy = 'pytest', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ____ test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz] ____
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s policy = 'pytest,black', filename = 'pytest-3.5.0.tar.gz'
375s config =
375s
375s @pytest.mark.parametrize(
375s ("policy", "filename"),
375s [
375s (":all:", "pytest-3.5.0.tar.gz"),
375s (":none:", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("black", "pytest-3.5.0-py2.py3-none-any.whl"),
375s ("pytest", "pytest-3.5.0.tar.gz"),
375s ("pytest,black", "pytest-3.5.0.tar.gz"),
375s ],
375s )
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_no_binary_policy(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s policy: str,
375s filename: str,
375s config: Config,
375s ) -> None:
375s config.merge({"installer": {"no-binary": policy.split(",")}})
375s
375s chooser = Chooser(pool, env, config)
375s
375s package = Package("pytest", "3.5.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:188:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___ test_chooser_chooses_specific_python_universal_wheel_link_if_available[] ___
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_specific_python_universal_wheel_link_if_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:213:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy] _
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_specific_python_universal_wheel_link_if_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:213:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ________ test_chooser_chooses_system_specific_wheel_link_if_available[] ________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_system_specific_wheel_link_if_available(
375s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool
375s ) -> None:
375s env = MockEnv(
375s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")]
375s )
375s chooser = Chooser(pool, env)
375s
375s package = Package("pyyaml", "3.13.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:237:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _____ test_chooser_chooses_system_specific_wheel_link_if_available[legacy] _____
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mock_pypi = None, mock_legacy = None, source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_system_specific_wheel_link_if_available(
375s mock_pypi: None, mock_legacy: None, source_type: str, pool: RepositoryPool
375s ) -> None:
375s env = MockEnv(
375s supported_tags=[Tag("cp37", "cp37m", "win32"), Tag("py3", "none", "any")]
375s )
375s chooser = Chooser(pool, env)
375s
375s package = Package("pyyaml", "3.13.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:237:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ____ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[] _____
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("pyyaml", "3.13.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:262:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy] __
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("pyyaml", "3.13.0")
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:262:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ______ test_chooser_chooses_distributions_that_match_the_package_hashes[] ______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_distributions_that_match_the_package_hashes(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s files = [
375s {
375s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8",
375s "filename": "isort-4.3.4.tar.gz",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:295:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___ test_chooser_chooses_distributions_that_match_the_package_hashes[legacy] ___
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_distributions_that_match_the_package_hashes(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s files = [
375s {
375s "hash": "sha256:b9c40e9750f3d77e6e4d441d8b0266cf555e7cdabdcff33c4fd06366ca761ef8",
375s "filename": "isort-4.3.4.tar.gz",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:295:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________________ test_chooser_chooses_yanked_if_no_others[] __________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_yanked_if_no_others(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("black", "21.11b0")
375s files = [
375s {
375s "filename": "black-21.11b0-py3-none-any.whl",
375s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:328:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______________ test_chooser_chooses_yanked_if_no_others[legacy] _______________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_chooses_yanked_if_no_others(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: str,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("black", "21.11b0")
375s files = [
375s {
375s "filename": "black-21.11b0-py3-none-any.whl",
375s "hash": "sha256:0b1f66cbfadcd332ceeaeecf6373d9991d451868d2e2219ad0ac1213fb701117",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:328:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ________________ test_chooser_does_not_choose_yanked_if_others _________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mock_legacy = None, mock_legacy_partial_yank = None
375s pool =
375s
375s def test_chooser_does_not_choose_yanked_if_others(
375s mock_legacy: None,
375s mock_legacy_partial_yank: None,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, MockEnv(supported_tags=[Tag("py2", "none", "any")]))
375s
375s package = Package("futures", "3.2.0")
375s files = [
375s {
375s "filename": "futures-3.2.0-py2-none-any.whl",
375s "hash": "sha256:ec0a6cb848cc212002b9828c3e34c675e0c9ff6741dc445cab6fdd4e1085d1f1",
375s },
375s {
375s "filename": "futures-3.2.0.tar.gz",
375s "hash": "sha256:9ec02aa7d674acb8618afb127e27fde7fc68994c0437ad759fa094a574adb265",
375s },
375s ]
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s package_partial_yank = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo2",
375s source_url="https://foo2.bar/simple/",
375s )
375s
375s package.files = files
375s package_partial_yank.files = files
375s
375s > link = chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:370:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ________ test_chooser_throws_an_error_if_package_hashes_do_not_match[] _________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None, source_type = ''
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_throws_an_error_if_package_hashes_do_not_match(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: None,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s files = [
375s {
375s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
375s "filename": "isort-4.3.4.tar.gz",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s with pytest.raises(RuntimeError) as e:
375s > chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:406:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:115: in find_links_for_package
375s json_data = self._get(f"pypi/{package.name}/{package.version}/json")
375s /usr/lib/python3/dist-packages/poetry/repositories/pypi_repository.py:202: in _get
375s json_response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for pypi.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): pypi.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _____ test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy] ______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s env = MockEnv("/usr"), mock_pypi = None, mock_legacy = None
375s source_type = 'legacy'
375s pool =
375s
375s @pytest.mark.parametrize("source_type", ["", "legacy"])
375s def test_chooser_throws_an_error_if_package_hashes_do_not_match(
375s env: MockEnv,
375s mock_pypi: None,
375s mock_legacy: None,
375s source_type: None,
375s pool: RepositoryPool,
375s ) -> None:
375s chooser = Chooser(pool, env)
375s
375s package = Package("isort", "4.3.4")
375s files = [
375s {
375s "hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
375s "filename": "isort-4.3.4.tar.gz",
375s }
375s ]
375s if source_type == "legacy":
375s package = Package(
375s package.name,
375s package.version.text,
375s source_type="legacy",
375s source_reference="foo",
375s source_url="https://foo.bar/simple/",
375s )
375s
375s package.files = files
375s
375s with pytest.raises(RuntimeError) as e:
375s > chooser.choose_for(package)
375s
375s tests/installation/test_chooser.py:406:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:47: in choose_for
375s for link in self._get_links(package):
375s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:89: in _get_links
375s links = repository.find_links_for_package(package)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:79: in find_links_for_package
375s page = self.get_page(package.name)
375s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
375s response = self._get_response(f"/{name}/")
375s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
375s response: requests.Response = self.session.get(
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
375s return self.request("get", url, **kwargs)
375s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
375s resp = session.send(prepared_request, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _________________ test_execute_executes_a_batch_of_operations __________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mocker =
375s config =
375s pool =
375s io =
375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0')
375s mock_file_downloads = None
375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_executes_a_batch_0/.venv")
375s copy_wheel = ._copy_wheel at 0x3ff7796ac00>
375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0>
375s
375s def test_execute_executes_a_batch_of_operations(
375s mocker: MockerFixture,
375s config: Config,
375s pool: RepositoryPool,
375s io: BufferedIO,
375s tmp_path: Path,
375s mock_file_downloads: None,
375s env: MockEnv,
375s copy_wheel: Callable[[], Path],
375s fixture_dir: FixtureDirGetter,
375s ) -> None:
375s wheel_install = mocker.patch.object(WheelInstaller, "install")
375s
375s config.merge({"cache-dir": str(tmp_path)})
375s artifact_cache = ArtifactCache(cache_dir=config.artifacts_cache_directory)
375s
375s prepare_spy = mocker.spy(Chef, "_prepare")
375s chef = Chef(artifact_cache, env, Factory.create_pool(config))
375s chef.set_directory_wheel([copy_wheel(), copy_wheel()])
375s chef.set_sdist_wheel(copy_wheel())
375s
375s io.set_verbosity(Verbosity.VERY_VERBOSE)
375s
375s executor = Executor(env, pool, config, io)
375s executor._chef = chef
375s
375s file_package = Package(
375s "demo",
375s "0.1.0",
375s source_type="file",
375s source_url=(fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl")
375s .resolve()
375s .as_posix(),
375s )
375s
375s directory_package = Package(
375s "simple-project",
375s "1.2.3",
375s source_type="directory",
375s source_url=fixture_dir("simple_project").resolve().as_posix(),
375s )
375s
375s git_package = Package(
375s "demo",
375s "0.1.0",
375s source_type="git",
375s source_reference="master",
375s source_url="https://github.com/demo/demo.git",
375s develop=True,
375s )
375s
375s return_code = executor.execute(
375s [
375s Install(Package("pytest", "3.5.1")),
375s Uninstall(Package("attrs", "17.4.0")),
375s Update(Package("requests", "2.18.3"), Package("requests", "2.18.4")),
375s Update(Package("pytest", "3.5.1"), Package("pytest", "3.5.0")),
375s Uninstall(Package("clikit", "0.2.3")).skip("Not currently installed"),
375s Install(file_package),
375s Install(directory_package),
375s Install(git_package),
375s ]
375s )
375s
375s expected = f"""
375s Package operations: 4 installs, 2 updates, 1 removal
375s
375s • Installing pytest (3.5.1)
375s • Removing attrs (17.4.0)
375s • Updating requests (2.18.3 -> 2.18.4)
375s • Downgrading pytest (3.5.1 -> 3.5.0)
375s • Installing demo (0.1.0 {file_package.source_url})
375s • Installing simple-project (1.2.3 {directory_package.source_url})
375s • Installing demo (0.1.0 master)
375s """
375s
375s expected_lines = set(expected.splitlines())
375s output_lines = set(io.fetch_output().splitlines())
375s > assert output_lines == expected_lines
375s E AssertionError: assert {'', ' ', ' ...icator)', ...} == {'', ' • Dow...roject)', ...}
375s E Extra items in the left set:
375s E ' original_archive = self._artifact_cache.get_cached_archive_for_link('
375s E ' 7 /usr/lib/python3/dist-packages/requests/adapters.py:486 in send'
375s E ' 649│ hostname = self._address[0]'
375s E ' self._prepare_proxy(conn)'
375s E ' sock = connection.create_connection('
375s E ' 646│ '...
375s E
375s E ...Full output truncated (147 lines hidden), use '-vv' to show
375s
375s tests/installation/test_executor.py:270: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_execute_prints_warning_for_yanked_package[operations0-True] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s config =
375s pool =
375s io =
375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0')
375s mock_file_downloads = None
375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo0/.venv")
375s operations = [, ]
375s has_warning = True
375s
375s @pytest.mark.parametrize(
375s "operations, has_warning",
375s [
375s (
375s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))],
375s True,
375s ),
375s (
375s [
375s Uninstall(Package("black", "21.11b0")),
375s Uninstall(Package("pytest", "3.5.1")),
375s ],
375s False,
375s ),
375s (
375s [
375s Update(Package("black", "19.10b0"), Package("black", "21.11b0")),
375s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")),
375s ],
375s True,
375s ),
375s ],
375s )
375s def test_execute_prints_warning_for_yanked_package(
375s config: Config,
375s pool: RepositoryPool,
375s io: BufferedIO,
375s tmp_path: Path,
375s mock_file_downloads: None,
375s env: MockEnv,
375s operations: list[Operation],
375s has_warning: bool,
375s ) -> None:
375s config.merge({"cache-dir": str(tmp_path)})
375s
375s executor = Executor(env, pool, config, io)
375s
375s return_code = executor.execute(operations)
375s
375s expected = (
375s "Warning: The file chosen for install of black 21.11b0 "
375s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: "
375s "Broken regex dependency. Use 21.11b1 instead."
375s )
375s output = io.fetch_output()
375s error = io.fetch_error()
375s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n"
375s E AssertionError:
375s E output:
375s E Package operations: 2 installs, 0 updates, 0 removals
375s E
375s E • Installing black (21.11b0)
375s E • Installing pytest (3.5.1)
375s E
375s E UnmockedError
375s E
375s E Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s E
375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock
375s E 641│
375s E 642│ if httpretty.allow_net_connect and not self.truesock:
375s E 643│ self.truesock = self.create_socket(address)
375s E 644│ elif not self.truesock:
375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E 646│
375s E 647│ undo_patch_socket()
375s E 648│ try:
375s E 649│ hostname = self._address[0]
375s E
375s E Cannot install pytest.
375s E
375s E
375s E UnmockedError
375s E
375s E Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s E
375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock
375s E 641│
375s E 642│ if httpretty.allow_net_connect and not self.truesock:
375s E 643│ self.truesock = self.create_socket(address)
375s E 644│ elif not self.truesock:
375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E 646│
375s E 647│ undo_patch_socket()
375s E 648│ try:
375s E 649│ hostname = self._address[0]
375s E
375s E Cannot install black.
375s E
375s E
375s E error: Warning: The file chosen for install of black 21.11b0 (black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: Broken regex dependency. Use 21.11b1 instead.
375s E
375s E
375s E assert 1 == 0
375s
375s tests/installation/test_executor.py:329: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_execute_prints_warning_for_yanked_package[operations2-True] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s config =
375s pool =
375s io =
375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2')
375s mock_file_downloads = None
375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_prints_warning_fo2/.venv")
375s operations = [, ]
375s has_warning = True
375s
375s @pytest.mark.parametrize(
375s "operations, has_warning",
375s [
375s (
375s [Install(Package("black", "21.11b0")), Install(Package("pytest", "3.5.1"))],
375s True,
375s ),
375s (
375s [
375s Uninstall(Package("black", "21.11b0")),
375s Uninstall(Package("pytest", "3.5.1")),
375s ],
375s False,
375s ),
375s (
375s [
375s Update(Package("black", "19.10b0"), Package("black", "21.11b0")),
375s Update(Package("pytest", "3.5.0"), Package("pytest", "3.5.1")),
375s ],
375s True,
375s ),
375s ],
375s )
375s def test_execute_prints_warning_for_yanked_package(
375s config: Config,
375s pool: RepositoryPool,
375s io: BufferedIO,
375s tmp_path: Path,
375s mock_file_downloads: None,
375s env: MockEnv,
375s operations: list[Operation],
375s has_warning: bool,
375s ) -> None:
375s config.merge({"cache-dir": str(tmp_path)})
375s
375s executor = Executor(env, pool, config, io)
375s
375s return_code = executor.execute(operations)
375s
375s expected = (
375s "Warning: The file chosen for install of black 21.11b0 "
375s "(black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: "
375s "Broken regex dependency. Use 21.11b1 instead."
375s )
375s output = io.fetch_output()
375s error = io.fetch_error()
375s > assert return_code == 0, f"\noutput: {output}\nerror: {error}\n"
375s E AssertionError:
375s E output:
375s E Package operations: 0 installs, 2 updates, 0 removals
375s E
375s E • Updating black (19.10b0 -> 21.11b0)
375s E • Updating pytest (3.5.0 -> 3.5.1)
375s E
375s E UnmockedError
375s E
375s E Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s E
375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock
375s E 641│
375s E 642│ if httpretty.allow_net_connect and not self.truesock:
375s E 643│ self.truesock = self.create_socket(address)
375s E 644│ elif not self.truesock:
375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E 646│
375s E 647│ undo_patch_socket()
375s E 648│ try:
375s E 649│ hostname = self._address[0]
375s E
375s E Cannot install pytest.
375s E
375s E
375s E UnmockedError
375s E
375s E Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s E
375s E at /usr/lib/python3/dist-packages/httpretty/core.py:645 in connect_truesock
375s E 641│
375s E 642│ if httpretty.allow_net_connect and not self.truesock:
375s E 643│ self.truesock = self.create_socket(address)
375s E 644│ elif not self.truesock:
375s E → 645│ raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E 646│
375s E 647│ undo_patch_socket()
375s E 648│ try:
375s E 649│ hostname = self._address[0]
375s E
375s E Cannot install black.
375s E
375s E
375s E error: Warning: The file chosen for install of black 21.11b0 (black-21.11b0-py3-none-any.whl) is yanked. Reason for being yanked: Broken regex dependency. Use 21.11b1 instead.
375s E
375s E
375s E assert 1 == 0
375s
375s tests/installation/test_executor.py:329: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (2): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _____________________ test_execute_works_with_ansi_output ______________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s config =
375s pool =
375s io_decorated =
375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0')
375s mock_file_downloads = None
375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_ansi_o0/.venv")
375s
375s def test_execute_works_with_ansi_output(
375s config: Config,
375s pool: RepositoryPool,
375s io_decorated: BufferedIO,
375s tmp_path: Path,
375s mock_file_downloads: None,
375s env: MockEnv,
375s ) -> None:
375s config.merge({"cache-dir": str(tmp_path)})
375s
375s executor = Executor(env, pool, config, io_decorated)
375s
375s return_code = executor.execute(
375s [
375s Install(Package("cleo", "1.0.0a5")),
375s ]
375s )
375s
375s # fmt: off
375s expected = [
375s "\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m removals",
375s "\x1b[34;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mPending...\x1b[39m",
375s "\x1b[34;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mDownloading...\x1b[39m",
375s "\x1b[34;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mInstalling...\x1b[39m",
375s "\x1b[32;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[32m1.0.0a5\x1b[39m\x1b[39m)\x1b[39m", # finished
375s ]
375s # fmt: on
375s
375s output = io_decorated.fetch_output()
375s # hint: use print(repr(output)) if you need to debug this
375s
375s for line in expected:
375s > assert line in output
375s E assert '\x1b[34;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mDownloading...\x1b[39m' in "\n\x1b[39;1mPackage operations\x1b[39;22m: \x1b[34m1\x1b[39m install, \x1b[34m0\x1b[39m updates, \x1b[34m0\x1b[39m removals\n\n \x1b[34;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[39;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[34mPending...\x1b[39m\n\x1b[1A\x1b[0J \x1b[31;1m•\x1b[39;22m \x1b[39mInstalling \x1b[39m\x1b[36mcleo\x1b[39m\x1b[39m (\x1b[39m\x1b[31;1m1.0.0a5\x1b[39;22m\x1b[39m)\x1b[39m: \x1b[31;1mFailed\x1b[39;22m\n\n \x1b[31;1mUnmockedError\x1b[39;22m\n\n \x1b[39;1mFailed to socket.connect() because because a real socket was never created.\n \n address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.\x1b[39;22m\n\n at \x1b[32m/usr/lib/python3/dist-packages/httpretty/core.py\x1b[39m:\x1b[39;1m645\x1b[39;22m in \x1b[36mconnect_truesock\x1b[39m\n \x1b[39;2m 641\x1b[39;22m\x1b[39;2m│\x1b[39;22m \n \x1b[39;2m 642\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m \x1b[39m\x1b[35;1mif \x1b[39;22m\x1b[39mhttpretty\x1b[39m\x1b[39;2m.\x1b[39;22m\x1b[39mallow_net_connect \x1b[39m\x1b[...39;1mself\x1b[39;22m\x1b[39;2m.\x1b[39;22m\x1b[39mtruesock\x1b[39m\x1b[39;2m:\x1b[39;22m\n \x1b[31;1m→\x1b[39;22m \x1b[39;1m 645\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m \x1b[39m\x1b[35;1mraise \x1b[39;22m\x1b[39mUnmockedError\x1b[39m\x1b[39;2m(\x1b[39;22m\x1b[33;1m'Failed to socket.connect() because because a real socket was never created.'\x1b[39;22m\x1b[39;2m, \x1b[39;22m\x1b[39mrequest\x1b[39m\x1b[39;2m=\x1b[39;22m\x1b[39mrequest\x1b[39m\x1b[39;2m, \x1b[39;22m\x1b[39maddress\x1b[39m\x1b[39;2m=\x1b[39;22m\x1b[39maddress\x1b[39m\x1b[39;2m)\x1b[39;22m\n \x1b[39;2m 646\x1b[39;22m\x1b[39;2m│\x1b[39;22m \n \x1b[39;2m 647\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m undo_patch_socket\x1b[39m\x1b[39;2m()\x1b[39;22m\n \x1b[39;2m 648\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39;2m \x1b[39;22m\x1b[35;1mtry\x1b[39;22m\x1b[39;2m:\x1b[39;22m\n \x1b[39;2m 649\x1b[39;22m\x1b[39;2m│\x1b[39;22m \x1b[39m hostname \x1b[39m\x1b[39;2m= \x1b[39;22m\x1b[39;1mself\x1b[39;22m\x1b[39;2m.\x1b[39;22m\x1b[39m_address\x1b[39m\x1b[39;2m[\x1b[39;22m\x1b[34;1m0\x1b[39;22m\x1b[39;2m]\x1b[39;22m\n\n\x1b[31;1mCannot install cleo.\x1b[39;22m\n\n"
375s
375s tests/installation/test_executor.py:487: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ____________________ test_execute_works_with_no_ansi_output ____________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mocker =
375s config =
375s pool =
375s io_not_decorated =
375s tmp_path = PosixPath('/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0')
375s mock_file_downloads = None
375s env = MockEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_execute_works_with_no_ans0/.venv")
375s
375s def test_execute_works_with_no_ansi_output(
375s mocker: MockerFixture,
375s config: Config,
375s pool: RepositoryPool,
375s io_not_decorated: BufferedIO,
375s tmp_path: Path,
375s mock_file_downloads: None,
375s env: MockEnv,
375s ) -> None:
375s config.merge({"cache-dir": str(tmp_path)})
375s
375s executor = Executor(env, pool, config, io_not_decorated)
375s
375s return_code = executor.execute(
375s [
375s Install(Package("cleo", "1.0.0a5")),
375s ]
375s )
375s
375s expected = """
375s Package operations: 1 install, 0 updates, 0 removals
375s
375s • Installing cleo (1.0.0a5)
375s """
375s expected_lines = set(expected.splitlines())
375s output_lines = set(io_not_decorated.fetch_output().splitlines())
375s > assert output_lines == expected_lines
375s E AssertionError: assert {'', ' ', ' ...uesock:', ...} == {'', ' • Ins..., 0 removals'}
375s E Extra items in the left set:
375s E ' 648│ try:'
375s E ' 649│ hostname = self._address[0]'
375s E ' 644│ elif not self.truesock:'
375s E 'Cannot install cleo.'
375s E ' 646│ '
375s E ' 641│ '...
375s E
375s E ...Full output truncated (37 lines hidden), use '-vv' to show
375s
375s tests/installation/test_executor.py:517: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ____ test_executor_should_write_pep610_url_references_for_wheel_urls[False] ____
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s tmp_venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv")
375s pool =
375s config =
375s io =
375s mock_file_downloads = None
375s mocker =
375s fixture_dir = ._fixture_dir at 0x3ff7a6976a0>
375s is_artifact_cached = False
375s
375s @pytest.mark.parametrize("is_artifact_cached", [False, True])
375s def test_executor_should_write_pep610_url_references_for_wheel_urls(
375s tmp_venv: VirtualEnv,
375s pool: RepositoryPool,
375s config: Config,
375s io: BufferedIO,
375s mock_file_downloads: None,
375s mocker: MockerFixture,
375s fixture_dir: FixtureDirGetter,
375s is_artifact_cached: bool,
375s ) -> None:
375s if is_artifact_cached:
375s link_cached = fixture_dir("distributions") / "demo-0.1.0-py2.py3-none-any.whl"
375s mocker.patch(
375s "poetry.utils.cache.ArtifactCache.get_cached_archive_for_link",
375s return_value=link_cached,
375s )
375s download_spy = mocker.spy(Executor, "_download_archive")
375s
375s package = Package(
375s "demo",
375s "0.1.0",
375s source_type="url",
375s source_url="https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl",
375s )
375s # Set package.files so the executor will attempt to hash the package
375s package.files = [
375s {
375s "file": "demo-0.1.0-py2.py3-none-any.whl",
375s "hash": "sha256:70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a",
375s }
375s ]
375s
375s executor = Executor(tmp_venv, pool, config, io)
375s operation = Install(package)
375s executor.execute([operation])
375s expected_url_reference = {
375s "archive_info": {
375s "hashes": {
375s "sha256": (
375s "70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a"
375s )
375s },
375s },
375s "url": package.source_url,
375s }
375s > verify_installed_distribution(tmp_venv, package, expected_url_reference)
375s
375s tests/installation/test_executor.py:859:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s venv = VirtualEnv("/tmp/pytest-of-root/pytest-0/popen-gw0/test_executor_should_write_pep2/venv")
375s package = Package('demo', '0.1.0', source_type='url', source_url='https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl')
375s url_reference = {'archive_info': {'hashes': {'sha256': '70e704135718fffbcbf61ed1fc45933cfd86951a744b681000eaaa75da31f17a'}}, 'url': 'https://files.pythonhosted.org/demo-0.1.0-py2.py3-none-any.whl'}
375s
375s def verify_installed_distribution(
375s venv: VirtualEnv, package: Package, url_reference: dict[str, Any] | None = None
375s ) -> None:
375s distributions = list(venv.site_packages.distributions(name=package.name))
375s > assert len(distributions) == 1
375s E assert 0 == 1
375s E + where 0 = len([])
375s
375s tests/installation/test_executor.py:619: AssertionError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for files.pythonhosted.org
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): files.pythonhosted.org:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________________ test_uploader_properly_handles_400_errors ___________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s
375s def test_uploader_properly_handles_400_errors(
375s http: type[httpretty.httpretty], uploader: Uploader
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=400, body="Bad request")
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:33:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________________ test_uploader_properly_handles_403_errors ___________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s
375s def test_uploader_properly_handles_403_errors(
375s http: type[httpretty.httpretty], uploader: Uploader
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized")
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:44:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ______________ test_uploader_properly_handles_nonstandard_errors _______________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s
375s def test_uploader_properly_handles_nonstandard_errors(
375s http: type[httpretty.httpretty], uploader: Uploader
375s ) -> None:
375s # content based off a true story.
375s # Message changed to protect the ~~innocent~~ guilty.
375s content = (
375s b'{\n "errors": [ {\n '
375s b'"status": 400,'
375s b'"message": "I cant let you do that, dave"\n'
375s b"} ]\n}"
375s )
375s http.register_uri(http.POST, "https://foo.com", status=400, body=content)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:63:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_uploader_properly_handles_redirects[308-Permanent Redirect] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 308, body = 'Permanent Redirect'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_uploader_properly_handles_redirects[307-Temporary Redirect] _______
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 307, body = 'Temporary Redirect'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s __________ test_uploader_properly_handles_redirects[304-Not Modified] __________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 304, body = 'Not Modified'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ___________ test_uploader_properly_handles_redirects[303-See Other] ____________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 303, body = 'See Other'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _____________ test_uploader_properly_handles_redirects[302-Found] ______________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 302, body = 'Found'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _______ test_uploader_properly_handles_redirects[301-Moved Permanently] ________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 301, body = 'Moved Permanently'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ________ test_uploader_properly_handles_redirects[300-Multiple Choices] ________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 300, body = 'Multiple Choices'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (308, "Permanent Redirect"),
375s (307, "Temporary Redirect"),
375s (304, "Not Modified"),
375s (303, "See Other"),
375s (302, "Found"),
375s (301, "Moved Permanently"),
375s (300, "Multiple Choices"),
375s ],
375s )
375s def test_uploader_properly_handles_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:86:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _________________ test_uploader_properly_handles_301_redirects _________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s
375s def test_uploader_properly_handles_301_redirects(
375s http: type[httpretty.httpretty], uploader: Uploader
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=301, body="Redirect")
375s
375s with pytest.raises(UploadError) as e:
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:100:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ______________ test_uploader_registers_for_appropriate_400_errors ______________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s mocker =
375s http =
375s uploader =
375s
375s def test_uploader_registers_for_appropriate_400_errors(
375s mocker: MockerFixture, http: type[httpretty.httpretty], uploader: Uploader
375s ) -> None:
375s register = mocker.patch("poetry.publishing.uploader.Uploader._register")
375s http.register_uri(
375s http.POST, "https://foo.com", status=400, body="No package was ever registered"
375s )
375s
375s with pytest.raises(UploadError):
375s > uploader.upload("https://foo.com")
375s
375s tests/publishing/test_uploader.py:117:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ______________________ test_uploader_skips_existing[409-] ______________________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 409, body = ''
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (409, ""),
375s (400, "File already exists"),
375s (400, "Repository does not allow updating assets"),
375s (403, "Not enough permissions to overwrite artifact"),
375s (400, "file name has already been taken"),
375s ],
375s )
375s def test_uploader_skips_existing(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s # should not raise
375s > uploader.upload("https://foo.com", skip_existing=True)
375s
375s tests/publishing/test_uploader.py:138:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s ____________ test_uploader_skips_existing[400-File already exists] _____________
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 400, body = 'File already exists'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (409, ""),
375s (400, "File already exists"),
375s (400, "Repository does not allow updating assets"),
375s (403, "Not enough permissions to overwrite artifact"),
375s (400, "file name has already been taken"),
375s ],
375s )
375s def test_uploader_skips_existing(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s # should not raise
375s > uploader.upload("https://foo.com", skip_existing=True)
375s
375s tests/publishing/test_uploader.py:138:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_uploader_skips_existing[400-Repository does not allow updating assets] __
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 400, body = 'Repository does not allow updating assets'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (409, ""),
375s (400, "File already exists"),
375s (400, "Repository does not allow updating assets"),
375s (403, "Not enough permissions to overwrite artifact"),
375s (400, "file name has already been taken"),
375s ],
375s )
375s def test_uploader_skips_existing(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s # should not raise
375s > uploader.upload("https://foo.com", skip_existing=True)
375s
375s tests/publishing/test_uploader.py:138:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
375s address = ('squid.internal', 3128)
375s
375s def connect_truesock(self, request=None, address=None):
375s address = address or self._address
375s
375s if self.__truesock_is_connected__:
375s return self.truesock
375s
375s if request:
375s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
375s elif address:
375s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
375s else:
375s logger.warning('real call to socket.connect()')
375s
375s if httpretty.allow_net_connect and not self.truesock:
375s self.truesock = self.create_socket(address)
375s elif not self.truesock:
375s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
375s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
375s E
375s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
375s
375s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
375s ----------------------------- Captured stdout call -----------------------------
375s real call to socket.connect() for ('squid.internal', 3128)
375s ------------------------------ Captured log call -------------------------------
375s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
375s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
375s _ test_uploader_skips_existing[403-Not enough permissions to overwrite artifact] _
375s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
375s
375s http =
375s uploader =
375s status = 403, body = 'Not enough permissions to overwrite artifact'
375s
375s @pytest.mark.parametrize(
375s "status, body",
375s [
375s (409, ""),
375s (400, "File already exists"),
375s (400, "Repository does not allow updating assets"),
375s (403, "Not enough permissions to overwrite artifact"),
375s (400, "file name has already been taken"),
375s ],
375s )
375s def test_uploader_skips_existing(
375s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
375s ) -> None:
375s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
375s
375s # should not raise
375s > uploader.upload("https://foo.com", skip_existing=True)
375s
375s tests/publishing/test_uploader.py:138:
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
375s self._upload(session, url, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
375s self._upload_file(session, url, file, dry_run, skip_existing)
375s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
375s resp = session.post(
375s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
375s return self.request("POST", url, data=data, json=json, **kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
375s resp = self.send(prep, **send_kwargs)
375s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
375s r = adapter.send(request, **kwargs)
375s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
375s resp = conn.urlopen(
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
375s self._prepare_proxy(conn)
375s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
375s conn.connect()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
375s self.sock = sock = self._new_conn()
375s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
375s sock = connection.create_connection(
375s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
375s sock.connect(sa)
375s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
375s self.connect_truesock(address=address)
375s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
375s
375s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______ test_uploader_skips_existing[400-file name has already been taken] ______
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s uploader =
376s status = 400, body = 'file name has already been taken'
376s
376s @pytest.mark.parametrize(
376s "status, body",
376s [
376s (409, ""),
376s (400, "File already exists"),
376s (400, "Repository does not allow updating assets"),
376s (403, "Not enough permissions to overwrite artifact"),
376s (400, "file name has already been taken"),
376s ],
376s )
376s def test_uploader_skips_existing(
376s http: type[httpretty.httpretty], uploader: Uploader, status: int, body: str
376s ) -> None:
376s http.register_uri(http.POST, "https://foo.com", status=status, body=body)
376s
376s # should not raise
376s > uploader.upload("https://foo.com", skip_existing=True)
376s
376s tests/publishing/test_uploader.py:138:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
376s self._upload(session, url, dry_run, skip_existing)
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
376s self._upload_file(session, url, file, dry_run, skip_existing)
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
376s resp = session.post(
376s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
376s return self.request("POST", url, data=data, json=json, **kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
376s resp = self.send(prep, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ____________ test_uploader_skip_existing_bubbles_unskippable_errors ____________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s uploader =
376s
376s def test_uploader_skip_existing_bubbles_unskippable_errors(
376s http: type[httpretty.httpretty], uploader: Uploader
376s ) -> None:
376s http.register_uri(http.POST, "https://foo.com", status=403, body="Unauthorized")
376s
376s with pytest.raises(UploadError):
376s > uploader.upload("https://foo.com", skip_existing=True)
376s
376s tests/publishing/test_uploader.py:147:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:110: in upload
376s self._upload(session, url, dry_run, skip_existing)
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:192: in _upload
376s self._upload_file(session, url, file, dry_run, skip_existing)
376s /usr/lib/python3/dist-packages/poetry/publishing/uploader.py:235: in _upload_file
376s resp = session.post(
376s /usr/lib/python3/dist-packages/requests/sessions.py:637: in post
376s return self.request("POST", url, data=data, json=json, **kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request
376s resp = self.send(prep, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.com:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s __________________________ test_get_200_returns_page ___________________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s
376s def test_get_200_returns_page(http: type[httpretty.httpretty]) -> None:
376s repo = MockHttpRepository({"/foo/": 200}, http)
376s
376s > _ = repo.get_page("foo")
376s
376s tests/repositories/test_legacy_repository.py:512:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen
376s response = self._make_request(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
376s conn.request(
376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
376s self.endheaders()
376s /usr/lib/python3.12/http/client.py:1326: in endheaders
376s self._send_output(message_body, encode_chunked=encode_chunked)
376s /usr/lib/python3.12/http/client.py:1085: in _send_output
376s self.send(msg)
376s /usr/lib/python3.12/http/client.py:1029: in send
376s self.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
376s self.sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________________ test_get_40x_and_returns_none[401] ______________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s status_code = 401
376s
376s @pytest.mark.parametrize("status_code", [401, 403, 404])
376s def test_get_40x_and_returns_none(
376s http: type[httpretty.httpretty], status_code: int
376s ) -> None:
376s repo = MockHttpRepository({"/foo/": status_code}, http)
376s
376s with pytest.raises(PackageNotFound):
376s > repo.get_page("foo")
376s
376s tests/repositories/test_legacy_repository.py:522:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen
376s response = self._make_request(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
376s conn.request(
376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
376s self.endheaders()
376s /usr/lib/python3.12/http/client.py:1326: in endheaders
376s self._send_output(message_body, encode_chunked=encode_chunked)
376s /usr/lib/python3.12/http/client.py:1085: in _send_output
376s self.send(msg)
376s /usr/lib/python3.12/http/client.py:1029: in send
376s self.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
376s self.sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________________ test_get_40x_and_returns_none[403] ______________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s status_code = 403
376s
376s @pytest.mark.parametrize("status_code", [401, 403, 404])
376s def test_get_40x_and_returns_none(
376s http: type[httpretty.httpretty], status_code: int
376s ) -> None:
376s repo = MockHttpRepository({"/foo/": status_code}, http)
376s
376s with pytest.raises(PackageNotFound):
376s > repo.get_page("foo")
376s
376s tests/repositories/test_legacy_repository.py:522:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen
376s response = self._make_request(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
376s conn.request(
376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
376s self.endheaders()
376s /usr/lib/python3.12/http/client.py:1326: in endheaders
376s self._send_output(message_body, encode_chunked=encode_chunked)
376s /usr/lib/python3.12/http/client.py:1085: in _send_output
376s self.send(msg)
376s /usr/lib/python3.12/http/client.py:1029: in send
376s self.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
376s self.sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________________ test_get_40x_and_returns_none[404] ______________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s status_code = 404
376s
376s @pytest.mark.parametrize("status_code", [401, 403, 404])
376s def test_get_40x_and_returns_none(
376s http: type[httpretty.httpretty], status_code: int
376s ) -> None:
376s repo = MockHttpRepository({"/foo/": status_code}, http)
376s
376s with pytest.raises(PackageNotFound):
376s > repo.get_page("foo")
376s
376s tests/repositories/test_legacy_repository.py:522:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen
376s response = self._make_request(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
376s conn.request(
376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
376s self.endheaders()
376s /usr/lib/python3.12/http/client.py:1326: in endheaders
376s self._send_output(message_body, encode_chunked=encode_chunked)
376s /usr/lib/python3.12/http/client.py:1085: in _send_output
376s self.send(msg)
376s /usr/lib/python3.12/http/client.py:1029: in send
376s self.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
376s self.sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _____________________________ test_get_5xx_raises ______________________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s
376s def test_get_5xx_raises(http: type[httpretty.httpretty]) -> None:
376s repo = MockHttpRepository({"/foo/": 500}, http)
376s
376s with pytest.raises(RepositoryError):
376s > repo.get_page("foo")
376s
376s tests/repositories/test_legacy_repository.py:529:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: in urlopen
376s response = self._make_request(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request
376s conn.request(
376s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request
376s self.endheaders()
376s /usr/lib/python3.12/http/client.py:1326: in endheaders
376s self._send_output(message_body, encode_chunked=encode_chunked)
376s /usr/lib/python3.12/http/client.py:1085: in _send_output
376s self.send(msg)
376s /usr/lib/python3.12/http/client.py:1029: in send
376s self.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect
376s self.sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for legacy.foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP connection (1): squid.internal:3128
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___ test_authenticator_with_implicit_repository_configuration[repositories0] ___
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s config = , repositories = {}
376s
376s @pytest.mark.parametrize(
376s ("repositories",),
376s [
376s ({},),
376s # ensure path is respected
376s ({"publish": {"url": "https://foo.bar/legacy"}},),
376s # ensure path length does not give incorrect results
376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},),
376s ],
376s )
376s def test_authenticator_with_implicit_repository_configuration(
376s http: type[httpretty.httpretty],
376s config: Config,
376s repositories: dict[str, dict[str, str]],
376s ) -> None:
376s http.register_uri(
376s http.GET,
376s re.compile("^https?://foo.bar/(.+?)$"),
376s )
376s
376s config.merge(
376s {
376s "repositories": repositories,
376s "http-basic": {
376s "source": {"username": "foo", "password": "bar"},
376s "publish": {"username": "baz", "password": "qux"},
376s },
376s }
376s )
376s
376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config)
376s > repo.get_page("/foo")
376s
376s tests/repositories/test_legacy_repository.py:583:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___ test_authenticator_with_implicit_repository_configuration[repositories1] ___
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s config =
376s repositories = {'publish': {'url': 'https://foo.bar/legacy'}}
376s
376s @pytest.mark.parametrize(
376s ("repositories",),
376s [
376s ({},),
376s # ensure path is respected
376s ({"publish": {"url": "https://foo.bar/legacy"}},),
376s # ensure path length does not give incorrect results
376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},),
376s ],
376s )
376s def test_authenticator_with_implicit_repository_configuration(
376s http: type[httpretty.httpretty],
376s config: Config,
376s repositories: dict[str, dict[str, str]],
376s ) -> None:
376s http.register_uri(
376s http.GET,
376s re.compile("^https?://foo.bar/(.+?)$"),
376s )
376s
376s config.merge(
376s {
376s "repositories": repositories,
376s "http-basic": {
376s "source": {"username": "foo", "password": "bar"},
376s "publish": {"username": "baz", "password": "qux"},
376s },
376s }
376s )
376s
376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config)
376s > repo.get_page("/foo")
376s
376s tests/repositories/test_legacy_repository.py:583:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___ test_authenticator_with_implicit_repository_configuration[repositories2] ___
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s http =
376s config =
376s repositories = {'publish': {'url': 'https://foo.bar/upload/legacy'}}
376s
376s @pytest.mark.parametrize(
376s ("repositories",),
376s [
376s ({},),
376s # ensure path is respected
376s ({"publish": {"url": "https://foo.bar/legacy"}},),
376s # ensure path length does not give incorrect results
376s ({"publish": {"url": "https://foo.bar/upload/legacy"}},),
376s ],
376s )
376s def test_authenticator_with_implicit_repository_configuration(
376s http: type[httpretty.httpretty],
376s config: Config,
376s repositories: dict[str, dict[str, str]],
376s ) -> None:
376s http.register_uri(
376s http.GET,
376s re.compile("^https?://foo.bar/(.+?)$"),
376s )
376s
376s config.merge(
376s {
376s "repositories": repositories,
376s "http-basic": {
376s "source": {"username": "foo", "password": "bar"},
376s "publish": {"username": "baz", "password": "qux"},
376s },
376s }
376s )
376s
376s repo = LegacyRepository(name="source", url="https://foo.bar/simple", config=config)
376s > repo.get_page("/foo")
376s
376s tests/repositories/test_legacy_repository.py:583:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/repositories/legacy_repository.py:138: in _get_page
376s response = self._get_response(f"/{name}/")
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:268: in _get_response
376s response: requests.Response = self.session.get(
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:271: in get
376s return self.request("get", url, **kwargs)
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - publish, source
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______________ test_authenticator_uses_url_provided_credentials _______________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_config =
376s mock_remote = None
376s http =
376s
376s def test_authenticator_uses_url_provided_credentials(
376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty]
376s ) -> None:
376s authenticator = Authenticator(mock_config, NullIO())
376s > authenticator.request("get", "https://foo001:bar002@foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:67:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001:bar002@foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______ test_authenticator_uses_credentials_from_config_if_not_provided ________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_config =
376s mock_remote = None
376s http =
376s
376s def test_authenticator_uses_credentials_from_config_if_not_provided(
376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty]
376s ) -> None:
376s authenticator = Authenticator(mock_config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:78:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________ test_authenticator_uses_username_only_credentials _______________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_config =
376s mock_remote = None
376s http =
376s with_simple_keyring = None
376s
376s def test_authenticator_uses_username_only_credentials(
376s mock_config: Config,
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s ) -> None:
376s authenticator = Authenticator(mock_config, NullIO())
376s > authenticator.request("get", "https://foo001@foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:92:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo001@foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s __________________ test_authenticator_ignores_locked_keyring ___________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_remote = None
376s http =
376s with_locked_keyring = None
376s caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff7a18bb90>
376s
376s def test_authenticator_ignores_locked_keyring(
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_locked_keyring: None,
376s caplog: LogCaptureFixture,
376s ) -> None:
376s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager")
376s authenticator = Authenticator()
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:107:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring https://foo.bar/files/foo-0.1.0.tar.gz is locked
376s DEBUG poetry.utils.password_manager:password_manager.py:58 Keyring foo.bar is locked
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s __________________ test_authenticator_ignores_failing_keyring __________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_remote = None
376s http =
376s with_erroneous_keyring = None
376s caplog = <_pytest.logging.LogCaptureFixture object at 0x3ff75aad2b0>
376s
376s def test_authenticator_ignores_failing_keyring(
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_erroneous_keyring: None,
376s caplog: LogCaptureFixture,
376s ) -> None:
376s caplog.set_level(logging.DEBUG, logger="poetry.utils.password_manager")
376s authenticator = Authenticator()
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:122:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring https://foo.bar/files/foo-0.1.0.tar.gz failed
376s Traceback (most recent call last):
376s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential
376s credential = keyring.get_credential(name, username)
376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential
376s return get_keyring().get_credential(service_name, username)
376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376s File "/tmp/autopkgtest.ATeZkA/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential
376s raise KeyringError()
376s keyring.errors.KeyringError
376s DEBUG poetry.utils.password_manager:password_manager.py:60 Accessing keyring foo.bar failed
376s Traceback (most recent call last):
376s File "/usr/lib/python3/dist-packages/poetry/utils/password_manager.py", line 56, in get_credential
376s credential = keyring.get_credential(name, username)
376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376s File "/usr/lib/python3/dist-packages/keyring/core.py", line 73, in get_credential
376s return get_keyring().get_credential(service_name, username)
376s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376s File "/tmp/autopkgtest.ATeZkA/autopkgtest_tmp/tests/conftest.py", line 147, in get_credential
376s raise KeyringError()
376s keyring.errors.KeyringError
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________ test_authenticator_uses_password_only_credentials _______________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mock_config =
376s mock_remote = None
376s http =
376s
376s def test_authenticator_uses_password_only_credentials(
376s mock_config: Config, mock_remote: None, http: type[httpretty.httpretty]
376s ) -> None:
376s authenticator = Authenticator(mock_config, NullIO())
376s > authenticator.request("get", "https://:bar002@foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:133:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for :bar002@foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s __________ test_authenticator_uses_empty_strings_as_default_password ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}
376s http =
376s with_simple_keyring = None
376s
376s def test_authenticator_uses_empty_strings_as_default_password(
376s config: Config,
376s mock_remote: None,
376s repo: dict[str, dict[str, str]],
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s ) -> None:
376s config.merge(
376s {
376s "repositories": repo,
376s "http-basic": {"foo": {"username": "bar"}},
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:155:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s __________ test_authenticator_uses_empty_strings_as_default_username ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}
376s http =
376s
376s def test_authenticator_uses_empty_strings_as_default_username(
376s config: Config,
376s mock_remote: None,
376s repo: dict[str, dict[str, str]],
376s http: type[httpretty.httpretty],
376s ) -> None:
376s config.merge(
376s {
376s "repositories": repo,
376s "http-basic": {"foo": {"username": None, "password": "bar"}},
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:176:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _________________ test_authenticator_falls_back_to_keyring_url _________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}
376s http =
376s with_simple_keyring = None
376s dummy_keyring =
376s
376s def test_authenticator_falls_back_to_keyring_url(
376s config: Config,
376s mock_remote: None,
376s repo: dict[str, dict[str, str]],
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s dummy_keyring: DummyBackend,
376s ) -> None:
376s config.merge(
376s {
376s "repositories": repo,
376s }
376s )
376s
376s dummy_keyring.set_password(
376s "https://foo.bar/simple/", None, SimpleCredential("foo", "bar")
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:202:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______________ test_authenticator_falls_back_to_keyring_netloc ________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}
376s http =
376s with_simple_keyring = None
376s dummy_keyring =
376s
376s def test_authenticator_falls_back_to_keyring_netloc(
376s config: Config,
376s mock_remote: None,
376s repo: dict[str, dict[str, str]],
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s dummy_keyring: DummyBackend,
376s ) -> None:
376s config.merge(
376s {
376s "repositories": repo,
376s }
376s )
376s
376s dummy_keyring.set_password("foo.bar", None, SimpleCredential("foo", "bar"))
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:226:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______________ test_authenticator_request_retries_on_exception ________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s
376s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning")
376s def test_authenticator_request_retries_on_exception(
376s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty]
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s seen: list[str] = []
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s if seen.count(uri) < 2:
376s seen.append(uri)
376s raise requests.exceptions.ConnectionError("Disconnected")
376s return [200, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s
376s authenticator = Authenticator(config, NullIO())
376s > response = authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:253:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _____ test_authenticator_request_raises_exception_when_attempts_exhausted ______
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s
376s @pytest.mark.filterwarnings("ignore::pytest.PytestUnhandledThreadExceptionWarning")
376s def test_authenticator_request_raises_exception_when_attempts_exhausted(
376s mocker: MockerFixture, config: Config, http: type[httpretty.httpretty]
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s
376s def callback(*_: Any, **___: Any) -> None:
376s raise requests.exceptions.ConnectionError(str(uuid.uuid4()))
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.ConnectionError):
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:272:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______________ test_authenticator_request_respects_retry_header _______________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s
376s def test_authenticator_request_respects_retry_header(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s seen: list[str] = []
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s if not seen.count(uri):
376s seen.append(uri)
376s return [429, {"Retry-After": "42"}, "Retry later"]
376s
376s return [200, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s > response = authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:299:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[400-0] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 400, attempts = 0
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[401-0] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 401, attempts = 0
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[403-0] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 403, attempts = 0
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[404-0] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 404, attempts = 0
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[429-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 429, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[500-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 500, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[501-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 501, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[502-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 502, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[503-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 503, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ___________ test_authenticator_request_retries_on_status_code[504-5] ___________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s mocker =
376s config =
376s http =
376s status = 504, attempts = 5
376s
376s @pytest.mark.parametrize(
376s ["status", "attempts"],
376s [
376s (400, 0),
376s (401, 0),
376s (403, 0),
376s (404, 0),
376s (429, 5),
376s (500, 5),
376s (501, 5),
376s (502, 5),
376s (503, 5),
376s (504, 5),
376s ],
376s )
376s def test_authenticator_request_retries_on_status_code(
376s mocker: MockerFixture,
376s config: Config,
376s http: type[httpretty.httpretty],
376s status: int,
376s attempts: int,
376s ) -> None:
376s sleep = mocker.patch("time.sleep")
376s sdist_uri = f"https://foo.bar/files/{uuid.uuid4()!s}/foo-0.1.0.tar.gz"
376s content = str(uuid.uuid4())
376s
376s def callback(
376s request: requests.Request, uri: str, response_headers: dict[str, str]
376s ) -> list[int | dict[str, str] | str]:
376s return [status, response_headers, content]
376s
376s http.register_uri(httpretty.GET, sdist_uri, body=callback)
376s authenticator = Authenticator(config, NullIO())
376s
376s with pytest.raises(requests.exceptions.HTTPError) as excinfo:
376s > authenticator.request("get", sdist_uri)
376s
376s tests/utils/test_authenticator.py:339:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _______________ test_authenticator_uses_env_provided_credentials _______________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config =
376s repo = {'foo': {'url': 'https://foo.bar/simple/'}}, environ = None
376s mock_remote = None
376s http =
376s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff76955940>
376s
376s def test_authenticator_uses_env_provided_credentials(
376s config: Config,
376s repo: dict[str, dict[str, str]],
376s environ: None,
376s mock_remote: type[httpretty.httpretty],
376s http: type[httpretty.httpretty],
376s monkeypatch: MonkeyPatch,
376s ) -> None:
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_USERNAME", "bar")
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_PASSWORD", "baz")
376s
376s config.merge({"repositories": repo})
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/files/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:362:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _____ test_authenticator_uses_credentials_from_config_matched_by_url_path ______
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s http =
376s
376s def test_authenticator_uses_credentials_from_config_matched_by_url_path(
376s config: Config, mock_remote: None, http: type[httpretty.httpretty]
376s ) -> None:
376s config.merge(
376s {
376s "repositories": {
376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"},
376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"},
376s },
376s "http-basic": {
376s "foo-alpha": {"username": "bar", "password": "alpha"},
376s "foo-beta": {"username": "baz", "password": "beta"},
376s },
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:432:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _____ test_authenticator_uses_credentials_from_config_with_at_sign_in_path _____
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s http =
376s
376s def test_authenticator_uses_credentials_from_config_with_at_sign_in_path(
376s config: Config, mock_remote: None, http: type[httpretty.httpretty]
376s ) -> None:
376s config.merge(
376s {
376s "repositories": {
376s "foo": {"url": "https://foo.bar/beta/files/simple/"},
376s },
376s "http-basic": {
376s "foo": {"username": "bar", "password": "baz"},
376s },
376s }
376s )
376s authenticator = Authenticator(config, NullIO())
376s > authenticator.request("get", "https://foo.bar/beta/files/simple/f@@-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:462:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _________ test_authenticator_falls_back_to_keyring_url_matched_by_path _________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s http =
376s with_simple_keyring = None
376s dummy_keyring =
376s
376s def test_authenticator_falls_back_to_keyring_url_matched_by_path(
376s config: Config,
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s dummy_keyring: DummyBackend,
376s ) -> None:
376s config.merge(
376s {
376s "repositories": {
376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"},
376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"},
376s }
376s }
376s )
376s
376s dummy_keyring.set_password(
376s "https://foo.bar/alpha/files/simple/", None, SimpleCredential("foo", "bar")
376s )
376s dummy_keyring.set_password(
376s "https://foo.bar/beta/files/simple/", None, SimpleCredential("foo", "baz")
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s
376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:495:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s _____ test_authenticator_uses_env_provided_credentials_matched_by_url_path _____
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , environ = None
376s mock_remote = None
376s http =
376s monkeypatch = <_pytest.monkeypatch.MonkeyPatch object at 0x3ff76954aa0>
376s
376s def test_authenticator_uses_env_provided_credentials_matched_by_url_path(
376s config: Config,
376s environ: None,
376s mock_remote: type[httpretty.httpretty],
376s http: type[httpretty.httpretty],
376s monkeypatch: MonkeyPatch,
376s ) -> None:
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_USERNAME", "bar")
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_ALPHA_PASSWORD", "alpha")
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_USERNAME", "baz")
376s monkeypatch.setenv("POETRY_HTTP_BASIC_FOO_BETA_PASSWORD", "beta")
376s
376s config.merge(
376s {
376s "repositories": {
376s "foo-alpha": {"url": "https://foo.bar/alpha/files/simple/"},
376s "foo-beta": {"url": "https://foo.bar/beta/files/simple/"},
376s }
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s
376s > authenticator.request("get", "https://foo.bar/alpha/files/simple/foo-0.1.0.tar.gz")
376s
376s tests/utils/test_authenticator.py:531:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - foo-alpha, foo-beta
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ________________ test_authenticator_azure_feed_guid_credentials ________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s http =
376s with_simple_keyring = None
376s dummy_keyring =
376s
376s def test_authenticator_azure_feed_guid_credentials(
376s config: Config,
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s dummy_keyring: DummyBackend,
376s ) -> None:
376s config.merge(
376s {
376s "repositories": {
376s "alpha": {
376s "url": "https://foo.bar/org-alpha/_packaging/feed/pypi/simple/"
376s },
376s "beta": {
376s "url": "https://foo.bar/org-beta/_packaging/feed/pypi/simple/"
376s },
376s },
376s "http-basic": {
376s "alpha": {"username": "foo", "password": "bar"},
376s "beta": {"username": "baz", "password": "qux"},
376s },
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s
376s > authenticator.request(
376s "get",
376s "https://foo.bar/org-alpha/_packaging/GUID/pypi/simple/a/1.0.0/a-1.0.0.whl",
376s )
376s
376s tests/utils/test_authenticator.py:570:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG poetry.utils.authenticator:authenticator.py:430 Multiple source configurations found for foo.bar - alpha, beta
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s ______________________ test_authenticator_add_repository _______________________
376s [gw0] linux -- Python 3.12.2 /usr/bin/python3.12
376s
376s config = , mock_remote = None
376s http =
376s with_simple_keyring = None
376s dummy_keyring =
376s
376s def test_authenticator_add_repository(
376s config: Config,
376s mock_remote: None,
376s http: type[httpretty.httpretty],
376s with_simple_keyring: None,
376s dummy_keyring: DummyBackend,
376s ) -> None:
376s config.merge(
376s {
376s "http-basic": {
376s "source": {"username": "foo", "password": "bar"},
376s },
376s }
376s )
376s
376s authenticator = Authenticator(config, NullIO())
376s
376s > authenticator.request(
376s "get",
376s "https://foo.bar/simple/a/1.0.0/a-1.0.0.whl",
376s )
376s
376s tests/utils/test_authenticator.py:606:
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s /usr/lib/python3/dist-packages/poetry/utils/authenticator.py:242: in request
376s resp = session.send(prepared_request, **send_kwargs)
376s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send
376s r = adapter.send(request, **kwargs)
376s /usr/lib/python3/dist-packages/cachecontrol/adapter.py:76: in send
376s resp = super().send(request, stream, timeout, verify, cert, proxies)
376s /usr/lib/python3/dist-packages/requests/adapters.py:486: in send
376s resp = conn.urlopen(
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:777: in urlopen
376s self._prepare_proxy(conn)
376s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:1046: in _prepare_proxy
376s conn.connect()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:611: in connect
376s self.sock = sock = self._new_conn()
376s /usr/lib/python3/dist-packages/urllib3/connection.py:203: in _new_conn
376s sock = connection.create_connection(
376s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: in create_connection
376s sock.connect(sa)
376s /usr/lib/python3/dist-packages/httpretty/core.py:609: in connect
376s self.connect_truesock(address=address)
376s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
376s
376s self = httpretty.core.socket("squid.internal:3128"), request = None
376s address = ('squid.internal', 3128)
376s
376s def connect_truesock(self, request=None, address=None):
376s address = address or self._address
376s
376s if self.__truesock_is_connected__:
376s return self.truesock
376s
376s if request:
376s logger.warning('real call to socket.connect() for {request}'.format(**locals()))
376s elif address:
376s logger.warning('real call to socket.connect() for {address}'.format(**locals()))
376s else:
376s logger.warning('real call to socket.connect()')
376s
376s if httpretty.allow_net_connect and not self.truesock:
376s self.truesock = self.create_socket(address)
376s elif not self.truesock:
376s > raise UnmockedError('Failed to socket.connect() because because a real socket was never created.', request=request, address=address)
376s E httpretty.errors.UnmockedError: Failed to socket.connect() because because a real socket was never created.
376s E
376s E address: squid.internal:3128 | Tip: You could try setting (allow_net_connect=True) to allow unregistered requests through a real TCP connection in addition to (verbose=True) to debug the issue.
376s
376s /usr/lib/python3/dist-packages/httpretty/core.py:645: UnmockedError
376s ----------------------------- Captured stdout call -----------------------------
376s real call to socket.connect() for ('squid.internal', 3128)
376s ------------------------------ Captured log call -------------------------------
376s DEBUG poetry.utils.authenticator:authenticator.py:166 Creating new session for foo.bar
376s DEBUG urllib3.connectionpool:connectionpool.py:1053 Starting new HTTPS connection (1): foo.bar:443
376s WARNING httpretty.core:core.py:638 real call to socket.connect() for ('squid.internal', 3128)
376s =============================== warnings summary ===============================
376s tests/console/commands/test_add.py: 13 warnings
376s tests/console/commands/test_show.py: 1 warning
376s tests/installation/test_executor.py: 8 warnings
376s tests/installation/test_installer.py: 2 warnings
376s tests/packages/test_direct_origin.py: 2 warnings
376s tests/puzzle/test_solver.py: 3 warnings
376s tests/utils/test_cache.py: 12 warnings
376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s if link.hash_name is not None and link.hash is not None:
376s
376s tests/console/commands/test_build.py::test_build_with_multiple_readme_files
376s /usr/lib/python3/dist-packages/poetry/console/commands/build.py:24: DeprecationWarning: poetry.core.masonry.builder is deprecated. Its functionality has been movedfrom poetry-core to poetry (poetry.console.commands.build).
376s from poetry.core.masonry.builder import Builder
376s
376s tests/installation/test_executor.py: 16 warnings
376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:189: DeprecationWarning: hash is deprecated. Use hashes instead.
376s if not link.hash:
376s
376s tests/installation/test_executor.py: 16 warnings
376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:192: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s assert link.hash_name is not None
376s
376s tests/installation/test_executor.py: 16 warnings
376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s h = link.hash_name + ":" + link.hash
376s
376s tests/installation/test_executor.py: 16 warnings
376s /usr/lib/python3/dist-packages/poetry/installation/chooser.py:193: DeprecationWarning: hash is deprecated. Use hashes instead.
376s h = link.hash_name + ":" + link.hash
376s
376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_works_with_ansi_output
376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:200: DeprecationWarning: hash is deprecated. Use hashes instead.
376s if link.hash_name is not None and link.hash is not None:
376s
376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_works_with_ansi_output
376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash is deprecated. Use hashes instead.
376s key_parts[link.hash_name] = link.hash
376s
376s tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s tests/installation/test_executor.py::test_execute_works_with_ansi_output
376s tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
376s /usr/lib/python3/dist-packages/poetry/utils/cache.py:201: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s key_parts[link.hash_name] = link.hash
376s
376s tests/puzzle/test_solver.py: 16 warnings
376s tests/repositories/test_legacy_repository.py: 52 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash is deprecated. Use hashes instead.
376s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None
376s
376s tests/puzzle/test_solver.py: 8 warnings
376s tests/repositories/test_legacy_repository.py: 25 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:225: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s file_hash = f"{link.hash_name}:{link.hash}" if link.hash else None
376s
376s tests/puzzle/test_solver.py: 8 warnings
376s tests/repositories/test_legacy_repository.py: 27 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:227: DeprecationWarning: hash is deprecated. Use hashes instead.
376s if not link.hash or (
376s
376s tests/puzzle/test_solver.py: 8 warnings
376s tests/repositories/test_legacy_repository.py: 25 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:228: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s link.hash_name is not None
376s
376s tests/puzzle/test_solver.py: 8 warnings
376s tests/repositories/test_legacy_repository.py: 25 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:229: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s and link.hash_name not in ("sha256", "sha384", "sha512")
376s
376s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels
376s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel
376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes
376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:230: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s and hasattr(hashlib, link.hash_name)
376s
376s tests/repositories/test_legacy_repository.py: 10 warnings
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:248: DeprecationWarning: hash_name is deprecated. Use hashes instead.
376s known_hash = getattr(hashlib, link.hash_name)() if link.hash_name else None
376s
376s tests/repositories/test_legacy_repository.py::test_get_package_from_both_py2_and_py3_specific_wheels
376s tests/repositories/test_legacy_repository.py::test_get_package_with_dist_and_universal_py3_wheel
376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes
376s tests/repositories/test_legacy_repository.py::test_get_package_retrieves_non_sha256_hashes_mismatching_known_hash
376s /usr/lib/python3/dist-packages/poetry/repositories/http_repository.py:261: DeprecationWarning: hash is deprecated. Use hashes instead.
376s if not known_hash or known_hash.hexdigest() == link.hash:
376s
376s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
376s =========================== short test summary info ============================
376s FAILED tests/test_factory.py::test_create_poetry_fails_on_invalid_configuration
376s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_upload_errors
376s FAILED tests/console/commands/test_publish.py::test_publish_returns_non_zero_code_for_connection_errors
376s FAILED tests/console/commands/test_search.py::test_search - httpretty.errors....
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_universal_wheel_link_if_available[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:all:-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-:none:-pytest-3.5.0-py2.py3-none-any.whl]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-black-pytest-3.5.0-py2.py3-none-any.whl]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[-pytest,black-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:all:-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-:none:-pytest-3.5.0-py2.py3-none-any.whl]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-black-pytest-3.5.0-py2.py3-none-any.whl]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_no_binary_policy[legacy-pytest,black-pytest-3.5.0.tar.gz]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_specific_python_universal_wheel_link_if_available[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_system_specific_wheel_link_if_available[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_sdist_if_no_compatible_wheel_link_is_available[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_distributions_that_match_the_package_hashes[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[]
376s FAILED tests/installation/test_chooser.py::test_chooser_chooses_yanked_if_no_others[legacy]
376s FAILED tests/installation/test_chooser.py::test_chooser_does_not_choose_yanked_if_others
376s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[]
376s FAILED tests/installation/test_chooser.py::test_chooser_throws_an_error_if_package_hashes_do_not_match[legacy]
376s FAILED tests/installation/test_executor.py::test_execute_executes_a_batch_of_operations
376s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations0-True]
376s FAILED tests/installation/test_executor.py::test_execute_prints_warning_for_yanked_package[operations2-True]
376s FAILED tests/installation/test_executor.py::test_execute_works_with_ansi_output
376s FAILED tests/installation/test_executor.py::test_execute_works_with_no_ansi_output
376s FAILED tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_wheel_urls[False]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_400_errors
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_403_errors
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_nonstandard_errors
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[308-Permanent Redirect]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[307-Temporary Redirect]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[304-Not Modified]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[303-See Other]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[302-Found]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[301-Moved Permanently]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_redirects[300-Multiple Choices]
376s FAILED tests/publishing/test_uploader.py::test_uploader_properly_handles_301_redirects
376s FAILED tests/publishing/test_uploader.py::test_uploader_registers_for_appropriate_400_errors
376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[409-]
376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-File already exists]
376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-Repository does not allow updating assets]
376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[403-Not enough permissions to overwrite artifact]
376s FAILED tests/publishing/test_uploader.py::test_uploader_skips_existing[400-file name has already been taken]
376s FAILED tests/publishing/test_uploader.py::test_uploader_skip_existing_bubbles_unskippable_errors
376s FAILED tests/repositories/test_legacy_repository.py::test_get_200_returns_page
376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[401]
376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[403]
376s FAILED tests/repositories/test_legacy_repository.py::test_get_40x_and_returns_none[404]
376s FAILED tests/repositories/test_legacy_repository.py::test_get_5xx_raises - ht...
376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories0]
376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories1]
376s FAILED tests/repositories/test_legacy_repository.py::test_authenticator_with_implicit_repository_configuration[repositories2]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_url_provided_credentials
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_if_not_provided
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_username_only_credentials
376s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_locked_keyring
376s FAILED tests/utils/test_authenticator.py::test_authenticator_ignores_failing_keyring
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_password_only_credentials
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_password
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_empty_strings_as_default_username
376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url
376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_netloc
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_exception
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_raises_exception_when_attempts_exhausted
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_respects_retry_header
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[400-0]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[401-0]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[403-0]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[404-0]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[429-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[500-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[501-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[502-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[503-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_request_retries_on_status_code[504-5]
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_matched_by_url_path
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_credentials_from_config_with_at_sign_in_path
376s FAILED tests/utils/test_authenticator.py::test_authenticator_falls_back_to_keyring_url_matched_by_path
376s FAILED tests/utils/test_authenticator.py::test_authenticator_uses_env_provided_credentials_matched_by_url_path
376s FAILED tests/utils/test_authenticator.py::test_authenticator_azure_feed_guid_credentials
376s FAILED tests/utils/test_authenticator.py::test_authenticator_add_repository
376s ===== 91 failed, 1100 passed, 4 skipped, 347 warnings in 139.13s (0:02:19) =====
376s autopkgtest [23:05:03]: test pytest: -----------------------]
377s autopkgtest [23:05:04]: test pytest: - - - - - - - - - - results - - - - - - - - - -
377s pytest FAIL non-zero exit status 1
378s autopkgtest [23:05:05]: @@@@@@@@@@@@@@@@@@@@ summary
378s pytest FAIL non-zero exit status 1
420s Creating nova instance adt-noble-s390x-poetry-20240321-225847-juju-7f2275-prod-proposed-migration-environment-3 from image adt/ubuntu-noble-s390x-server-20240321.img (UUID a4b1c77c-a35e-4d28-a8d9-902a1febb465)...