0s autopkgtest [11:50:24]: starting date and time: 2024-06-29 11:50:24+0000 0s autopkgtest [11:50:24]: git checkout: 85adf9a1 setup-testbed: prevent /tmp from getting a tmpfs mount 0s autopkgtest [11:50:24]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.c3p2cuyh/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:requests --apt-upgrade python-requests-unixsocket --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=requests/2.32.3+dfsg-1ubuntu1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-arm64-15.secgroup --name adt-oracular-arm64-python-requests-unixsocket-20240629-113339-juju-7f2275-prod-proposed-migration-environment-2-8c494823-f19d-46a7-acb0-751c6c4b706b --image adt/ubuntu-oracular-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,keyserver.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 50s autopkgtest [11:51:14]: testbed dpkg architecture: arm64 51s autopkgtest [11:51:15]: testbed apt version: 2.9.5 51s autopkgtest [11:51:15]: @@@@@@@@@@@@@@@@@@@@ test bed setup 51s Get:1 http://ftpmaster.internal/ubuntu oracular-proposed InRelease [110 kB] 51s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/universe Sources [370 kB] 52s Get:3 http://ftpmaster.internal/ubuntu oracular-proposed/main Sources [53.6 kB] 52s Get:4 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse Sources [2576 B] 52s Get:5 http://ftpmaster.internal/ubuntu oracular-proposed/restricted Sources [7052 B] 52s Get:6 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 Packages [102 kB] 52s Get:7 http://ftpmaster.internal/ubuntu oracular-proposed/restricted arm64 Packages [32.5 kB] 52s Get:8 http://ftpmaster.internal/ubuntu oracular-proposed/universe arm64 Packages [355 kB] 52s Get:9 http://ftpmaster.internal/ubuntu oracular-proposed/multiverse arm64 Packages [7928 B] 52s Fetched 1042 kB in 1s (1164 kB/s) 52s Reading package lists... 54s Reading package lists... 55s Building dependency tree... 55s Reading state information... 55s Calculating upgrade... 55s The following packages will be upgraded: 55s dracut-install python3-requests 55s 2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 55s Need to get 85.2 kB of archives. 55s After this operation, 9216 B of additional disk space will be used. 55s Get:1 http://ftpmaster.internal/ubuntu oracular/main arm64 dracut-install arm64 102-3ubuntu3 [32.5 kB] 56s Get:2 http://ftpmaster.internal/ubuntu oracular-proposed/main arm64 python3-requests all 2.32.3+dfsg-1ubuntu1 [52.6 kB] 56s Fetched 85.2 kB in 0s (241 kB/s) 56s (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 ... 78326 files and directories currently installed.) 56s Preparing to unpack .../dracut-install_102-3ubuntu3_arm64.deb ... 56s Unpacking dracut-install (102-3ubuntu3) over (102-3ubuntu2) ... 56s Preparing to unpack .../python3-requests_2.32.3+dfsg-1ubuntu1_all.deb ... 56s Unpacking python3-requests (2.32.3+dfsg-1ubuntu1) over (2.31.0+dfsg-1ubuntu3) ... 56s Setting up python3-requests (2.32.3+dfsg-1ubuntu1) ... 57s Setting up dracut-install (102-3ubuntu3) ... 57s Reading package lists... 57s Building dependency tree... 57s Reading state information... 57s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 58s Hit:1 http://ftpmaster.internal/ubuntu oracular InRelease 58s Hit:2 http://ftpmaster.internal/ubuntu oracular-updates InRelease 58s Hit:3 http://ftpmaster.internal/ubuntu oracular-security InRelease 58s Hit:4 http://ftpmaster.internal/ubuntu oracular-proposed InRelease 59s Reading package lists... 59s Reading package lists... 59s Building dependency tree... 59s Reading state information... 59s Calculating upgrade... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 60s Reading package lists... 60s Building dependency tree... 60s Reading state information... 60s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 63s autopkgtest [11:51:27]: testbed running kernel: Linux 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 02:32:42 UTC 2024 63s autopkgtest [11:51:27]: @@@@@@@@@@@@@@@@@@@@ apt-source python-requests-unixsocket 65s Get:1 http://ftpmaster.internal/ubuntu oracular/universe python-requests-unixsocket 0.3.0-4 (dsc) [2359 B] 65s Get:2 http://ftpmaster.internal/ubuntu oracular/universe python-requests-unixsocket 0.3.0-4 (tar) [10.3 kB] 65s Get:3 http://ftpmaster.internal/ubuntu oracular/universe python-requests-unixsocket 0.3.0-4 (diff) [4136 B] 65s gpgv: Signature made Mon Apr 29 13:16:38 2024 UTC 65s gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE 65s gpgv: Can't check signature: No public key 65s dpkg-source: warning: cannot verify inline signature for ./python-requests-unixsocket_0.3.0-4.dsc: no acceptable signature found 65s autopkgtest [11:51:29]: testing package python-requests-unixsocket version 0.3.0-4 66s autopkgtest [11:51:30]: build not needed 66s autopkgtest [11:51:30]: test python3-requests-unixsocket: preparing testbed 67s Reading package lists... 67s Building dependency tree... 67s Reading state information... 68s Starting pkgProblemResolver with broken count: 0 68s Starting 2 pkgProblemResolver with broken count: 0 68s Done 68s The following additional packages will be installed: 68s autoconf automake autopoint autotools-dev build-essential cpp cpp-13 68s cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper debugedit 68s dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-13 68s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 68s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 68s libarchive-zip-perl libasan8 libatomic1 libcc1-0 libdebhelper-perl 68s libfile-stripnondeterminism-perl libgcc-13-dev libgomp1 libhwasan0 libisl23 68s libitm1 liblsan0 libmpc3 libstdc++-13-dev libtool libtsan2 libubsan1 m4 68s openstack-pkg-tools po-debconf python3-all python3-iniconfig 68s python3-packaging python3-pbr python3-pip python3-pluggy python3-pytest 68s python3-requests-unixsocket python3-setuptools python3-waitress 68s python3-wheel 68s Suggested packages: 68s autoconf-archive gnu-standards autoconf-doc cpp-doc gcc-13-locales 68s cpp-13-doc dh-make flit python3-build python3-installer gcc-13-doc 68s gcc-multilib manpages-dev flex bison gdb gcc-doc gdb-aarch64-linux-gnu 68s gettext-doc libasprintf-dev libgettextpo-dev libstdc++-13-doc libtool-doc 68s gfortran | fortran95-compiler gcj-jdk m4-doc libmail-box-perl 68s python-setuptools-doc python-waitress-doc 68s Recommended packages: 68s libarchive-cpio-perl libltdl-dev autopkgtest madison-lite pristine-tar 68s libmail-sendmail-perl python3-dev libjs-sphinxdoc 68s The following NEW packages will be installed: 68s autoconf automake autopkgtest-satdep autopoint autotools-dev build-essential 68s cpp cpp-13 cpp-13-aarch64-linux-gnu cpp-aarch64-linux-gnu debhelper 68s debugedit dh-autoreconf dh-python dh-strip-nondeterminism dwz g++ g++-13 68s g++-13-aarch64-linux-gnu g++-aarch64-linux-gnu gcc gcc-13 68s gcc-13-aarch64-linux-gnu gcc-aarch64-linux-gnu gettext intltool-debian 68s libarchive-zip-perl libasan8 libatomic1 libcc1-0 libdebhelper-perl 68s libfile-stripnondeterminism-perl libgcc-13-dev libgomp1 libhwasan0 libisl23 68s libitm1 liblsan0 libmpc3 libstdc++-13-dev libtool libtsan2 libubsan1 m4 68s openstack-pkg-tools po-debconf python3-all python3-iniconfig 68s python3-packaging python3-pbr python3-pip python3-pluggy python3-pytest 68s python3-requests-unixsocket python3-setuptools python3-waitress 68s python3-wheel 68s 0 upgraded, 57 newly installed, 0 to remove and 0 not upgraded. 68s Need to get 64.8 MB/64.8 MB of archives. 68s After this operation, 231 MB of additional disk space will be used. 68s Get:1 /tmp/autopkgtest.Pdfe3L/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [824 B] 68s Get:2 http://ftpmaster.internal/ubuntu oracular/main arm64 m4 arm64 1.4.19-4build1 [240 kB] 69s Get:3 http://ftpmaster.internal/ubuntu oracular/main arm64 autoconf all 2.71-3 [339 kB] 69s Get:4 http://ftpmaster.internal/ubuntu oracular/main arm64 autotools-dev all 20220109.1 [44.9 kB] 69s Get:5 http://ftpmaster.internal/ubuntu oracular/main arm64 automake all 1:1.16.5-1.3ubuntu1 [558 kB] 69s Get:6 http://ftpmaster.internal/ubuntu oracular/main arm64 autopoint all 0.21-14ubuntu2 [422 kB] 69s Get:7 http://ftpmaster.internal/ubuntu oracular/main arm64 libisl23 arm64 0.26-3build1 [669 kB] 69s Get:8 http://ftpmaster.internal/ubuntu oracular/main arm64 libmpc3 arm64 1.3.1-1build1 [56.4 kB] 69s Get:9 http://ftpmaster.internal/ubuntu oracular/main arm64 cpp-13-aarch64-linux-gnu arm64 13.2.0-23ubuntu4 [10.3 MB] 69s Get:10 http://ftpmaster.internal/ubuntu oracular/main arm64 cpp-13 arm64 13.2.0-23ubuntu4 [1032 B] 69s Get:11 http://ftpmaster.internal/ubuntu oracular/main arm64 cpp-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [5316 B] 69s Get:12 http://ftpmaster.internal/ubuntu oracular/main arm64 cpp arm64 4:13.2.0-7ubuntu1 [22.4 kB] 69s Get:13 http://ftpmaster.internal/ubuntu oracular/main arm64 libcc1-0 arm64 14.1.0-1ubuntu1 [49.4 kB] 69s Get:14 http://ftpmaster.internal/ubuntu oracular/main arm64 libgomp1 arm64 14.1.0-1ubuntu1 [144 kB] 69s Get:15 http://ftpmaster.internal/ubuntu oracular/main arm64 libitm1 arm64 14.1.0-1ubuntu1 [27.9 kB] 69s Get:16 http://ftpmaster.internal/ubuntu oracular/main arm64 libatomic1 arm64 14.1.0-1ubuntu1 [11.4 kB] 69s Get:17 http://ftpmaster.internal/ubuntu oracular/main arm64 libasan8 arm64 14.1.0-1ubuntu1 [2922 kB] 69s Get:18 http://ftpmaster.internal/ubuntu oracular/main arm64 liblsan0 arm64 14.1.0-1ubuntu1 [1286 kB] 69s Get:19 http://ftpmaster.internal/ubuntu oracular/main arm64 libtsan2 arm64 14.1.0-1ubuntu1 [2692 kB] 69s Get:20 http://ftpmaster.internal/ubuntu oracular/main arm64 libubsan1 arm64 14.1.0-1ubuntu1 [1155 kB] 69s Get:21 http://ftpmaster.internal/ubuntu oracular/main arm64 libhwasan0 arm64 14.1.0-1ubuntu1 [1604 kB] 69s Get:22 http://ftpmaster.internal/ubuntu oracular/main arm64 libgcc-13-dev arm64 13.2.0-23ubuntu4 [2470 kB] 69s Get:23 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc-13-aarch64-linux-gnu arm64 13.2.0-23ubuntu4 [20.1 MB] 70s Get:24 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc-13 arm64 13.2.0-23ubuntu4 [472 kB] 70s Get:25 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [1198 B] 70s Get:26 http://ftpmaster.internal/ubuntu oracular/main arm64 gcc arm64 4:13.2.0-7ubuntu1 [5018 B] 70s Get:27 http://ftpmaster.internal/ubuntu oracular/main arm64 libstdc++-13-dev arm64 13.2.0-23ubuntu4 [2379 kB] 70s Get:28 http://ftpmaster.internal/ubuntu oracular/main arm64 g++-13-aarch64-linux-gnu arm64 13.2.0-23ubuntu4 [11.7 MB] 70s Get:29 http://ftpmaster.internal/ubuntu oracular/main arm64 g++-13 arm64 13.2.0-23ubuntu4 [14.5 kB] 70s Get:30 http://ftpmaster.internal/ubuntu oracular/main arm64 g++-aarch64-linux-gnu arm64 4:13.2.0-7ubuntu1 [962 B] 70s Get:31 http://ftpmaster.internal/ubuntu oracular/main arm64 g++ arm64 4:13.2.0-7ubuntu1 [1082 B] 70s Get:32 http://ftpmaster.internal/ubuntu oracular/main arm64 build-essential arm64 12.10ubuntu1 [4932 B] 70s Get:33 http://ftpmaster.internal/ubuntu oracular/main arm64 libdebhelper-perl all 13.16ubuntu2 [92.9 kB] 70s Get:34 http://ftpmaster.internal/ubuntu oracular/main arm64 libtool all 2.4.7-7build1 [166 kB] 70s Get:35 http://ftpmaster.internal/ubuntu oracular/main arm64 dh-autoreconf all 20 [16.1 kB] 70s Get:36 http://ftpmaster.internal/ubuntu oracular/main arm64 libarchive-zip-perl all 1.68-1 [90.2 kB] 70s Get:37 http://ftpmaster.internal/ubuntu oracular/main arm64 libfile-stripnondeterminism-perl all 1.14.0-1 [20.1 kB] 70s Get:38 http://ftpmaster.internal/ubuntu oracular/main arm64 dh-strip-nondeterminism all 1.14.0-1 [5058 B] 70s Get:39 http://ftpmaster.internal/ubuntu oracular/main arm64 debugedit arm64 1:5.0-5build2 [45.3 kB] 70s Get:40 http://ftpmaster.internal/ubuntu oracular/main arm64 dwz arm64 0.15-1build6 [113 kB] 70s Get:41 http://ftpmaster.internal/ubuntu oracular/main arm64 gettext arm64 0.21-14ubuntu2 [845 kB] 70s Get:42 http://ftpmaster.internal/ubuntu oracular/main arm64 intltool-debian all 0.35.0+20060710.6 [23.2 kB] 70s Get:43 http://ftpmaster.internal/ubuntu oracular/main arm64 po-debconf all 1.0.21+nmu1 [233 kB] 70s Get:44 http://ftpmaster.internal/ubuntu oracular/main arm64 debhelper all 13.16ubuntu2 [869 kB] 70s Get:45 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-setuptools all 68.1.2-2ubuntu1 [396 kB] 70s Get:46 http://ftpmaster.internal/ubuntu oracular/universe arm64 dh-python all 6.20240422 [110 kB] 70s Get:47 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-all arm64 3.12.3-0ubuntu1 [888 B] 70s Get:48 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 70s Get:49 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-packaging all 24.0-1 [41.1 kB] 70s Get:50 http://ftpmaster.internal/ubuntu oracular/main arm64 python3-pbr all 5.11.1-0ubuntu1 [66.5 kB] 70s Get:51 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-wheel all 0.43.0-1 [53.5 kB] 70s Get:52 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pip all 24.1+dfsg-1 [1399 kB] 70s Get:53 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pluggy all 1.5.0-1 [21.0 kB] 70s Get:54 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 70s Get:55 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-requests-unixsocket all 0.3.0-4 [7274 B] 70s Get:56 http://ftpmaster.internal/ubuntu oracular/universe arm64 python3-waitress all 3.0.0-1 [46.4 kB] 70s Get:57 http://ftpmaster.internal/ubuntu oracular/universe arm64 openstack-pkg-tools all 123ubuntu2 [94.5 kB] 71s Fetched 64.8 MB in 2s (26.9 MB/s) 71s Selecting previously unselected package m4. 71s (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 ... 78325 files and directories currently installed.) 71s Preparing to unpack .../00-m4_1.4.19-4build1_arm64.deb ... 71s Unpacking m4 (1.4.19-4build1) ... 71s Selecting previously unselected package autoconf. 71s Preparing to unpack .../01-autoconf_2.71-3_all.deb ... 71s Unpacking autoconf (2.71-3) ... 71s Selecting previously unselected package autotools-dev. 71s Preparing to unpack .../02-autotools-dev_20220109.1_all.deb ... 71s Unpacking autotools-dev (20220109.1) ... 71s Selecting previously unselected package automake. 71s Preparing to unpack .../03-automake_1%3a1.16.5-1.3ubuntu1_all.deb ... 71s Unpacking automake (1:1.16.5-1.3ubuntu1) ... 71s Selecting previously unselected package autopoint. 71s Preparing to unpack .../04-autopoint_0.21-14ubuntu2_all.deb ... 71s Unpacking autopoint (0.21-14ubuntu2) ... 71s Selecting previously unselected package libisl23:arm64. 71s Preparing to unpack .../05-libisl23_0.26-3build1_arm64.deb ... 71s Unpacking libisl23:arm64 (0.26-3build1) ... 71s Selecting previously unselected package libmpc3:arm64. 71s Preparing to unpack .../06-libmpc3_1.3.1-1build1_arm64.deb ... 71s Unpacking libmpc3:arm64 (1.3.1-1build1) ... 71s Selecting previously unselected package cpp-13-aarch64-linux-gnu. 71s Preparing to unpack .../07-cpp-13-aarch64-linux-gnu_13.2.0-23ubuntu4_arm64.deb ... 71s Unpacking cpp-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 71s Selecting previously unselected package cpp-13. 71s Preparing to unpack .../08-cpp-13_13.2.0-23ubuntu4_arm64.deb ... 71s Unpacking cpp-13 (13.2.0-23ubuntu4) ... 71s Selecting previously unselected package cpp-aarch64-linux-gnu. 71s Preparing to unpack .../09-cpp-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 71s Unpacking cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 71s Selecting previously unselected package cpp. 71s Preparing to unpack .../10-cpp_4%3a13.2.0-7ubuntu1_arm64.deb ... 71s Unpacking cpp (4:13.2.0-7ubuntu1) ... 71s Selecting previously unselected package libcc1-0:arm64. 72s Preparing to unpack .../11-libcc1-0_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libcc1-0:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libgomp1:arm64. 72s Preparing to unpack .../12-libgomp1_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libgomp1:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libitm1:arm64. 72s Preparing to unpack .../13-libitm1_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libitm1:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libatomic1:arm64. 72s Preparing to unpack .../14-libatomic1_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libatomic1:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libasan8:arm64. 72s Preparing to unpack .../15-libasan8_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libasan8:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package liblsan0:arm64. 72s Preparing to unpack .../16-liblsan0_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking liblsan0:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libtsan2:arm64. 72s Preparing to unpack .../17-libtsan2_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libtsan2:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libubsan1:arm64. 72s Preparing to unpack .../18-libubsan1_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libubsan1:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libhwasan0:arm64. 72s Preparing to unpack .../19-libhwasan0_14.1.0-1ubuntu1_arm64.deb ... 72s Unpacking libhwasan0:arm64 (14.1.0-1ubuntu1) ... 72s Selecting previously unselected package libgcc-13-dev:arm64. 72s Preparing to unpack .../20-libgcc-13-dev_13.2.0-23ubuntu4_arm64.deb ... 72s Unpacking libgcc-13-dev:arm64 (13.2.0-23ubuntu4) ... 72s Selecting previously unselected package gcc-13-aarch64-linux-gnu. 72s Preparing to unpack .../21-gcc-13-aarch64-linux-gnu_13.2.0-23ubuntu4_arm64.deb ... 72s Unpacking gcc-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 73s Selecting previously unselected package gcc-13. 73s Preparing to unpack .../22-gcc-13_13.2.0-23ubuntu4_arm64.deb ... 73s Unpacking gcc-13 (13.2.0-23ubuntu4) ... 73s Selecting previously unselected package gcc-aarch64-linux-gnu. 73s Preparing to unpack .../23-gcc-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 73s Unpacking gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 73s Selecting previously unselected package gcc. 73s Preparing to unpack .../24-gcc_4%3a13.2.0-7ubuntu1_arm64.deb ... 73s Unpacking gcc (4:13.2.0-7ubuntu1) ... 73s Selecting previously unselected package libstdc++-13-dev:arm64. 73s Preparing to unpack .../25-libstdc++-13-dev_13.2.0-23ubuntu4_arm64.deb ... 73s Unpacking libstdc++-13-dev:arm64 (13.2.0-23ubuntu4) ... 73s Selecting previously unselected package g++-13-aarch64-linux-gnu. 73s Preparing to unpack .../26-g++-13-aarch64-linux-gnu_13.2.0-23ubuntu4_arm64.deb ... 73s Unpacking g++-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 73s Selecting previously unselected package g++-13. 73s Preparing to unpack .../27-g++-13_13.2.0-23ubuntu4_arm64.deb ... 73s Unpacking g++-13 (13.2.0-23ubuntu4) ... 73s Selecting previously unselected package g++-aarch64-linux-gnu. 73s Preparing to unpack .../28-g++-aarch64-linux-gnu_4%3a13.2.0-7ubuntu1_arm64.deb ... 73s Unpacking g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 73s Selecting previously unselected package g++. 73s Preparing to unpack .../29-g++_4%3a13.2.0-7ubuntu1_arm64.deb ... 73s Unpacking g++ (4:13.2.0-7ubuntu1) ... 73s Selecting previously unselected package build-essential. 73s Preparing to unpack .../30-build-essential_12.10ubuntu1_arm64.deb ... 73s Unpacking build-essential (12.10ubuntu1) ... 73s Selecting previously unselected package libdebhelper-perl. 73s Preparing to unpack .../31-libdebhelper-perl_13.16ubuntu2_all.deb ... 73s Unpacking libdebhelper-perl (13.16ubuntu2) ... 73s Selecting previously unselected package libtool. 73s Preparing to unpack .../32-libtool_2.4.7-7build1_all.deb ... 73s Unpacking libtool (2.4.7-7build1) ... 73s Selecting previously unselected package dh-autoreconf. 73s Preparing to unpack .../33-dh-autoreconf_20_all.deb ... 73s Unpacking dh-autoreconf (20) ... 73s Selecting previously unselected package libarchive-zip-perl. 73s Preparing to unpack .../34-libarchive-zip-perl_1.68-1_all.deb ... 73s Unpacking libarchive-zip-perl (1.68-1) ... 73s Selecting previously unselected package libfile-stripnondeterminism-perl. 73s Preparing to unpack .../35-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... 73s Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... 73s Selecting previously unselected package dh-strip-nondeterminism. 73s Preparing to unpack .../36-dh-strip-nondeterminism_1.14.0-1_all.deb ... 73s Unpacking dh-strip-nondeterminism (1.14.0-1) ... 73s Selecting previously unselected package debugedit. 73s Preparing to unpack .../37-debugedit_1%3a5.0-5build2_arm64.deb ... 73s Unpacking debugedit (1:5.0-5build2) ... 73s Selecting previously unselected package dwz. 73s Preparing to unpack .../38-dwz_0.15-1build6_arm64.deb ... 73s Unpacking dwz (0.15-1build6) ... 73s Selecting previously unselected package gettext. 73s Preparing to unpack .../39-gettext_0.21-14ubuntu2_arm64.deb ... 73s Unpacking gettext (0.21-14ubuntu2) ... 74s Selecting previously unselected package intltool-debian. 74s Preparing to unpack .../40-intltool-debian_0.35.0+20060710.6_all.deb ... 74s Unpacking intltool-debian (0.35.0+20060710.6) ... 74s Selecting previously unselected package po-debconf. 74s Preparing to unpack .../41-po-debconf_1.0.21+nmu1_all.deb ... 74s Unpacking po-debconf (1.0.21+nmu1) ... 74s Selecting previously unselected package debhelper. 74s Preparing to unpack .../42-debhelper_13.16ubuntu2_all.deb ... 74s Unpacking debhelper (13.16ubuntu2) ... 74s Selecting previously unselected package python3-setuptools. 74s Preparing to unpack .../43-python3-setuptools_68.1.2-2ubuntu1_all.deb ... 74s Unpacking python3-setuptools (68.1.2-2ubuntu1) ... 74s Selecting previously unselected package dh-python. 74s Preparing to unpack .../44-dh-python_6.20240422_all.deb ... 74s Unpacking dh-python (6.20240422) ... 74s Selecting previously unselected package python3-all. 74s Preparing to unpack .../45-python3-all_3.12.3-0ubuntu1_arm64.deb ... 74s Unpacking python3-all (3.12.3-0ubuntu1) ... 74s Selecting previously unselected package python3-iniconfig. 74s Preparing to unpack .../46-python3-iniconfig_1.1.1-2_all.deb ... 74s Unpacking python3-iniconfig (1.1.1-2) ... 74s Selecting previously unselected package python3-packaging. 74s Preparing to unpack .../47-python3-packaging_24.0-1_all.deb ... 74s Unpacking python3-packaging (24.0-1) ... 74s Selecting previously unselected package python3-pbr. 74s Preparing to unpack .../48-python3-pbr_5.11.1-0ubuntu1_all.deb ... 74s Unpacking python3-pbr (5.11.1-0ubuntu1) ... 74s Selecting previously unselected package python3-wheel. 74s Preparing to unpack .../49-python3-wheel_0.43.0-1_all.deb ... 74s Unpacking python3-wheel (0.43.0-1) ... 74s Selecting previously unselected package python3-pip. 74s Preparing to unpack .../50-python3-pip_24.1+dfsg-1_all.deb ... 74s Unpacking python3-pip (24.1+dfsg-1) ... 74s Selecting previously unselected package python3-pluggy. 74s Preparing to unpack .../51-python3-pluggy_1.5.0-1_all.deb ... 74s Unpacking python3-pluggy (1.5.0-1) ... 74s Selecting previously unselected package python3-pytest. 74s Preparing to unpack .../52-python3-pytest_7.4.4-1_all.deb ... 74s Unpacking python3-pytest (7.4.4-1) ... 74s Selecting previously unselected package python3-requests-unixsocket. 74s Preparing to unpack .../53-python3-requests-unixsocket_0.3.0-4_all.deb ... 74s Unpacking python3-requests-unixsocket (0.3.0-4) ... 74s Selecting previously unselected package python3-waitress. 74s Preparing to unpack .../54-python3-waitress_3.0.0-1_all.deb ... 74s Unpacking python3-waitress (3.0.0-1) ... 74s Selecting previously unselected package openstack-pkg-tools. 74s Preparing to unpack .../55-openstack-pkg-tools_123ubuntu2_all.deb ... 74s Unpacking openstack-pkg-tools (123ubuntu2) ... 74s Selecting previously unselected package autopkgtest-satdep. 74s Preparing to unpack .../56-1-autopkgtest-satdep.deb ... 74s Unpacking autopkgtest-satdep (0) ... 74s Setting up python3-iniconfig (1.1.1-2) ... 74s Setting up python3-waitress (3.0.0-1) ... 74s Setting up python3-setuptools (68.1.2-2ubuntu1) ... 75s Setting up python3-pbr (5.11.1-0ubuntu1) ... 75s Setting up libarchive-zip-perl (1.68-1) ... 75s Setting up libdebhelper-perl (13.16ubuntu2) ... 75s Setting up m4 (1.4.19-4build1) ... 75s Setting up python3-all (3.12.3-0ubuntu1) ... 75s Setting up libgomp1:arm64 (14.1.0-1ubuntu1) ... 75s Setting up python3-wheel (0.43.0-1) ... 75s Setting up python3-requests-unixsocket (0.3.0-4) ... 75s Setting up autotools-dev (20220109.1) ... 75s Setting up python3-packaging (24.0-1) ... 76s Setting up libmpc3:arm64 (1.3.1-1build1) ... 76s Setting up libatomic1:arm64 (14.1.0-1ubuntu1) ... 76s Setting up autopoint (0.21-14ubuntu2) ... 76s Setting up python3-pip (24.1+dfsg-1) ... 77s Setting up autoconf (2.71-3) ... 77s Setting up python3-pluggy (1.5.0-1) ... 77s Setting up libubsan1:arm64 (14.1.0-1ubuntu1) ... 77s Setting up dwz (0.15-1build6) ... 77s Setting up libhwasan0:arm64 (14.1.0-1ubuntu1) ... 77s Setting up libasan8:arm64 (14.1.0-1ubuntu1) ... 77s Setting up debugedit (1:5.0-5build2) ... 77s Setting up libtsan2:arm64 (14.1.0-1ubuntu1) ... 77s Setting up libisl23:arm64 (0.26-3build1) ... 77s Setting up libcc1-0:arm64 (14.1.0-1ubuntu1) ... 77s Setting up liblsan0:arm64 (14.1.0-1ubuntu1) ... 77s Setting up libitm1:arm64 (14.1.0-1ubuntu1) ... 77s Setting up automake (1:1.16.5-1.3ubuntu1) ... 77s update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode 77s Setting up dh-python (6.20240422) ... 77s Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... 77s Setting up gettext (0.21-14ubuntu2) ... 77s Setting up cpp-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 77s Setting up python3-pytest (7.4.4-1) ... 77s Setting up intltool-debian (0.35.0+20060710.6) ... 77s Setting up cpp-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 77s Setting up dh-strip-nondeterminism (1.14.0-1) ... 77s Setting up libgcc-13-dev:arm64 (13.2.0-23ubuntu4) ... 77s Setting up libstdc++-13-dev:arm64 (13.2.0-23ubuntu4) ... 77s Setting up cpp-13 (13.2.0-23ubuntu4) ... 77s Setting up po-debconf (1.0.21+nmu1) ... 77s Setting up gcc-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 77s Setting up openstack-pkg-tools (123ubuntu2) ... 77s Setting up gcc-13 (13.2.0-23ubuntu4) ... 77s Setting up cpp (4:13.2.0-7ubuntu1) ... 77s Setting up g++-13-aarch64-linux-gnu (13.2.0-23ubuntu4) ... 77s Setting up gcc-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 77s Setting up g++-13 (13.2.0-23ubuntu4) ... 77s Setting up libtool (2.4.7-7build1) ... 77s Setting up gcc (4:13.2.0-7ubuntu1) ... 77s Setting up dh-autoreconf (20) ... 77s Setting up g++-aarch64-linux-gnu (4:13.2.0-7ubuntu1) ... 77s Setting up debhelper (13.16ubuntu2) ... 77s Setting up g++ (4:13.2.0-7ubuntu1) ... 77s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 77s Setting up build-essential (12.10ubuntu1) ... 77s Setting up autopkgtest-satdep (0) ... 77s Processing triggers for man-db (2.12.1-2) ... 79s Processing triggers for install-info (7.1-3build2) ... 79s Processing triggers for libc-bin (2.39-0ubuntu9) ... 82s (Reading database ... 81958 files and directories currently installed.) 82s Removing autopkgtest-satdep (0) ... 82s autopkgtest [11:51:46]: test python3-requests-unixsocket: [----------------------- 82s === python3.12 === 83s ============================= test session starts ============================== 83s platform linux -- Python 3.12.4, pytest-7.4.4, pluggy-1.5.0 -- /usr/bin/python3.12 83s cachedir: .pytest_cache 83s rootdir: /tmp/autopkgtest.Pdfe3L/autopkgtest_tmp 83s collecting ... collected 5 items 83s 83s tests/test_requests_unixsocket.py::test_unix_domain_adapter_ok FAILED [ 20%] 83s tests/test_requests_unixsocket.py::test_unix_domain_adapter_url_with_query_params FAILED [ 40%] 83s tests/test_requests_unixsocket.py::test_unix_domain_adapter_connection_error FAILED [ 60%] 83s tests/test_requests_unixsocket.py::test_unix_domain_adapter_connection_proxies_error FAILED [ 80%] 83s tests/test_requests_unixsocket.py::test_unix_domain_adapter_monkeypatch FAILED [100%] 83s 83s =================================== FAILURES =================================== 83s _________________________ test_unix_domain_adapter_ok __________________________ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s > conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:633: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/adapters.py:489: in get_connection_with_tls_context 83s conn = self.poolmanager.connection_from_host( 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:303: in connection_from_host 83s return self.connection_from_context(request_context) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftest_requests.527924_3011_6a31545e', 'maxsize': 10, ...} 83s 83s def connection_from_context( 83s self, request_context: dict[str, typing.Any] 83s ) -> HTTPConnectionPool: 83s """ 83s Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context. 83s 83s ``request_context`` must at least contain the ``scheme`` key and its 83s value must be a key in ``key_fn_by_scheme`` instance variable. 83s """ 83s if "strict" in request_context: 83s warnings.warn( 83s "The 'strict' parameter is no longer needed on Python 3+. " 83s "This will raise an error in urllib3 v2.1.0.", 83s DeprecationWarning, 83s ) 83s request_context.pop("strict") 83s 83s scheme = request_context["scheme"].lower() 83s pool_key_constructor = self.key_fn_by_scheme.get(scheme) 83s if not pool_key_constructor: 83s > raise URLSchemeUnknown(scheme) 83s E urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:325: URLSchemeUnknown 83s 83s During handling of the above exception, another exception occurred: 83s 83s def test_unix_domain_adapter_ok(): 83s with UnixSocketServerThread() as usock_thread: 83s session = requests_unixsocket.Session('http+unix://') 83s urlencoded_usock = requests.compat.quote_plus(usock_thread.usock) 83s url = 'http+unix://%s/path/to/page' % urlencoded_usock 83s 83s for method in ['get', 'post', 'head', 'patch', 'put', 'delete', 83s 'options']: 83s logger.debug('Calling session.%s(%r) ...', method, url) 83s > r = getattr(session, method)(url) 83s 83s tests/test_requests_unixsocket.py:27: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/sessions.py:602: in get 83s return self.request("GET", url, **kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 83s resp = self.send(prep, **send_kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 83s r = adapter.send(request, **kwargs) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s > raise InvalidURL(e, request=request) 83s E requests.exceptions.InvalidURL: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:637: InvalidURL 83s ________________ test_unix_domain_adapter_url_with_query_params ________________ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s > conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:633: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/adapters.py:489: in get_connection_with_tls_context 83s conn = self.poolmanager.connection_from_host( 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:303: in connection_from_host 83s return self.connection_from_context(request_context) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftest_requests.527924_3011_b3d3c2a9', 'maxsize': 10, ...} 83s 83s def connection_from_context( 83s self, request_context: dict[str, typing.Any] 83s ) -> HTTPConnectionPool: 83s """ 83s Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context. 83s 83s ``request_context`` must at least contain the ``scheme`` key and its 83s value must be a key in ``key_fn_by_scheme`` instance variable. 83s """ 83s if "strict" in request_context: 83s warnings.warn( 83s "The 'strict' parameter is no longer needed on Python 3+. " 83s "This will raise an error in urllib3 v2.1.0.", 83s DeprecationWarning, 83s ) 83s request_context.pop("strict") 83s 83s scheme = request_context["scheme"].lower() 83s pool_key_constructor = self.key_fn_by_scheme.get(scheme) 83s if not pool_key_constructor: 83s > raise URLSchemeUnknown(scheme) 83s E urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:325: URLSchemeUnknown 83s 83s During handling of the above exception, another exception occurred: 83s 83s def test_unix_domain_adapter_url_with_query_params(): 83s with UnixSocketServerThread() as usock_thread: 83s session = requests_unixsocket.Session('http+unix://') 83s urlencoded_usock = requests.compat.quote_plus(usock_thread.usock) 83s url = ('http+unix://%s' 83s '/containers/nginx/logs?timestamp=true' % urlencoded_usock) 83s 83s for method in ['get', 'post', 'head', 'patch', 'put', 'delete', 83s 'options']: 83s logger.debug('Calling session.%s(%r) ...', method, url) 83s > r = getattr(session, method)(url) 83s 83s tests/test_requests_unixsocket.py:54: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/sessions.py:602: in get 83s return self.request("GET", url, **kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 83s resp = self.send(prep, **send_kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 83s r = adapter.send(request, **kwargs) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s > raise InvalidURL(e, request=request) 83s E requests.exceptions.InvalidURL: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:637: InvalidURL 83s __________________ test_unix_domain_adapter_connection_error ___________________ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s > conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:633: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/adapters.py:489: in get_connection_with_tls_context 83s conn = self.poolmanager.connection_from_host( 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:303: in connection_from_host 83s return self.connection_from_context(request_context) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': 'socket_does_not_exist', 'maxsize': 10, ...} 83s 83s def connection_from_context( 83s self, request_context: dict[str, typing.Any] 83s ) -> HTTPConnectionPool: 83s """ 83s Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context. 83s 83s ``request_context`` must at least contain the ``scheme`` key and its 83s value must be a key in ``key_fn_by_scheme`` instance variable. 83s """ 83s if "strict" in request_context: 83s warnings.warn( 83s "The 'strict' parameter is no longer needed on Python 3+. " 83s "This will raise an error in urllib3 v2.1.0.", 83s DeprecationWarning, 83s ) 83s request_context.pop("strict") 83s 83s scheme = request_context["scheme"].lower() 83s pool_key_constructor = self.key_fn_by_scheme.get(scheme) 83s if not pool_key_constructor: 83s > raise URLSchemeUnknown(scheme) 83s E urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:325: URLSchemeUnknown 83s 83s During handling of the above exception, another exception occurred: 83s 83s def test_unix_domain_adapter_connection_error(): 83s session = requests_unixsocket.Session('http+unix://') 83s 83s for method in ['get', 'post', 'head', 'patch', 'put', 'delete', 'options']: 83s with pytest.raises(requests.ConnectionError): 83s > getattr(session, method)( 83s 'http+unix://socket_does_not_exist/path/to/page') 83s 83s tests/test_requests_unixsocket.py:77: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/sessions.py:602: in get 83s return self.request("GET", url, **kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 83s resp = self.send(prep, **send_kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 83s r = adapter.send(request, **kwargs) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s > raise InvalidURL(e, request=request) 83s E requests.exceptions.InvalidURL: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:637: InvalidURL 83s ______________ test_unix_domain_adapter_connection_proxies_error _______________ 83s 83s self = 83s 83s def _new_conn(self) -> socket.socket: 83s """Establish a socket connection and set nodelay settings on it. 83s 83s :return: New socket connection. 83s """ 83s try: 83s > sock = connection.create_connection( 83s (self._dns_host, self.port), 83s self.timeout, 83s source_address=self.source_address, 83s socket_options=self.socket_options, 83s ) 83s 83s /usr/lib/python3/dist-packages/urllib3/connection.py:203: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/urllib3/util/connection.py:85: in create_connection 83s raise err 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s address = ('10.10.1.10', 1080), timeout = None, source_address = None 83s socket_options = [] 83s 83s def create_connection( 83s address: tuple[str, int], 83s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 83s source_address: tuple[str, int] | None = None, 83s socket_options: _TYPE_SOCKET_OPTIONS | None = None, 83s ) -> socket.socket: 83s """Connect to *address* and return the socket object. 83s 83s Convenience function. Connect to *address* (a 2-tuple ``(host, 83s port)``) and return the socket object. Passing the optional 83s *timeout* parameter will set the timeout on the socket instance 83s before attempting to connect. If no *timeout* is supplied, the 83s global default timeout setting returned by :func:`socket.getdefaulttimeout` 83s is used. If *source_address* is set it must be a tuple of (host, port) 83s for the socket to bind as a source address before making the connection. 83s An host of '' or port 0 tells the OS to use the default. 83s """ 83s 83s host, port = address 83s if host.startswith("["): 83s host = host.strip("[]") 83s err = None 83s 83s # Using the value from allowed_gai_family() in the context of getaddrinfo lets 83s # us select whether to work with IPv4 DNS records, IPv6 records, or both. 83s # The original create_connection function always returns all records. 83s family = allowed_gai_family() 83s 83s try: 83s host.encode("idna") 83s except UnicodeError: 83s raise LocationParseError(f"'{host}', label empty or too long") from None 83s 83s for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM): 83s af, socktype, proto, canonname, sa = res 83s sock = None 83s try: 83s sock = socket.socket(af, socktype, proto) 83s 83s # If provided, set socket level options before connecting. 83s _set_socket_options(sock, socket_options) 83s 83s if timeout is not _DEFAULT_TIMEOUT: 83s sock.settimeout(timeout) 83s if source_address: 83s sock.bind(source_address) 83s > sock.connect(sa) 83s E ConnectionRefusedError: [Errno 111] Connection refused 83s 83s /usr/lib/python3/dist-packages/urllib3/util/connection.py:73: ConnectionRefusedError 83s 83s The above exception was the direct cause of the following exception: 83s 83s self = 83s method = 'GET', url = '/path/to/page', body = None 83s headers = {'User-Agent': 'python-requests/2.32.3', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'} 83s retries = Retry(total=0, connect=None, read=False, redirect=None, status=None) 83s redirect = False, assert_same_host = False 83s timeout = Timeout(connect=None, read=None, total=None), pool_timeout = None 83s release_conn = False, chunked = False, body_pos = None, preload_content = False 83s decode_content = False, response_kw = {} 83s parsed_url = Url(scheme=None, auth=None, host=None, port=None, path='/path/to/page', query=None, fragment=None) 83s destination_scheme = None, conn = None, release_this_conn = True 83s http_tunnel_required = True, err = None, clean_exit = False 83s 83s def urlopen( # type: ignore[override] 83s self, 83s method: str, 83s url: str, 83s body: _TYPE_BODY | None = None, 83s headers: typing.Mapping[str, str] | None = None, 83s retries: Retry | bool | int | None = None, 83s redirect: bool = True, 83s assert_same_host: bool = True, 83s timeout: _TYPE_TIMEOUT = _DEFAULT_TIMEOUT, 83s pool_timeout: int | None = None, 83s release_conn: bool | None = None, 83s chunked: bool = False, 83s body_pos: _TYPE_BODY_POSITION | None = None, 83s preload_content: bool = True, 83s decode_content: bool = True, 83s **response_kw: typing.Any, 83s ) -> BaseHTTPResponse: 83s """ 83s Get a connection from the pool and perform an HTTP request. This is the 83s lowest level call for making a request, so you'll need to specify all 83s the raw details. 83s 83s .. note:: 83s 83s More commonly, it's appropriate to use a convenience method 83s such as :meth:`request`. 83s 83s .. note:: 83s 83s `release_conn` will only behave as expected if 83s `preload_content=False` because we want to make 83s `preload_content=False` the default behaviour someday soon without 83s breaking backwards compatibility. 83s 83s :param method: 83s HTTP request method (such as GET, POST, PUT, etc.) 83s 83s :param url: 83s The URL to perform the request on. 83s 83s :param body: 83s Data to send in the request body, either :class:`str`, :class:`bytes`, 83s an iterable of :class:`str`/:class:`bytes`, or a file-like object. 83s 83s :param headers: 83s Dictionary of custom headers to send, such as User-Agent, 83s If-None-Match, etc. If None, pool headers are used. If provided, 83s these headers completely replace any pool-specific headers. 83s 83s :param retries: 83s Configure the number of retries to allow before raising a 83s :class:`~urllib3.exceptions.MaxRetryError` exception. 83s 83s Pass ``None`` to retry until you receive a response. Pass a 83s :class:`~urllib3.util.retry.Retry` object for fine-grained control 83s over different types of retries. 83s Pass an integer number to retry connection errors that many times, 83s but no other types of errors. Pass zero to never retry. 83s 83s If ``False``, then retries are disabled and any exception is raised 83s immediately. Also, instead of raising a MaxRetryError on redirects, 83s the redirect response will be returned. 83s 83s :type retries: :class:`~urllib3.util.retry.Retry`, False, or an int. 83s 83s :param redirect: 83s If True, automatically handle redirects (status codes 301, 302, 83s 303, 307, 308). Each redirect counts as a retry. Disabling retries 83s will disable redirect, too. 83s 83s :param assert_same_host: 83s If ``True``, will make sure that the host of the pool requests is 83s consistent else will raise HostChangedError. When ``False``, you can 83s use the pool on an HTTP proxy and request foreign hosts. 83s 83s :param timeout: 83s If specified, overrides the default timeout for this one 83s request. It may be a float (in seconds) or an instance of 83s :class:`urllib3.util.Timeout`. 83s 83s :param pool_timeout: 83s If set and the pool is set to block=True, then this method will 83s block for ``pool_timeout`` seconds and raise EmptyPoolError if no 83s connection is available within the time period. 83s 83s :param bool preload_content: 83s If True, the response's body will be preloaded into memory. 83s 83s :param bool decode_content: 83s If True, will attempt to decode the body based on the 83s 'content-encoding' header. 83s 83s :param release_conn: 83s If False, then the urlopen call will not release the connection 83s back into the pool once a response is received (but will release if 83s you read the entire contents of the response such as when 83s `preload_content=True`). This is useful if you're not preloading 83s the response's content immediately. You will need to call 83s ``r.release_conn()`` on the response ``r`` to return the connection 83s back into the pool. If None, it takes the value of ``preload_content`` 83s which defaults to ``True``. 83s 83s :param bool chunked: 83s If True, urllib3 will send the body using chunked transfer 83s encoding. Otherwise, urllib3 will send the body using the standard 83s content-length form. Defaults to False. 83s 83s :param int body_pos: 83s Position to seek to in file-like body in the event of a retry or 83s redirect. Typically this won't need to be set because urllib3 will 83s auto-populate the value when needed. 83s """ 83s parsed_url = parse_url(url) 83s destination_scheme = parsed_url.scheme 83s 83s if headers is None: 83s headers = self.headers 83s 83s if not isinstance(retries, Retry): 83s retries = Retry.from_int(retries, redirect=redirect, default=self.retries) 83s 83s if release_conn is None: 83s release_conn = preload_content 83s 83s # Check host 83s if assert_same_host and not self.is_same_host(url): 83s raise HostChangedError(self, url, retries) 83s 83s # Ensure that the URL we're connecting to is properly encoded 83s if url.startswith("/"): 83s url = to_str(_encode_target(url)) 83s else: 83s url = to_str(parsed_url.url) 83s 83s conn = None 83s 83s # Track whether `conn` needs to be released before 83s # returning/raising/recursing. Update this variable if necessary, and 83s # leave `release_conn` constant throughout the function. That way, if 83s # the function recurses, the original value of `release_conn` will be 83s # passed down into the recursive call, and its value will be respected. 83s # 83s # See issue #651 [1] for details. 83s # 83s # [1] 83s release_this_conn = release_conn 83s 83s http_tunnel_required = connection_requires_http_tunnel( 83s self.proxy, self.proxy_config, destination_scheme 83s ) 83s 83s # Merge the proxy headers. Only done when not using HTTP CONNECT. We 83s # have to copy the headers dict so we can safely change it without those 83s # changes being reflected in anyone else's copy. 83s if not http_tunnel_required: 83s headers = headers.copy() # type: ignore[attr-defined] 83s headers.update(self.proxy_headers) # type: ignore[union-attr] 83s 83s # Must keep the exception bound to a separate variable or else Python 3 83s # complains about UnboundLocalError. 83s err = None 83s 83s # Keep track of whether we cleanly exited the except block. This 83s # ensures we do proper cleanup in finally. 83s clean_exit = False 83s 83s # Rewind body position, if needed. Record current position 83s # for future rewinds in the event of a redirect/retry. 83s body_pos = set_file_position(body, body_pos) 83s 83s try: 83s # Request a connection from the queue. 83s timeout_obj = self._get_timeout(timeout) 83s conn = self._get_conn(timeout=pool_timeout) 83s 83s conn.timeout = timeout_obj.connect_timeout # type: ignore[assignment] 83s 83s # Is this a closed/new connection that requires CONNECT tunnelling? 83s if self.proxy is not None and http_tunnel_required and conn.is_closed: 83s try: 83s self._prepare_proxy(conn) 83s except (BaseSSLError, OSError, SocketTimeout) as e: 83s self._raise_timeout( 83s err=e, url=self.proxy.url, timeout_value=conn.timeout 83s ) 83s raise 83s 83s # If we're going to release the connection in ``finally:``, then 83s # the response doesn't need to know about the connection. Otherwise 83s # it will also try to release it and we'll have a double-release 83s # mess. 83s response_conn = conn if not release_conn else None 83s 83s # Make the request on the HTTPConnection object 83s > response = self._make_request( 83s conn, 83s method, 83s url, 83s timeout=timeout_obj, 83s body=body, 83s headers=headers, 83s chunked=chunked, 83s retries=retries, 83s response_conn=response_conn, 83s preload_content=preload_content, 83s decode_content=decode_content, 83s **response_kw, 83s ) 83s 83s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:791: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:497: in _make_request 83s conn.request( 83s /usr/lib/python3/dist-packages/urllib3/connection.py:395: in request 83s self.endheaders() 83s /usr/lib/python3.12/http/client.py:1331: in endheaders 83s self._send_output(message_body, encode_chunked=encode_chunked) 83s /usr/lib/python3.12/http/client.py:1091: in _send_output 83s self.send(msg) 83s /usr/lib/python3.12/http/client.py:1035: in send 83s self.connect() 83s /usr/lib/python3/dist-packages/urllib3/connection.py:243: in connect 83s self.sock = self._new_conn() 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s 83s def _new_conn(self) -> socket.socket: 83s """Establish a socket connection and set nodelay settings on it. 83s 83s :return: New socket connection. 83s """ 83s try: 83s sock = connection.create_connection( 83s (self._dns_host, self.port), 83s self.timeout, 83s source_address=self.source_address, 83s socket_options=self.socket_options, 83s ) 83s except socket.gaierror as e: 83s raise NameResolutionError(self.host, self, e) from e 83s except SocketTimeout as e: 83s raise ConnectTimeoutError( 83s self, 83s f"Connection to {self.host} timed out. (connect timeout={self.timeout})", 83s ) from e 83s 83s except OSError as e: 83s > raise NewConnectionError( 83s self, f"Failed to establish a new connection: {e}" 83s ) from e 83s E urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 83s 83s /usr/lib/python3/dist-packages/urllib3/connection.py:218: NewConnectionError 83s 83s The above exception was the direct cause of the following exception: 83s Traceback (most recent call last): 83s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 203, in _new_conn 83s sock = connection.create_connection( 83s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 83s File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 85, in create_connection 83s raise err 83s File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 73, in create_connection 83s sock.connect(sa) 83s ConnectionRefusedError: [Errno 111] Connection refused 83s 83s The above exception was the direct cause of the following exception: 83s 83s Traceback (most recent call last): 83s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 791, in urlopen 83s response = self._make_request( 83s ^^^^^^^^^^^^^^^^^^^ 83s File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 497, in _make_request 83s conn.request( 83s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 395, in request 83s self.endheaders() 83s File "/usr/lib/python3.12/http/client.py", line 1331, in endheaders 83s self._send_output(message_body, encode_chunked=encode_chunked) 83s File "/usr/lib/python3.12/http/client.py", line 1091, in _send_output 83s self.send(msg) 83s File "/usr/lib/python3.12/http/client.py", line 1035, in send 83s self.connect() 83s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 243, in connect 83s self.sock = self._new_conn() 83s ^^^^^^^^^^^^^^^^ 83s File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 218, in _new_conn 83s raise NewConnectionError( 83s urllib3.exceptions.NewConnectionError: : Failed to establish a new connection: [Errno 111] Connection refused 83s 83s The above exception was the direct cause of the following exception: 83s 83s urllib3.exceptions.ProxyError: ('Unable to connect to proxy', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 83s 83s The above exception was the direct cause of the following exception: 83s 83s self = 83s request = , stream = False 83s timeout = Timeout(connect=None, read=None, total=None), verify = True 83s cert = None 83s proxies = OrderedDict({'http+unix': 'http://10.10.1.10:1080', 'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s raise InvalidURL(e, request=request) 83s 83s self.cert_verify(conn, request.url, verify, cert) 83s url = self.request_url(request, proxies) 83s self.add_headers( 83s request, 83s stream=stream, 83s timeout=timeout, 83s verify=verify, 83s cert=cert, 83s proxies=proxies, 83s ) 83s 83s chunked = not (request.body is None or "Content-Length" in request.headers) 83s 83s if isinstance(timeout, tuple): 83s try: 83s connect, read = timeout 83s timeout = TimeoutSauce(connect=connect, read=read) 83s except ValueError: 83s raise ValueError( 83s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 83s f"or a single float to set both timeouts to the same value." 83s ) 83s elif isinstance(timeout, TimeoutSauce): 83s pass 83s else: 83s timeout = TimeoutSauce(connect=timeout, read=timeout) 83s 83s try: 83s > resp = conn.urlopen( 83s method=request.method, 83s url=url, 83s body=request.body, 83s headers=request.headers, 83s redirect=False, 83s assert_same_host=False, 83s preload_content=False, 83s decode_content=False, 83s retries=self.max_retries, 83s timeout=timeout, 83s chunked=chunked, 83s ) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:667: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/urllib3/connectionpool.py:845: in urlopen 83s retries = retries.increment( 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = Retry(total=0, connect=None, read=False, redirect=None, status=None) 83s method = 'GET', url = '/path/to/page', response = None 83s error = ProxyError('Unable to connect to proxy', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused')) 83s _pool = 83s _stacktrace = 83s 83s def increment( 83s self, 83s method: str | None = None, 83s url: str | None = None, 83s response: BaseHTTPResponse | None = None, 83s error: Exception | None = None, 83s _pool: ConnectionPool | None = None, 83s _stacktrace: TracebackType | None = None, 83s ) -> Retry: 83s """Return a new Retry object with incremented retry counters. 83s 83s :param response: A response object, or None, if the server did not 83s return a response. 83s :type response: :class:`~urllib3.response.BaseHTTPResponse` 83s :param Exception error: An error encountered during the request, or 83s None if the response was received successfully. 83s 83s :return: A new ``Retry`` object. 83s """ 83s if self.total is False and error: 83s # Disabled, indicate to re-raise the error. 83s raise reraise(type(error), error, _stacktrace) 83s 83s total = self.total 83s if total is not None: 83s total -= 1 83s 83s connect = self.connect 83s read = self.read 83s redirect = self.redirect 83s status_count = self.status 83s other = self.other 83s cause = "unknown" 83s status = None 83s redirect_location = None 83s 83s if error and self._is_connection_error(error): 83s # Connect retry? 83s if connect is False: 83s raise reraise(type(error), error, _stacktrace) 83s elif connect is not None: 83s connect -= 1 83s 83s elif error and self._is_read_error(error): 83s # Read retry? 83s if read is False or method is None or not self._is_method_retryable(method): 83s raise reraise(type(error), error, _stacktrace) 83s elif read is not None: 83s read -= 1 83s 83s elif error: 83s # Other retry? 83s if other is not None: 83s other -= 1 83s 83s elif response and response.get_redirect_location(): 83s # Redirect retry? 83s if redirect is not None: 83s redirect -= 1 83s cause = "too many redirects" 83s response_redirect_location = response.get_redirect_location() 83s if response_redirect_location: 83s redirect_location = response_redirect_location 83s status = response.status 83s 83s else: 83s # Incrementing because of a server error like a 500 in 83s # status_forcelist and the given method is in the allowed_methods 83s cause = ResponseError.GENERIC_ERROR 83s if response and response.status: 83s if status_count is not None: 83s status_count -= 1 83s cause = ResponseError.SPECIFIC_ERROR.format(status_code=response.status) 83s status = response.status 83s 83s history = self.history + ( 83s RequestHistory(method, url, error, status, redirect_location), 83s ) 83s 83s new_retry = self.new( 83s total=total, 83s connect=connect, 83s read=read, 83s redirect=redirect, 83s status=status_count, 83s other=other, 83s history=history, 83s ) 83s 83s if new_retry.is_exhausted(): 83s reason = error or ResponseError(cause) 83s > raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type] 83s E urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='10.10.1.10', port=1080): Max retries exceeded with url: /path/to/page (Caused by ProxyError('Unable to connect to proxy', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))) 83s 83s /usr/lib/python3/dist-packages/urllib3/util/retry.py:515: MaxRetryError 83s 83s During handling of the above exception, another exception occurred: 83s 83s def test_unix_domain_adapter_connection_proxies_error(): 83s session = requests_unixsocket.Session('http+unix://') 83s 83s for method in ['get', 'post', 'head', 'patch', 'put', 'delete', 'options']: 83s with pytest.raises(ValueError) as excinfo: 83s > getattr(session, method)( 83s 'http+unix://socket_does_not_exist/path/to/page', 83s proxies={"http+unix": "http://10.10.1.10:1080"}) 83s 83s tests/test_requests_unixsocket.py:86: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/sessions.py:602: in get 83s return self.request("GET", url, **kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 83s resp = self.send(prep, **send_kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 83s r = adapter.send(request, **kwargs) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request = , stream = False 83s timeout = Timeout(connect=None, read=None, total=None), verify = True 83s cert = None 83s proxies = OrderedDict({'http+unix': 'http://10.10.1.10:1080', 'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s raise InvalidURL(e, request=request) 83s 83s self.cert_verify(conn, request.url, verify, cert) 83s url = self.request_url(request, proxies) 83s self.add_headers( 83s request, 83s stream=stream, 83s timeout=timeout, 83s verify=verify, 83s cert=cert, 83s proxies=proxies, 83s ) 83s 83s chunked = not (request.body is None or "Content-Length" in request.headers) 83s 83s if isinstance(timeout, tuple): 83s try: 83s connect, read = timeout 83s timeout = TimeoutSauce(connect=connect, read=read) 83s except ValueError: 83s raise ValueError( 83s f"Invalid timeout {timeout}. Pass a (connect, read) timeout tuple, " 83s f"or a single float to set both timeouts to the same value." 83s ) 83s elif isinstance(timeout, TimeoutSauce): 83s pass 83s else: 83s timeout = TimeoutSauce(connect=timeout, read=timeout) 83s 83s try: 83s resp = conn.urlopen( 83s method=request.method, 83s url=url, 83s body=request.body, 83s headers=request.headers, 83s redirect=False, 83s assert_same_host=False, 83s preload_content=False, 83s decode_content=False, 83s retries=self.max_retries, 83s timeout=timeout, 83s chunked=chunked, 83s ) 83s 83s except (ProtocolError, OSError) as err: 83s raise ConnectionError(err, request=request) 83s 83s except MaxRetryError as e: 83s if isinstance(e.reason, ConnectTimeoutError): 83s # TODO: Remove this in 3.0.0: see #2811 83s if not isinstance(e.reason, NewConnectionError): 83s raise ConnectTimeout(e, request=request) 83s 83s if isinstance(e.reason, ResponseError): 83s raise RetryError(e, request=request) 83s 83s if isinstance(e.reason, _ProxyError): 83s > raise ProxyError(e, request=request) 83s E requests.exceptions.ProxyError: HTTPConnectionPool(host='10.10.1.10', port=1080): Max retries exceeded with url: /path/to/page (Caused by ProxyError('Unable to connect to proxy', NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused'))) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:694: ProxyError 83s _____________________ test_unix_domain_adapter_monkeypatch _____________________ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s > conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:633: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests/adapters.py:489: in get_connection_with_tls_context 83s conn = self.poolmanager.connection_from_host( 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:303: in connection_from_host 83s return self.connection_from_context(request_context) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request_context = {'block': False, 'cert_reqs': 'CERT_REQUIRED', 'host': '%2Ftmp%2Ftest_requests.527924_3011_4a6815f3', 'maxsize': 10, ...} 83s 83s def connection_from_context( 83s self, request_context: dict[str, typing.Any] 83s ) -> HTTPConnectionPool: 83s """ 83s Get a :class:`urllib3.connectionpool.ConnectionPool` based on the request context. 83s 83s ``request_context`` must at least contain the ``scheme`` key and its 83s value must be a key in ``key_fn_by_scheme`` instance variable. 83s """ 83s if "strict" in request_context: 83s warnings.warn( 83s "The 'strict' parameter is no longer needed on Python 3+. " 83s "This will raise an error in urllib3 v2.1.0.", 83s DeprecationWarning, 83s ) 83s request_context.pop("strict") 83s 83s scheme = request_context["scheme"].lower() 83s pool_key_constructor = self.key_fn_by_scheme.get(scheme) 83s if not pool_key_constructor: 83s > raise URLSchemeUnknown(scheme) 83s E urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/urllib3/poolmanager.py:325: URLSchemeUnknown 83s 83s During handling of the above exception, another exception occurred: 83s 83s def test_unix_domain_adapter_monkeypatch(): 83s with UnixSocketServerThread() as usock_thread: 83s with requests_unixsocket.monkeypatch('http+unix://'): 83s urlencoded_usock = requests.compat.quote_plus(usock_thread.usock) 83s url = 'http+unix://%s/path/to/page' % urlencoded_usock 83s 83s for method in ['get', 'post', 'head', 'patch', 'put', 'delete', 83s 'options']: 83s logger.debug('Calling session.%s(%r) ...', method, url) 83s > r = getattr(requests, method)(url) 83s 83s tests/test_requests_unixsocket.py:102: 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s /usr/lib/python3/dist-packages/requests_unixsocket/__init__.py:51: in get 83s return request('get', url, **kwargs) 83s /usr/lib/python3/dist-packages/requests_unixsocket/__init__.py:46: in request 83s return session.request(method=method, url=url, **kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:589: in request 83s resp = self.send(prep, **send_kwargs) 83s /usr/lib/python3/dist-packages/requests/sessions.py:703: in send 83s r = adapter.send(request, **kwargs) 83s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 83s 83s self = 83s request = , stream = False, timeout = None, verify = True 83s cert = None 83s proxies = OrderedDict({'no': '127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,p...,objectstorage.prodstack5.canonical.com', 'https': 'http://squid.internal:3128', 'http': 'http://squid.internal:3128'}) 83s 83s def send( 83s self, request, stream=False, timeout=None, verify=True, cert=None, proxies=None 83s ): 83s """Sends PreparedRequest object. Returns Response object. 83s 83s :param request: The :class:`PreparedRequest ` being sent. 83s :param stream: (optional) Whether to stream the request content. 83s :param timeout: (optional) How long to wait for the server to send 83s data before giving up, as a float, or a :ref:`(connect timeout, 83s read timeout) ` tuple. 83s :type timeout: float or tuple or urllib3 Timeout object 83s :param verify: (optional) Either a boolean, in which case it controls whether 83s we verify the server's TLS certificate, or a string, in which case it 83s must be a path to a CA bundle to use 83s :param cert: (optional) Any user-provided SSL certificate to be trusted. 83s :param proxies: (optional) The proxies dictionary to apply to the request. 83s :rtype: requests.Response 83s """ 83s 83s try: 83s conn = self.get_connection_with_tls_context( 83s request, verify, proxies=proxies, cert=cert 83s ) 83s except LocationValueError as e: 83s > raise InvalidURL(e, request=request) 83s E requests.exceptions.InvalidURL: Not supported URL scheme http+unix 83s 83s /usr/lib/python3/dist-packages/requests/adapters.py:637: InvalidURL 83s =========================== short test summary info ============================ 83s FAILED tests/test_requests_unixsocket.py::test_unix_domain_adapter_ok - reque... 83s FAILED tests/test_requests_unixsocket.py::test_unix_domain_adapter_url_with_query_params 83s FAILED tests/test_requests_unixsocket.py::test_unix_domain_adapter_connection_error 83s FAILED tests/test_requests_unixsocket.py::test_unix_domain_adapter_connection_proxies_error 83s FAILED tests/test_requests_unixsocket.py::test_unix_domain_adapter_monkeypatch 83s ============================== 5 failed in 0.44s =============================== 85s autopkgtest [11:51:49]: test python3-requests-unixsocket: -----------------------] 86s python3-requests-unixsocket FAIL non-zero exit status 1 86s autopkgtest [11:51:50]: test python3-requests-unixsocket: - - - - - - - - - - results - - - - - - - - - - 86s autopkgtest [11:51:50]: @@@@@@@@@@@@@@@@@@@@ summary 86s python3-requests-unixsocket FAIL non-zero exit status 1 91s nova [W] Skipping flock in bos03-arm64 91s Creating nova instance adt-oracular-arm64-python-requests-unixsocket-20240629-113339-juju-7f2275-prod-proposed-migration-environment-2-8c494823-f19d-46a7-acb0-751c6c4b706b from image adt/ubuntu-oracular-arm64-server-20240628.img (UUID 1d33ad8b-0074-4d9e-8f8a-17cdfc67ef5f)...