0s autopkgtest [12:16:29]: starting date and time: 2026-02-06 12:16:29+0000 0s autopkgtest [12:16:29]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [12:16:29]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.g4l21_xv/out --timeout-copy=6000 --needs-internet=try --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:netbase --apt-upgrade python-eventlet --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=netbase/6.5build1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-amd64 --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@sto01-20.secgroup --name adt-resolute-amd64-python-eventlet-20260206-121629-juju-7f2275-prod-proposed-migration-environment-2-4a77b56b-a1ed-46ef-9101-559e86052e07 --image adt/ubuntu-resolute-amd64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-autopkgtest-workers-amd64 -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-amd64-python-eventlet-20260206-121629-juju-7f2275-prod-proposed-migration-environment-2-4a77b56b-a1ed-46ef-9101-559e86052e07 from image adt/ubuntu-resolute-amd64-server-20260204.img (UUID fedf54b4-458b-493e-8072-6425c19717b4)... 94s autopkgtest [12:18:03]: testbed dpkg architecture: amd64 94s autopkgtest [12:18:03]: testbed apt version: 3.1.14 94s autopkgtest [12:18:03]: @@@@@@@@@@@@@@@@@@@@ test bed setup 94s autopkgtest [12:18:03]: testbed release detected to be: None 95s autopkgtest [12:18:04]: updating testbed package index (apt update) 95s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 95s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 95s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 95s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 96s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1492 kB] 96s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [194 kB] 96s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [9256 B] 96s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [30.8 kB] 96s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 Packages [253 kB] 96s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main i386 Packages [185 kB] 96s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 c-n-f Metadata [7520 B] 96s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/restricted i386 Packages [3692 B] 96s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 Packages [68.4 kB] 96s Get:14 http://ftpmaster.internal/ubuntu resolute-proposed/restricted amd64 c-n-f Metadata [336 B] 96s Get:15 http://ftpmaster.internal/ubuntu resolute-proposed/universe i386 Packages [522 kB] 96s Get:16 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 Packages [1362 kB] 96s Get:17 http://ftpmaster.internal/ubuntu resolute-proposed/universe amd64 c-n-f Metadata [37.6 kB] 96s Get:18 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 Packages [26.7 kB] 96s Get:19 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse i386 Packages [4320 B] 97s Get:20 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse amd64 c-n-f Metadata [1060 B] 97s Fetched 4323 kB in 1s (3525 kB/s) 98s Reading package lists... 98s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 98s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 98s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 99s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 99s Reading package lists... 99s Reading package lists... 99s Building dependency tree... 99s Reading state information... 100s Calculating upgrade... 100s The following packages will be upgraded: 100s amd64-microcode busybox-initramfs busybox-static dmsetup findutils less 100s libattr1 libdevmapper1.02.1 libdrm-amdgpu1 libdrm-common libdrm2 libgpm2 100s libkeyutils1 libmaxminddb0 libnpth0t64 libsensors-config libsensors5 mawk 100s netbase patch pollinate python3-linkify-it python3-markdown-it 100s python3-referencing sed tar 100s 26 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 100s Need to get 3365 kB of archives. 100s After this operation, 270 kB disk space will be freed. 100s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 findutils amd64 4.10.0-3build2 [307 kB] 100s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 sed amd64 4.9-2build3 [195 kB] 100s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 tar amd64 1.35+dfsg-3.1build2 [257 kB] 100s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 libattr1 amd64 1:2.5.2-3build2 [11.4 kB] 100s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 mawk amd64 1.3.4.20260129-1 [133 kB] 100s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 libdevmapper1.02.1 amd64 2:1.02.205-2ubuntu3 [142 kB] 100s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 dmsetup amd64 2:1.02.205-2ubuntu3 [79.4 kB] 100s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 less amd64 668-1build1 [172 kB] 100s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 libkeyutils1 amd64 1.6.3-6ubuntu3 [10.6 kB] 100s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/main amd64 netbase all 6.5build1 [13.0 kB] 100s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-linkify-it all 2.0.3-1ubuntu3 [19.4 kB] 100s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-markdown-it all 3.0.0-3build1 [54.4 kB] 100s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-static amd64 1:1.37.0-7ubuntu1 [1034 kB] 100s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-common all 2.4.131-1 [9774 B] 100s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm2 amd64 2.4.131-1 [42.3 kB] 100s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 libgpm2 amd64 1.20.7-12build1 [14.4 kB] 100s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 libmaxminddb0 amd64 1.12.2-1build2 [18.9 kB] 100s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors-config all 1:3.6.2-2build1 [6862 B] 100s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libsensors5 amd64 1:3.6.2-2build1 [28.9 kB] 100s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 busybox-initramfs amd64 1:1.37.0-7ubuntu1 [191 kB] 100s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 libdrm-amdgpu1 amd64 2.4.131-1 [23.2 kB] 100s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libnpth0t64 amd64 1.8-3build1 [9302 B] 100s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 patch amd64 2.8-2build1 [95.7 kB] 100s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 pollinate all 4.33-4ubuntu5 [14.0 kB] 100s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-referencing all 0.36.2-1ubuntu2 [22.2 kB] 100s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 amd64-microcode amd64 3.20251202.1ubuntu1 [459 kB] 100s dpkg-preconfigure: unable to re-open stdin: No such file or directory 100s Fetched 3365 kB in 0s (12.7 MB/s) 100s (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 ... 83957 files and directories currently installed.) 100s Preparing to unpack .../findutils_4.10.0-3build2_amd64.deb ... 100s Unpacking findutils (4.10.0-3build2) over (4.10.0-3build1) ... 100s Setting up findutils (4.10.0-3build2) ... 101s (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 ... 83957 files and directories currently installed.) 101s Preparing to unpack .../sed_4.9-2build3_amd64.deb ... 101s Unpacking sed (4.9-2build3) over (4.9-2build2) ... 101s Setting up sed (4.9-2build3) ... 101s (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 ... 83957 files and directories currently installed.) 101s Preparing to unpack .../tar_1.35+dfsg-3.1build2_amd64.deb ... 101s Unpacking tar (1.35+dfsg-3.1build2) over (1.35+dfsg-3.1build1) ... 101s Setting up tar (1.35+dfsg-3.1build2) ... 101s (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 ... 83957 files and directories currently installed.) 101s Preparing to unpack .../libattr1_1%3a2.5.2-3build2_amd64.deb ... 101s Unpacking libattr1:amd64 (1:2.5.2-3build2) over (1:2.5.2-3build1) ... 101s Setting up libattr1:amd64 (1:2.5.2-3build2) ... 101s (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 ... 83957 files and directories currently installed.) 101s Preparing to unpack .../00-mawk_1.3.4.20260129-1_amd64.deb ... 101s Unpacking mawk (1.3.4.20260129-1) over (1.3.4.20250131-2) ... 101s Preparing to unpack .../01-libdevmapper1.02.1_2%3a1.02.205-2ubuntu3_amd64.deb ... 101s Unpacking libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 101s Preparing to unpack .../02-dmsetup_2%3a1.02.205-2ubuntu3_amd64.deb ... 101s Unpacking dmsetup (2:1.02.205-2ubuntu3) over (2:1.02.205-2ubuntu2) ... 101s Preparing to unpack .../03-less_668-1build1_amd64.deb ... 101s Unpacking less (668-1build1) over (668-1) ... 101s Preparing to unpack .../04-libkeyutils1_1.6.3-6ubuntu3_amd64.deb ... 101s Unpacking libkeyutils1:amd64 (1.6.3-6ubuntu3) over (1.6.3-6ubuntu2) ... 101s Preparing to unpack .../05-netbase_6.5build1_all.deb ... 101s Unpacking netbase (6.5build1) over (6.5) ... 101s Preparing to unpack .../06-python3-linkify-it_2.0.3-1ubuntu3_all.deb ... 101s Unpacking python3-linkify-it (2.0.3-1ubuntu3) over (2.0.3-1ubuntu2) ... 101s Preparing to unpack .../07-python3-markdown-it_3.0.0-3build1_all.deb ... 101s Unpacking python3-markdown-it (3.0.0-3build1) over (3.0.0-3) ... 101s Preparing to unpack .../08-busybox-static_1%3a1.37.0-7ubuntu1_amd64.deb ... 101s Unpacking busybox-static (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 101s Preparing to unpack .../09-libdrm-common_2.4.131-1_all.deb ... 101s Unpacking libdrm-common (2.4.131-1) over (2.4.129-1) ... 101s Preparing to unpack .../10-libdrm2_2.4.131-1_amd64.deb ... 101s Unpacking libdrm2:amd64 (2.4.131-1) over (2.4.129-1) ... 101s Preparing to unpack .../11-libgpm2_1.20.7-12build1_amd64.deb ... 101s Unpacking libgpm2:amd64 (1.20.7-12build1) over (1.20.7-12) ... 101s Preparing to unpack .../12-libmaxminddb0_1.12.2-1build2_amd64.deb ... 101s Unpacking libmaxminddb0:amd64 (1.12.2-1build2) over (1.12.2-1build1) ... 101s Preparing to unpack .../13-libsensors-config_1%3a3.6.2-2build1_all.deb ... 101s Unpacking libsensors-config (1:3.6.2-2build1) over (1:3.6.2-2) ... 101s Preparing to unpack .../14-libsensors5_1%3a3.6.2-2build1_amd64.deb ... 101s Unpacking libsensors5:amd64 (1:3.6.2-2build1) over (1:3.6.2-2) ... 101s Preparing to unpack .../15-busybox-initramfs_1%3a1.37.0-7ubuntu1_amd64.deb ... 101s Unpacking busybox-initramfs (1:1.37.0-7ubuntu1) over (1:1.37.0-4ubuntu1) ... 102s Preparing to unpack .../16-libdrm-amdgpu1_2.4.131-1_amd64.deb ... 102s Unpacking libdrm-amdgpu1:amd64 (2.4.131-1) over (2.4.129-1) ... 102s Preparing to unpack .../17-libnpth0t64_1.8-3build1_amd64.deb ... 102s Unpacking libnpth0t64:amd64 (1.8-3build1) over (1.8-3) ... 102s Preparing to unpack .../18-patch_2.8-2build1_amd64.deb ... 102s Unpacking patch (2.8-2build1) over (2.8-2) ... 102s Preparing to unpack .../19-pollinate_4.33-4ubuntu5_all.deb ... 102s Unpacking pollinate (4.33-4ubuntu5) over (4.33-4ubuntu4) ... 102s Preparing to unpack .../20-python3-referencing_0.36.2-1ubuntu2_all.deb ... 102s Unpacking python3-referencing (0.36.2-1ubuntu2) over (0.36.2-1ubuntu1) ... 102s Preparing to unpack .../21-amd64-microcode_3.20251202.1ubuntu1_amd64.deb ... 102s Unpacking amd64-microcode (3.20251202.1ubuntu1) over (3.20250708.1ubuntu1) ... 102s Setting up libnpth0t64:amd64 (1.8-3build1) ... 102s Setting up libkeyutils1:amd64 (1.6.3-6ubuntu3) ... 102s Setting up libgpm2:amd64 (1.20.7-12build1) ... 102s Setting up libmaxminddb0:amd64 (1.12.2-1build2) ... 102s Setting up libsensors-config (1:3.6.2-2build1) ... 102s Setting up less (668-1build1) ... 102s Setting up amd64-microcode (3.20251202.1ubuntu1) ... 102s amd64-microcode: microcode will be updated at next boot 102s Setting up pollinate (4.33-4ubuntu5) ... 112s Setting up busybox-static (1:1.37.0-7ubuntu1) ... 112s Setting up patch (2.8-2build1) ... 112s Setting up libsensors5:amd64 (1:3.6.2-2build1) ... 112s Setting up busybox-initramfs (1:1.37.0-7ubuntu1) ... 112s Setting up libdevmapper1.02.1:amd64 (2:1.02.205-2ubuntu3) ... 112s Setting up dmsetup (2:1.02.205-2ubuntu3) ... 112s Setting up python3-linkify-it (2.0.3-1ubuntu3) ... 112s Setting up netbase (6.5build1) ... 112s Setting up mawk (1.3.4.20260129-1) ... 112s Setting up libdrm-common (2.4.131-1) ... 112s Setting up python3-referencing (0.36.2-1ubuntu2) ... 113s Setting up python3-markdown-it (3.0.0-3build1) ... 113s Setting up libdrm2:amd64 (2.4.131-1) ... 113s Setting up libdrm-amdgpu1:amd64 (2.4.131-1) ... 113s Processing triggers for libc-bin (2.42-2ubuntu4) ... 113s Processing triggers for man-db (2.13.1-1) ... 113s Processing triggers for install-info (7.2-5) ... 113s Processing triggers for initramfs-tools (0.150ubuntu7) ... 113s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 118s autopkgtest [12:18:27]: upgrading testbed (apt dist-upgrade and autopurge) 118s Reading package lists... 119s Building dependency tree... 119s Reading state information... 119s Calculating upgrade... 119s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 119s Reading package lists... 119s Building dependency tree... 119s Reading state information... 119s Solving dependencies... 119s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 119s autopkgtest [12:18:28]: rebooting testbed after setup commands that affected boot 148s autopkgtest [12:18:57]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:49:02 UTC 2026 150s autopkgtest [12:18:59]: @@@@@@@@@@@@@@@@@@@@ apt-source python-eventlet 152s Get:1 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (dsc) [2605 B] 152s Get:2 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (tar) [562 kB] 152s Get:3 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (diff) [24.3 kB] 152s gpgv: Signature made Mon Sep 15 17:48:29 2025 UTC 152s gpgv: using RSA key 50C4A0DDCF31E452CEB19B516569D855A744BE93 152s gpgv: Can't check signature: No public key 152s dpkg-source: warning: cannot verify inline signature for ./python-eventlet_0.39.0-0ubuntu2.dsc: no acceptable signature found 152s autopkgtest [12:19:01]: testing package python-eventlet version 0.39.0-0ubuntu2 153s autopkgtest [12:19:02]: build not needed 153s autopkgtest [12:19:02]: test listen3: preparing testbed 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 154s Solving dependencies... 154s The following NEW packages will be installed: 154s python3-dnspython python3-eventlet python3-greenlet 154s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 154s Need to get 630 kB of archives. 154s After this operation, 3038 kB of additional disk space will be used. 154s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-dnspython all 2.7.0-1ubuntu2 [167 kB] 154s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-greenlet amd64 3.2.4-3 [185 kB] 154s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-eventlet all 0.39.0-0ubuntu2 [277 kB] 154s Fetched 630 kB in 0s (31.6 MB/s) 154s Selecting previously unselected package python3-dnspython. 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 ... 83962 files and directories currently installed.) 154s Preparing to unpack .../python3-dnspython_2.7.0-1ubuntu2_all.deb ... 154s Unpacking python3-dnspython (2.7.0-1ubuntu2) ... 154s Selecting previously unselected package python3-greenlet. 154s Preparing to unpack .../python3-greenlet_3.2.4-3_amd64.deb ... 154s Unpacking python3-greenlet (3.2.4-3) ... 154s Selecting previously unselected package python3-eventlet. 154s Preparing to unpack .../python3-eventlet_0.39.0-0ubuntu2_all.deb ... 154s Unpacking python3-eventlet (0.39.0-0ubuntu2) ... 154s Setting up python3-greenlet (3.2.4-3) ... 154s Setting up python3-dnspython (2.7.0-1ubuntu2) ... 154s Setting up python3-eventlet (0.39.0-0ubuntu2) ... 155s autopkgtest [12:19:04]: test listen3: [----------------------- 156s autopkgtest [12:19:05]: test listen3: -----------------------] 156s autopkgtest [12:19:05]: test listen3: - - - - - - - - - - results - - - - - - - - - - 156s listen3 PASS 157s autopkgtest [12:19:06]: test unittests: preparing testbed 157s Reading package lists... 157s Building dependency tree... 157s Reading state information... 157s Solving dependencies... 157s The following NEW packages will be installed: 157s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 157s cpp-15-x86-64-linux-gnu cpp-x86-64-linux-gnu debhelper debugedit 157s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 157s g++-15 g++-15-x86-64-linux-gnu g++-x86-64-linux-gnu gcc gcc-15 157s gcc-15-x86-64-linux-gnu gcc-x86-64-linux-gnu gettext intltool-debian 157s libarchive-zip-perl libasan8 libc-dev-bin libc6-dev libcc1-0 libcrypt-dev 157s libdebhelper-perl libfile-stripnondeterminism-perl libgcc-15-dev libgomp1 157s libhwasan0 libisl23 libitm1 libjson-perl liblsan0 libmpc3 libnorm1t64 157s libpgm-5.3-0t64 libpython3.14-minimal libpython3.14-stdlib libquadmath0 157s libsodium23 libstdc++-15-dev libtool libtsan2 libubsan1 libzmq5 157s linux-libc-dev m4 openstack-pkg-tools po-debconf pybuild-plugin-pyproject 157s python-eventlet-doc python3-alabaster python3-all python3-build 157s python3-defusedxml python3-docutils python3-execnet python3-hatchling 157s python3-imagesize python3-iniconfig python3-installer python3-monotonic 157s python3-pathspec python3-pbr python3-pip python3-pluggy 157s python3-pyproject-hooks python3-pytest python3-pytest-xdist 157s python3-roman-numerals python3-setuptools-scm python3-snowballstemmer 157s python3-sphinx python3-sphinxcontrib.apidoc python3-trove-classifiers 157s python3-wheel python3-zmq python3.14 python3.14-minimal rpcsvc-proto 157s sgml-base sphinx-common xml-core 157s 0 upgraded, 91 newly installed, 0 to remove and 0 not upgraded. 157s Need to get 91.1 MB of archives. 157s After this operation, 330 MB of additional disk space will be used. 157s Get:1 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-minimal amd64 3.14.2-1 [920 kB] 158s Get:2 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14-minimal amd64 3.14.2-1 [2563 kB] 158s Get:3 http://ftpmaster.internal/ubuntu resolute/main amd64 m4 amd64 1.4.20-2 [217 kB] 158s Get:4 http://ftpmaster.internal/ubuntu resolute/main amd64 autoconf all 2.72-3.1ubuntu1 [384 kB] 158s Get:5 http://ftpmaster.internal/ubuntu resolute/main amd64 autotools-dev all 20240727.1 [43.4 kB] 158s Get:6 http://ftpmaster.internal/ubuntu resolute/main amd64 automake all 1:1.18.1-3build1 [582 kB] 158s Get:7 http://ftpmaster.internal/ubuntu resolute/main amd64 autopoint all 0.23.2-1 [620 kB] 158s Get:8 http://ftpmaster.internal/ubuntu resolute/main amd64 libc-dev-bin amd64 2.42-2ubuntu4 [23.3 kB] 158s Get:9 http://ftpmaster.internal/ubuntu resolute/main amd64 linux-libc-dev amd64 6.18.0-9.9 [1860 kB] 158s Get:10 http://ftpmaster.internal/ubuntu resolute/main amd64 libcrypt-dev amd64 1:4.5.1-1 [122 kB] 158s Get:11 http://ftpmaster.internal/ubuntu resolute/main amd64 rpcsvc-proto amd64 1.4.3-1build1 [68.3 kB] 158s Get:12 http://ftpmaster.internal/ubuntu resolute/main amd64 libc6-dev amd64 2.42-2ubuntu4 [2207 kB] 158s Get:13 http://ftpmaster.internal/ubuntu resolute/main amd64 libisl23 amd64 0.27-1build1 [691 kB] 158s Get:14 http://ftpmaster.internal/ubuntu resolute/main amd64 libmpc3 amd64 1.3.1-2 [54.8 kB] 158s Get:15 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [12.9 MB] 158s Get:16 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-15 amd64 15.2.0-12ubuntu1 [1034 B] 158s Get:17 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [5746 B] 158s Get:18 http://ftpmaster.internal/ubuntu resolute/main amd64 cpp amd64 4:15.2.0-4ubuntu1 [22.4 kB] 158s Get:19 http://ftpmaster.internal/ubuntu resolute/main amd64 libcc1-0 amd64 15.2.0-12ubuntu1 [47.4 kB] 158s Get:20 http://ftpmaster.internal/ubuntu resolute/main amd64 libgomp1 amd64 15.2.0-12ubuntu1 [151 kB] 158s Get:21 http://ftpmaster.internal/ubuntu resolute/main amd64 libitm1 amd64 15.2.0-12ubuntu1 [29.5 kB] 158s Get:22 http://ftpmaster.internal/ubuntu resolute/main amd64 libasan8 amd64 15.2.0-12ubuntu1 [3070 kB] 158s Get:23 http://ftpmaster.internal/ubuntu resolute/main amd64 liblsan0 amd64 15.2.0-12ubuntu1 [1360 kB] 158s Get:24 http://ftpmaster.internal/ubuntu resolute/main amd64 libtsan2 amd64 15.2.0-12ubuntu1 [2757 kB] 158s Get:25 http://ftpmaster.internal/ubuntu resolute/main amd64 libubsan1 amd64 15.2.0-12ubuntu1 [1210 kB] 158s Get:26 http://ftpmaster.internal/ubuntu resolute/main amd64 libhwasan0 amd64 15.2.0-12ubuntu1 [1685 kB] 158s Get:27 http://ftpmaster.internal/ubuntu resolute/main amd64 libquadmath0 amd64 15.2.0-12ubuntu1 [153 kB] 158s Get:28 http://ftpmaster.internal/ubuntu resolute/main amd64 libgcc-15-dev amd64 15.2.0-12ubuntu1 [2866 kB] 159s Get:29 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [25.4 MB] 159s Get:30 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-15 amd64 15.2.0-12ubuntu1 [530 kB] 159s Get:31 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [1208 B] 159s Get:32 http://ftpmaster.internal/ubuntu resolute/main amd64 gcc amd64 4:15.2.0-4ubuntu1 [5024 B] 159s Get:33 http://ftpmaster.internal/ubuntu resolute/main amd64 libstdc++-15-dev amd64 15.2.0-12ubuntu1 [2553 kB] 159s Get:34 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15-x86-64-linux-gnu amd64 15.2.0-12ubuntu1 [14.4 MB] 160s Get:35 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-15 amd64 15.2.0-12ubuntu1 [25.3 kB] 160s Get:36 http://ftpmaster.internal/ubuntu resolute/main amd64 g++-x86-64-linux-gnu amd64 4:15.2.0-4ubuntu1 [966 B] 160s Get:37 http://ftpmaster.internal/ubuntu resolute/main amd64 g++ amd64 4:15.2.0-4ubuntu1 [1100 B] 160s Get:38 http://ftpmaster.internal/ubuntu resolute/main amd64 build-essential amd64 12.12ubuntu2 [5256 B] 160s Get:39 http://ftpmaster.internal/ubuntu resolute/main amd64 libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 160s Get:40 http://ftpmaster.internal/ubuntu resolute/main amd64 libtool all 2.5.4-9 [169 kB] 160s Get:41 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-autoreconf all 21 [12.5 kB] 160s Get:42 http://ftpmaster.internal/ubuntu resolute/main amd64 libarchive-zip-perl all 1.68-1 [90.2 kB] 160s Get:43 http://ftpmaster.internal/ubuntu resolute/main amd64 libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 160s Get:44 http://ftpmaster.internal/ubuntu resolute/main amd64 dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 160s Get:45 http://ftpmaster.internal/ubuntu resolute/main amd64 debugedit amd64 1:5.2-3build1 [48.8 kB] 160s Get:46 http://ftpmaster.internal/ubuntu resolute/main amd64 dwz amd64 0.16-2build1 [113 kB] 160s Get:47 http://ftpmaster.internal/ubuntu resolute/main amd64 gettext amd64 0.23.2-1 [1019 kB] 160s Get:48 http://ftpmaster.internal/ubuntu resolute/main amd64 intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 160s Get:49 http://ftpmaster.internal/ubuntu resolute/main amd64 po-debconf all 1.0.22 [215 kB] 160s Get:50 http://ftpmaster.internal/ubuntu resolute/main amd64 debhelper all 13.28ubuntu1 [916 kB] 160s Get:51 http://ftpmaster.internal/ubuntu resolute/universe amd64 dh-python all 7.20260125 [122 kB] 160s Get:52 http://ftpmaster.internal/ubuntu resolute/main amd64 sgml-base all 1.31+nmu1build1 [11.2 kB] 160s Get:53 http://ftpmaster.internal/ubuntu resolute/main amd64 xml-core all 0.19build1 [20.3 kB] 160s Get:54 http://ftpmaster.internal/ubuntu resolute/main amd64 docutils-common all 0.22.4+dfsg-1 [130 kB] 160s Get:55 http://ftpmaster.internal/ubuntu resolute/main amd64 libjson-perl all 4.10000-1 [81.9 kB] 160s Get:56 http://ftpmaster.internal/ubuntu resolute/universe amd64 libnorm1t64 amd64 1.5.9+dfsg-4 [158 kB] 160s Get:57 http://ftpmaster.internal/ubuntu resolute/universe amd64 libpgm-5.3-0t64 amd64 5.3.128~dfsg-2.1build2 [168 kB] 160s Get:58 http://ftpmaster.internal/ubuntu resolute/main amd64 libpython3.14-stdlib amd64 3.14.2-1 [2398 kB] 160s Get:59 http://ftpmaster.internal/ubuntu resolute/main amd64 libsodium23 amd64 1.0.18-2 [165 kB] 160s Get:60 http://ftpmaster.internal/ubuntu resolute/universe amd64 libzmq5 amd64 4.3.5-1build3 [262 kB] 160s Get:61 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 160s Get:62 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-wheel all 0.46.1-2 [22.1 kB] 160s Get:63 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-build all 1.2.2-5 [30.9 kB] 160s Get:64 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 160s Get:65 http://ftpmaster.internal/ubuntu resolute/universe amd64 pybuild-plugin-pyproject all 7.20260125 [1712 B] 160s Get:66 http://ftpmaster.internal/ubuntu resolute/main amd64 python-eventlet-doc all 0.39.0-0ubuntu2 [353 kB] 160s Get:67 http://ftpmaster.internal/ubuntu resolute/main amd64 python3.14 amd64 3.14.2-1 [816 kB] 160s Get:68 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-all amd64 3.13.9-3 [890 B] 160s Get:69 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-defusedxml all 0.7.1-3build1 [42.4 kB] 160s Get:70 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-roman-numerals all 4.1.0-1 [8660 B] 160s Get:71 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-docutils all 0.22.4+dfsg-1 [439 kB] 160s Get:72 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-execnet all 2.1.1-1build1 [33.5 kB] 160s Get:73 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pathspec all 0.12.1-1build1 [24.6 kB] 160s Get:74 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pluggy all 1.6.0-2 [21.1 kB] 160s Get:75 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-trove-classifiers all 2025.11.14.15-1 [11.1 kB] 160s Get:76 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-hatchling all 1.28.0-1 [47.3 kB] 160s Get:77 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-imagesize all 1.4.1-1build1 [6900 B] 160s Get:78 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-iniconfig all 2.1.0-2 [6962 B] 160s Get:79 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-monotonic all 1.6-3build1 [5518 B] 160s Get:80 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-pbr all 6.1.1-0ubuntu2 [58.3 kB] 160s Get:81 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 160s Get:82 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest all 9.0.2-2 [277 kB] 160s Get:83 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-pytest-xdist all 3.8.0-4 [34.7 kB] 160s Get:84 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-setuptools-scm all 9.2.2-1 [46.2 kB] 160s Get:85 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-snowballstemmer all 3.0.1-1 [65.9 kB] 160s Get:86 http://ftpmaster.internal/ubuntu resolute/main amd64 sphinx-common all 8.2.3-12 [657 kB] 160s Get:87 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-alabaster all 0.7.16-0.1build1 [18.6 kB] 160s Get:88 http://ftpmaster.internal/ubuntu resolute/main amd64 python3-sphinx all 8.2.3-12 [483 kB] 160s Get:89 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-sphinxcontrib.apidoc all 0.3.0-2ubuntu1 [8032 B] 160s Get:90 http://ftpmaster.internal/ubuntu resolute/universe amd64 python3-zmq amd64 27.1.0-1 [234 kB] 160s Get:91 http://ftpmaster.internal/ubuntu resolute/universe amd64 openstack-pkg-tools all 140 [103 kB] 160s Fetched 91.1 MB in 3s (32.3 MB/s) 160s Selecting previously unselected package libpython3.14-minimal:amd64. 160s (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 ... 84366 files and directories currently installed.) 160s Preparing to unpack .../00-libpython3.14-minimal_3.14.2-1_amd64.deb ... 160s Unpacking libpython3.14-minimal:amd64 (3.14.2-1) ... 160s Selecting previously unselected package python3.14-minimal. 160s Preparing to unpack .../01-python3.14-minimal_3.14.2-1_amd64.deb ... 160s Unpacking python3.14-minimal (3.14.2-1) ... 160s Selecting previously unselected package m4. 160s Preparing to unpack .../02-m4_1.4.20-2_amd64.deb ... 160s Unpacking m4 (1.4.20-2) ... 160s Selecting previously unselected package autoconf. 160s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 160s Unpacking autoconf (2.72-3.1ubuntu1) ... 160s Selecting previously unselected package autotools-dev. 160s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 160s Unpacking autotools-dev (20240727.1) ... 160s Selecting previously unselected package automake. 160s Preparing to unpack .../05-automake_1%3a1.18.1-3build1_all.deb ... 160s Unpacking automake (1:1.18.1-3build1) ... 160s Selecting previously unselected package autopoint. 160s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 160s Unpacking autopoint (0.23.2-1) ... 160s Selecting previously unselected package libc-dev-bin. 160s Preparing to unpack .../07-libc-dev-bin_2.42-2ubuntu4_amd64.deb ... 160s Unpacking libc-dev-bin (2.42-2ubuntu4) ... 160s Selecting previously unselected package linux-libc-dev:amd64. 160s Preparing to unpack .../08-linux-libc-dev_6.18.0-9.9_amd64.deb ... 160s Unpacking linux-libc-dev:amd64 (6.18.0-9.9) ... 160s Selecting previously unselected package libcrypt-dev:amd64. 160s Preparing to unpack .../09-libcrypt-dev_1%3a4.5.1-1_amd64.deb ... 160s Unpacking libcrypt-dev:amd64 (1:4.5.1-1) ... 160s Selecting previously unselected package rpcsvc-proto. 161s Preparing to unpack .../10-rpcsvc-proto_1.4.3-1build1_amd64.deb ... 161s Unpacking rpcsvc-proto (1.4.3-1build1) ... 161s Selecting previously unselected package libc6-dev:amd64. 161s Preparing to unpack .../11-libc6-dev_2.42-2ubuntu4_amd64.deb ... 161s Unpacking libc6-dev:amd64 (2.42-2ubuntu4) ... 161s Selecting previously unselected package libisl23:amd64. 161s Preparing to unpack .../12-libisl23_0.27-1build1_amd64.deb ... 161s Unpacking libisl23:amd64 (0.27-1build1) ... 161s Selecting previously unselected package libmpc3:amd64. 161s Preparing to unpack .../13-libmpc3_1.3.1-2_amd64.deb ... 161s Unpacking libmpc3:amd64 (1.3.1-2) ... 161s Selecting previously unselected package cpp-15-x86-64-linux-gnu. 161s Preparing to unpack .../14-cpp-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking cpp-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package cpp-15. 161s Preparing to unpack .../15-cpp-15_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking cpp-15 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package cpp-x86-64-linux-gnu. 161s Preparing to unpack .../16-cpp-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 161s Unpacking cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package cpp. 161s Preparing to unpack .../17-cpp_4%3a15.2.0-4ubuntu1_amd64.deb ... 161s Unpacking cpp (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package libcc1-0:amd64. 161s Preparing to unpack .../18-libcc1-0_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libcc1-0:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libgomp1:amd64. 161s Preparing to unpack .../19-libgomp1_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libgomp1:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libitm1:amd64. 161s Preparing to unpack .../20-libitm1_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libitm1:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libasan8:amd64. 161s Preparing to unpack .../21-libasan8_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libasan8:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package liblsan0:amd64. 161s Preparing to unpack .../22-liblsan0_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking liblsan0:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libtsan2:amd64. 161s Preparing to unpack .../23-libtsan2_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libtsan2:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libubsan1:amd64. 161s Preparing to unpack .../24-libubsan1_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libubsan1:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libhwasan0:amd64. 161s Preparing to unpack .../25-libhwasan0_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libhwasan0:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libquadmath0:amd64. 161s Preparing to unpack .../26-libquadmath0_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libquadmath0:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package libgcc-15-dev:amd64. 161s Preparing to unpack .../27-libgcc-15-dev_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libgcc-15-dev:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package gcc-15-x86-64-linux-gnu. 161s Preparing to unpack .../28-gcc-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking gcc-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package gcc-15. 161s Preparing to unpack .../29-gcc-15_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking gcc-15 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package gcc-x86-64-linux-gnu. 161s Preparing to unpack .../30-gcc-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 161s Unpacking gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package gcc. 161s Preparing to unpack .../31-gcc_4%3a15.2.0-4ubuntu1_amd64.deb ... 161s Unpacking gcc (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package libstdc++-15-dev:amd64. 161s Preparing to unpack .../32-libstdc++-15-dev_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking libstdc++-15-dev:amd64 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-15-x86-64-linux-gnu. 161s Preparing to unpack .../33-g++-15-x86-64-linux-gnu_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking g++-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-15. 161s Preparing to unpack .../34-g++-15_15.2.0-12ubuntu1_amd64.deb ... 161s Unpacking g++-15 (15.2.0-12ubuntu1) ... 161s Selecting previously unselected package g++-x86-64-linux-gnu. 161s Preparing to unpack .../35-g++-x86-64-linux-gnu_4%3a15.2.0-4ubuntu1_amd64.deb ... 161s Unpacking g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 161s Selecting previously unselected package g++. 162s Preparing to unpack .../36-g++_4%3a15.2.0-4ubuntu1_amd64.deb ... 162s Unpacking g++ (4:15.2.0-4ubuntu1) ... 162s Selecting previously unselected package build-essential. 162s Preparing to unpack .../37-build-essential_12.12ubuntu2_amd64.deb ... 162s Unpacking build-essential (12.12ubuntu2) ... 162s Selecting previously unselected package libdebhelper-perl. 162s Preparing to unpack .../38-libdebhelper-perl_13.28ubuntu1_all.deb ... 162s Unpacking libdebhelper-perl (13.28ubuntu1) ... 162s Selecting previously unselected package libtool. 162s Preparing to unpack .../39-libtool_2.5.4-9_all.deb ... 162s Unpacking libtool (2.5.4-9) ... 162s Selecting previously unselected package dh-autoreconf. 162s Preparing to unpack .../40-dh-autoreconf_21_all.deb ... 162s Unpacking dh-autoreconf (21) ... 162s Selecting previously unselected package libarchive-zip-perl. 162s Preparing to unpack .../41-libarchive-zip-perl_1.68-1_all.deb ... 162s Unpacking libarchive-zip-perl (1.68-1) ... 162s Selecting previously unselected package libfile-stripnondeterminism-perl. 162s Preparing to unpack .../42-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 162s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 162s Selecting previously unselected package dh-strip-nondeterminism. 162s Preparing to unpack .../43-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 162s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 162s Selecting previously unselected package debugedit. 162s Preparing to unpack .../44-debugedit_1%3a5.2-3build1_amd64.deb ... 162s Unpacking debugedit (1:5.2-3build1) ... 162s Selecting previously unselected package dwz. 162s Preparing to unpack .../45-dwz_0.16-2build1_amd64.deb ... 162s Unpacking dwz (0.16-2build1) ... 162s Selecting previously unselected package gettext. 162s Preparing to unpack .../46-gettext_0.23.2-1_amd64.deb ... 162s Unpacking gettext (0.23.2-1) ... 162s Selecting previously unselected package intltool-debian. 162s Preparing to unpack .../47-intltool-debian_0.35.0+20060710.6build1_all.deb ... 162s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 162s Selecting previously unselected package po-debconf. 162s Preparing to unpack .../48-po-debconf_1.0.22_all.deb ... 162s Unpacking po-debconf (1.0.22) ... 162s Selecting previously unselected package debhelper. 162s Preparing to unpack .../49-debhelper_13.28ubuntu1_all.deb ... 162s Unpacking debhelper (13.28ubuntu1) ... 162s Selecting previously unselected package dh-python. 162s Preparing to unpack .../50-dh-python_7.20260125_all.deb ... 162s Unpacking dh-python (7.20260125) ... 162s Selecting previously unselected package sgml-base. 162s Preparing to unpack .../51-sgml-base_1.31+nmu1build1_all.deb ... 162s Unpacking sgml-base (1.31+nmu1build1) ... 162s Selecting previously unselected package xml-core. 162s Preparing to unpack .../52-xml-core_0.19build1_all.deb ... 162s Unpacking xml-core (0.19build1) ... 162s Selecting previously unselected package docutils-common. 162s Preparing to unpack .../53-docutils-common_0.22.4+dfsg-1_all.deb ... 162s Unpacking docutils-common (0.22.4+dfsg-1) ... 162s Selecting previously unselected package libjson-perl. 162s Preparing to unpack .../54-libjson-perl_4.10000-1_all.deb ... 162s Unpacking libjson-perl (4.10000-1) ... 162s Selecting previously unselected package libnorm1t64:amd64. 162s Preparing to unpack .../55-libnorm1t64_1.5.9+dfsg-4_amd64.deb ... 162s Unpacking libnorm1t64:amd64 (1.5.9+dfsg-4) ... 162s Selecting previously unselected package libpgm-5.3-0t64:amd64. 162s Preparing to unpack .../56-libpgm-5.3-0t64_5.3.128~dfsg-2.1build2_amd64.deb ... 162s Unpacking libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1build2) ... 162s Selecting previously unselected package libpython3.14-stdlib:amd64. 162s Preparing to unpack .../57-libpython3.14-stdlib_3.14.2-1_amd64.deb ... 162s Unpacking libpython3.14-stdlib:amd64 (3.14.2-1) ... 162s Selecting previously unselected package libsodium23:amd64. 162s Preparing to unpack .../58-libsodium23_1.0.18-2_amd64.deb ... 162s Unpacking libsodium23:amd64 (1.0.18-2) ... 162s Selecting previously unselected package libzmq5:amd64. 162s Preparing to unpack .../59-libzmq5_4.3.5-1build3_amd64.deb ... 162s Unpacking libzmq5:amd64 (4.3.5-1build3) ... 162s Selecting previously unselected package python3-pyproject-hooks. 162s Preparing to unpack .../60-python3-pyproject-hooks_1.2.0-1_all.deb ... 162s Unpacking python3-pyproject-hooks (1.2.0-1) ... 162s Selecting previously unselected package python3-wheel. 162s Preparing to unpack .../61-python3-wheel_0.46.1-2_all.deb ... 162s Unpacking python3-wheel (0.46.1-2) ... 162s Selecting previously unselected package python3-build. 162s Preparing to unpack .../62-python3-build_1.2.2-5_all.deb ... 162s Unpacking python3-build (1.2.2-5) ... 162s Selecting previously unselected package python3-installer. 162s Preparing to unpack .../63-python3-installer_0.7.0+dfsg1-3_all.deb ... 162s Unpacking python3-installer (0.7.0+dfsg1-3) ... 162s Selecting previously unselected package pybuild-plugin-pyproject. 162s Preparing to unpack .../64-pybuild-plugin-pyproject_7.20260125_all.deb ... 162s Unpacking pybuild-plugin-pyproject (7.20260125) ... 162s Selecting previously unselected package python-eventlet-doc. 162s Preparing to unpack .../65-python-eventlet-doc_0.39.0-0ubuntu2_all.deb ... 162s Unpacking python-eventlet-doc (0.39.0-0ubuntu2) ... 162s Selecting previously unselected package python3.14. 162s Preparing to unpack .../66-python3.14_3.14.2-1_amd64.deb ... 162s Unpacking python3.14 (3.14.2-1) ... 162s Selecting previously unselected package python3-all. 162s Preparing to unpack .../67-python3-all_3.13.9-3_amd64.deb ... 162s Unpacking python3-all (3.13.9-3) ... 162s Selecting previously unselected package python3-defusedxml. 162s Preparing to unpack .../68-python3-defusedxml_0.7.1-3build1_all.deb ... 162s Unpacking python3-defusedxml (0.7.1-3build1) ... 162s Selecting previously unselected package python3-roman-numerals. 162s Preparing to unpack .../69-python3-roman-numerals_4.1.0-1_all.deb ... 162s Unpacking python3-roman-numerals (4.1.0-1) ... 162s Selecting previously unselected package python3-docutils. 162s Preparing to unpack .../70-python3-docutils_0.22.4+dfsg-1_all.deb ... 162s Unpacking python3-docutils (0.22.4+dfsg-1) ... 162s Selecting previously unselected package python3-execnet. 162s Preparing to unpack .../71-python3-execnet_2.1.1-1build1_all.deb ... 162s Unpacking python3-execnet (2.1.1-1build1) ... 162s Selecting previously unselected package python3-pathspec. 162s Preparing to unpack .../72-python3-pathspec_0.12.1-1build1_all.deb ... 162s Unpacking python3-pathspec (0.12.1-1build1) ... 162s Selecting previously unselected package python3-pluggy. 162s Preparing to unpack .../73-python3-pluggy_1.6.0-2_all.deb ... 162s Unpacking python3-pluggy (1.6.0-2) ... 162s Selecting previously unselected package python3-trove-classifiers. 162s Preparing to unpack .../74-python3-trove-classifiers_2025.11.14.15-1_all.deb ... 162s Unpacking python3-trove-classifiers (2025.11.14.15-1) ... 162s Selecting previously unselected package python3-hatchling. 162s Preparing to unpack .../75-python3-hatchling_1.28.0-1_all.deb ... 162s Unpacking python3-hatchling (1.28.0-1) ... 162s Selecting previously unselected package python3-imagesize. 162s Preparing to unpack .../76-python3-imagesize_1.4.1-1build1_all.deb ... 162s Unpacking python3-imagesize (1.4.1-1build1) ... 162s Selecting previously unselected package python3-iniconfig. 162s Preparing to unpack .../77-python3-iniconfig_2.1.0-2_all.deb ... 162s Unpacking python3-iniconfig (2.1.0-2) ... 162s Selecting previously unselected package python3-monotonic. 162s Preparing to unpack .../78-python3-monotonic_1.6-3build1_all.deb ... 162s Unpacking python3-monotonic (1.6-3build1) ... 162s Selecting previously unselected package python3-pbr. 162s Preparing to unpack .../79-python3-pbr_6.1.1-0ubuntu2_all.deb ... 162s Unpacking python3-pbr (6.1.1-0ubuntu2) ... 162s Selecting previously unselected package python3-pip. 162s Preparing to unpack .../80-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 162s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 162s Selecting previously unselected package python3-pytest. 162s Preparing to unpack .../81-python3-pytest_9.0.2-2_all.deb ... 162s Unpacking python3-pytest (9.0.2-2) ... 162s Selecting previously unselected package python3-pytest-xdist. 162s Preparing to unpack .../82-python3-pytest-xdist_3.8.0-4_all.deb ... 162s Unpacking python3-pytest-xdist (3.8.0-4) ... 162s Selecting previously unselected package python3-setuptools-scm. 162s Preparing to unpack .../83-python3-setuptools-scm_9.2.2-1_all.deb ... 162s Unpacking python3-setuptools-scm (9.2.2-1) ... 162s Selecting previously unselected package python3-snowballstemmer. 162s Preparing to unpack .../84-python3-snowballstemmer_3.0.1-1_all.deb ... 162s Unpacking python3-snowballstemmer (3.0.1-1) ... 162s Selecting previously unselected package sphinx-common. 162s Preparing to unpack .../85-sphinx-common_8.2.3-12_all.deb ... 162s Unpacking sphinx-common (8.2.3-12) ... 162s Selecting previously unselected package python3-alabaster. 162s Preparing to unpack .../86-python3-alabaster_0.7.16-0.1build1_all.deb ... 162s Unpacking python3-alabaster (0.7.16-0.1build1) ... 162s Selecting previously unselected package python3-sphinx. 162s Preparing to unpack .../87-python3-sphinx_8.2.3-12_all.deb ... 162s Unpacking python3-sphinx (8.2.3-12) ... 162s Selecting previously unselected package python3-sphinxcontrib.apidoc. 162s Preparing to unpack .../88-python3-sphinxcontrib.apidoc_0.3.0-2ubuntu1_all.deb ... 162s Unpacking python3-sphinxcontrib.apidoc (0.3.0-2ubuntu1) ... 162s Selecting previously unselected package python3-zmq. 162s Preparing to unpack .../89-python3-zmq_27.1.0-1_amd64.deb ... 162s Unpacking python3-zmq (27.1.0-1) ... 162s Selecting previously unselected package openstack-pkg-tools. 162s Preparing to unpack .../90-openstack-pkg-tools_140_all.deb ... 162s Unpacking openstack-pkg-tools (140) ... 162s Setting up dh-python (7.20260125) ... 163s Setting up python3-iniconfig (2.1.0-2) ... 163s Setting up libnorm1t64:amd64 (1.5.9+dfsg-4) ... 163s Setting up libsodium23:amd64 (1.0.18-2) ... 163s Setting up python3-defusedxml (0.7.1-3build1) ... 163s Setting up python3-pbr (6.1.1-0ubuntu2) ... 163s Setting up libarchive-zip-perl (1.68-1) ... 163s Setting up python3-alabaster (0.7.16-0.1build1) ... 163s Setting up libdebhelper-perl (13.28ubuntu1) ... 163s Setting up libpython3.14-minimal:amd64 (3.14.2-1) ... 163s Setting up linux-libc-dev:amd64 (6.18.0-9.9) ... 163s Setting up m4 (1.4.20-2) ... 163s Setting up python-eventlet-doc (0.39.0-0ubuntu2) ... 163s Setting up libgomp1:amd64 (15.2.0-12ubuntu1) ... 163s Setting up python3-wheel (0.46.1-2) ... 163s Setting up python3-setuptools-scm (9.2.2-1) ... 163s Setting up python3-monotonic (1.6-3build1) ... 164s Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1build2) ... 164s Setting up autotools-dev (20240727.1) ... 164s Setting up rpcsvc-proto (1.4.3-1build1) ... 164s Setting up python3-pyproject-hooks (1.2.0-1) ... 164s Setting up python3-snowballstemmer (3.0.1-1) ... 164s Setting up libquadmath0:amd64 (15.2.0-12ubuntu1) ... 164s Setting up libmpc3:amd64 (1.3.1-2) ... 164s Setting up autopoint (0.23.2-1) ... 164s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 165s Setting up python3-installer (0.7.0+dfsg1-3) ... 165s Setting up autoconf (2.72-3.1ubuntu1) ... 165s Setting up python3-pluggy (1.6.0-2) ... 165s Setting up libubsan1:amd64 (15.2.0-12ubuntu1) ... 165s Setting up dwz (0.16-2build1) ... 165s Setting up python3-trove-classifiers (2025.11.14.15-1) ... 166s Setting up libhwasan0:amd64 (15.2.0-12ubuntu1) ... 166s Setting up libcrypt-dev:amd64 (1:4.5.1-1) ... 166s Setting up libasan8:amd64 (15.2.0-12ubuntu1) ... 166s Setting up libjson-perl (4.10000-1) ... 166s Setting up debugedit (1:5.2-3build1) ... 166s Setting up python3-roman-numerals (4.1.0-1) ... 166s Setting up sgml-base (1.31+nmu1build1) ... 166s Setting up libtsan2:amd64 (15.2.0-12ubuntu1) ... 166s Setting up libisl23:amd64 (0.27-1build1) ... 166s Setting up python3-build (1.2.2-5) ... 166s Setting up libc-dev-bin (2.42-2ubuntu4) ... 166s Setting up python3-execnet (2.1.1-1build1) ... 166s Setting up python3-pathspec (0.12.1-1build1) ... 166s Setting up python3.14-minimal (3.14.2-1) ... 167s Setting up libcc1-0:amd64 (15.2.0-12ubuntu1) ... 167s Setting up liblsan0:amd64 (15.2.0-12ubuntu1) ... 167s Setting up libitm1:amd64 (15.2.0-12ubuntu1) ... 167s Setting up python3-imagesize (1.4.1-1build1) ... 167s Setting up automake (1:1.18.1-3build1) ... 167s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 167s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 167s Setting up gettext (0.23.2-1) ... 167s Setting up libgcc-15-dev:amd64 (15.2.0-12ubuntu1) ... 167s Setting up libzmq5:amd64 (4.3.5-1build3) ... 167s Setting up libpython3.14-stdlib:amd64 (3.14.2-1) ... 167s Setting up pybuild-plugin-pyproject (7.20260125) ... 167s Setting up python3-pytest (9.0.2-2) ... 167s Setting up cpp-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 167s Setting up intltool-debian (0.35.0+20060710.6build1) ... 167s Setting up gcc-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 167s Setting up python3-zmq (27.1.0-1) ... 167s Setting up sphinx-common (8.2.3-12) ... 167s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 167s Setting up cpp-15 (15.2.0-12ubuntu1) ... 167s Setting up xml-core (0.19build1) ... 167s Setting up libc6-dev:amd64 (2.42-2ubuntu4) ... 167s Setting up python3-hatchling (1.28.0-1) ... 168s Setting up python3.14 (3.14.2-1) ... 168s Setting up cpp-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 168s Setting up python3-pytest-xdist (3.8.0-4) ... 168s Setting up gcc-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 168s Setting up po-debconf (1.0.22) ... 168s Setting up python3-all (3.13.9-3) ... 168s Setting up openstack-pkg-tools (140) ... 168s Setting up gcc-15 (15.2.0-12ubuntu1) ... 168s Setting up libstdc++-15-dev:amd64 (15.2.0-12ubuntu1) ... 168s Setting up cpp (4:15.2.0-4ubuntu1) ... 168s Setting up g++-15-x86-64-linux-gnu (15.2.0-12ubuntu1) ... 168s Setting up libtool (2.5.4-9) ... 168s Setting up gcc (4:15.2.0-4ubuntu1) ... 168s Setting up dh-autoreconf (21) ... 168s Setting up g++-x86-64-linux-gnu (4:15.2.0-4ubuntu1) ... 168s Setting up g++-15 (15.2.0-12ubuntu1) ... 168s Setting up debhelper (13.28ubuntu1) ... 168s Setting up g++ (4:15.2.0-4ubuntu1) ... 168s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 168s Setting up build-essential (12.12ubuntu2) ... 168s Processing triggers for install-info (7.2-5) ... 168s Processing triggers for libc-bin (2.42-2ubuntu4) ... 168s Processing triggers for systemd (259-1ubuntu3) ... 169s Processing triggers for man-db (2.13.1-1) ... 170s Processing triggers for sgml-base (1.31+nmu1build1) ... 170s Setting up docutils-common (0.22.4+dfsg-1) ... 170s Processing triggers for sgml-base (1.31+nmu1build1) ... 170s Setting up python3-docutils (0.22.4+dfsg-1) ... 170s Setting up python3-sphinx (8.2.3-12) ... 171s Setting up python3-sphinxcontrib.apidoc (0.3.0-2ubuntu1) ... 172s autopkgtest [12:19:21]: test unittests: [----------------------- 173s [02/06/26 12:19:20] WARNING toml section missing pyproject_reading.py:215 173s PosixPath('pyproject.toml' 173s ) does not contain a 173s tool.setuptools_scm 173s section 173s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 173s !! 173s 173s ******************************************************************************** 173s Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0). 173s 173s By 2026-Feb-18, you need to update your project and remove deprecated calls 173s or your builds will no longer be supported. 173s 173s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 173s ******************************************************************************** 173s 173s !! 173s corresp(dist, value, root_dir) 173s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 173s !! 173s 173s ******************************************************************************** 173s Please consider removing the following classifiers in favor of a SPDX license expression: 173s 173s License :: OSI Approved :: MIT License 173s 173s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 173s ******************************************************************************** 173s 173s !! 173s dist._finalize_license_expression() 173s /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 173s !! 173s 173s ******************************************************************************** 173s Please consider removing the following classifiers in favor of a SPDX license expression: 173s 173s License :: OSI Approved :: MIT License 173s 173s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 173s ******************************************************************************** 173s 173s !! 173s self._finalize_license_expression() 173s running install 173s running build 173s running build_py 173s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. 173s !! 173s 173s ******************************************************************************** 173s Please avoid running ``setup.py`` directly. 173s Instead, use pypa/build, pypa/installer or other 173s standards-based tools. 173s 173s See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 173s ******************************************************************************** 173s 173s !! 173s self.initialize_options() 173s creating build/lib/eventlet 173s copying eventlet/convenience.py -> build/lib/eventlet 173s copying eventlet/event.py -> build/lib/eventlet 173s copying eventlet/backdoor.py -> build/lib/eventlet 173s copying eventlet/timeout.py -> build/lib/eventlet 173s copying eventlet/__init__.py -> build/lib/eventlet 173s copying eventlet/corolocal.py -> build/lib/eventlet 173s copying eventlet/queue.py -> build/lib/eventlet 173s copying eventlet/greenthread.py -> build/lib/eventlet 173s copying eventlet/greenpool.py -> build/lib/eventlet 173s copying eventlet/lock.py -> build/lib/eventlet 173s copying eventlet/pools.py -> build/lib/eventlet 173s copying eventlet/coros.py -> build/lib/eventlet 173s copying eventlet/db_pool.py -> build/lib/eventlet 173s copying eventlet/asyncio.py -> build/lib/eventlet 173s copying eventlet/debug.py -> build/lib/eventlet 173s copying eventlet/wsgi.py -> build/lib/eventlet 173s copying eventlet/dagpool.py -> build/lib/eventlet 173s copying eventlet/tpool.py -> build/lib/eventlet 173s copying eventlet/semaphore.py -> build/lib/eventlet 173s copying eventlet/patcher.py -> build/lib/eventlet 173s copying eventlet/_version.py -> build/lib/eventlet 173s copying eventlet/websocket.py -> build/lib/eventlet 173s running egg_info 173s creating eventlet.egg-info 173s writing eventlet.egg-info/PKG-INFO 173s writing dependency_links to eventlet.egg-info/dependency_links.txt 173s writing requirements to eventlet.egg-info/requires.txt 173s writing top-level names to eventlet.egg-info/top_level.txt 173s writing manifest file 'eventlet.egg-info/SOURCES.txt' 173s reading manifest file 'eventlet.egg-info/SOURCES.txt' 173s reading manifest template 'MANIFEST.in' 173s warning: no files found matching 'Makefile' under directory 'doc' 173s adding license file 'LICENSE' 173s adding license file 'AUTHORS' 173s writing manifest file 'eventlet.egg-info/SOURCES.txt' 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.green' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.green' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.green' to be distributed and are 173s already explicitly excluding 'eventlet.green' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.OpenSSL' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.green.OpenSSL' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.green.OpenSSL' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.green.OpenSSL' to be distributed and are 173s already explicitly excluding 'eventlet.green.OpenSSL' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.http' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.green.http' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.green.http' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.green.http' to be distributed and are 173s already explicitly excluding 'eventlet.green.http' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.urllib' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.green.urllib' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.green.urllib' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.green.urllib' to be distributed and are 173s already explicitly excluding 'eventlet.green.urllib' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.greenio' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.greenio' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.greenio' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.greenio' to be distributed and are 173s already explicitly excluding 'eventlet.greenio' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.hubs' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.hubs' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.hubs' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.hubs' to be distributed and are 173s already explicitly excluding 'eventlet.hubs' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.support' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.support' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.support' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.support' to be distributed and are 173s already explicitly excluding 'eventlet.support' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.zipkin' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.zipkin' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.zipkin' to be distributed and are 173s already explicitly excluding 'eventlet.zipkin' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.zipkin._thrift' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.zipkin._thrift' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.zipkin._thrift' to be distributed and are 173s already explicitly excluding 'eventlet.zipkin._thrift' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift.zipkinCore' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.zipkin._thrift.zipkinCore' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.zipkin._thrift.zipkinCore' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.zipkin._thrift.zipkinCore' to be distributed and are 173s already explicitly excluding 'eventlet.zipkin._thrift.zipkinCore' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin.example' is absent from the `packages` configuration. 173s !! 173s 173s ******************************************************************************** 173s ############################ 173s # Package would be ignored # 173s ############################ 173s Python recognizes 'eventlet.zipkin.example' as an importable package[^1], 173s but it is absent from setuptools' `packages` configuration. 173s 173s This leads to an ambiguous overall configuration. If you want to distribute this 173s package, please make sure that 'eventlet.zipkin.example' is explicitly added 173s to the `packages` configuration field. 173s 173s Alternatively, you can also rely on setuptools' discovery methods 173s (for example by using `find_namespace_packages(...)`/`find_namespace:` 173s instead of `find_packages(...)`/`find:`). 173s 173s You can read more about "package discovery" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 173s 173s If you don't want 'eventlet.zipkin.example' to be distributed and are 173s already explicitly excluding 'eventlet.zipkin.example' via 173s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 173s you can try to use `exclude_package_data`, or `include-package-data=False` in 173s combination with a more fine grained `package-data` configuration. 173s 173s You can read more about "package data files" on setuptools documentation page: 173s 173s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 173s 173s 173s [^1]: For Python, any directory (with suitable naming) can be imported, 173s even if it does not contain any `.py` files. 173s On the other hand, currently there is no concept of package data 173s directory, all directories are treated like packages. 173s ******************************************************************************** 173s 173s !! 173s check.warn(importable) 173s creating build/lib/eventlet/green 173s copying eventlet/green/BaseHTTPServer.py -> build/lib/eventlet/green 173s copying eventlet/green/CGIHTTPServer.py -> build/lib/eventlet/green 173s copying eventlet/green/MySQLdb.py -> build/lib/eventlet/green 173s copying eventlet/green/Queue.py -> build/lib/eventlet/green 173s copying eventlet/green/SimpleHTTPServer.py -> build/lib/eventlet/green 173s copying eventlet/green/SocketServer.py -> build/lib/eventlet/green 173s copying eventlet/green/__init__.py -> build/lib/eventlet/green 173s copying eventlet/green/_socket_nodns.py -> build/lib/eventlet/green 173s copying eventlet/green/asynchat.py -> build/lib/eventlet/green 173s copying eventlet/green/asyncore.py -> build/lib/eventlet/green 173s copying eventlet/green/builtin.py -> build/lib/eventlet/green 173s copying eventlet/green/ftplib.py -> build/lib/eventlet/green 173s copying eventlet/green/httplib.py -> build/lib/eventlet/green 173s copying eventlet/green/os.py -> build/lib/eventlet/green 173s copying eventlet/green/profile.py -> build/lib/eventlet/green 173s copying eventlet/green/select.py -> build/lib/eventlet/green 173s copying eventlet/green/selectors.py -> build/lib/eventlet/green 173s copying eventlet/green/socket.py -> build/lib/eventlet/green 173s copying eventlet/green/ssl.py -> build/lib/eventlet/green 173s copying eventlet/green/subprocess.py -> build/lib/eventlet/green 173s copying eventlet/green/thread.py -> build/lib/eventlet/green 173s copying eventlet/green/threading.py -> build/lib/eventlet/green 173s copying eventlet/green/time.py -> build/lib/eventlet/green 173s copying eventlet/green/urllib2.py -> build/lib/eventlet/green 173s copying eventlet/green/zmq.py -> build/lib/eventlet/green 173s creating build/lib/eventlet/green/OpenSSL 173s copying eventlet/green/OpenSSL/SSL.py -> build/lib/eventlet/green/OpenSSL 173s copying eventlet/green/OpenSSL/__init__.py -> build/lib/eventlet/green/OpenSSL 173s copying eventlet/green/OpenSSL/crypto.py -> build/lib/eventlet/green/OpenSSL 173s copying eventlet/green/OpenSSL/tsafe.py -> build/lib/eventlet/green/OpenSSL 173s copying eventlet/green/OpenSSL/version.py -> build/lib/eventlet/green/OpenSSL 173s creating build/lib/eventlet/green/http 173s copying eventlet/green/http/__init__.py -> build/lib/eventlet/green/http 173s copying eventlet/green/http/client.py -> build/lib/eventlet/green/http 173s copying eventlet/green/http/cookiejar.py -> build/lib/eventlet/green/http 173s copying eventlet/green/http/cookies.py -> build/lib/eventlet/green/http 173s copying eventlet/green/http/server.py -> build/lib/eventlet/green/http 173s creating build/lib/eventlet/green/urllib 173s copying eventlet/green/urllib/__init__.py -> build/lib/eventlet/green/urllib 173s copying eventlet/green/urllib/error.py -> build/lib/eventlet/green/urllib 173s copying eventlet/green/urllib/parse.py -> build/lib/eventlet/green/urllib 173s copying eventlet/green/urllib/request.py -> build/lib/eventlet/green/urllib 173s copying eventlet/green/urllib/response.py -> build/lib/eventlet/green/urllib 173s creating build/lib/eventlet/greenio 173s copying eventlet/greenio/__init__.py -> build/lib/eventlet/greenio 173s copying eventlet/greenio/base.py -> build/lib/eventlet/greenio 173s copying eventlet/greenio/py3.py -> build/lib/eventlet/greenio 173s creating build/lib/eventlet/hubs 173s copying eventlet/hubs/__init__.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/asyncio.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/epolls.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/hub.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/kqueue.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/poll.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/pyevent.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/selects.py -> build/lib/eventlet/hubs 173s copying eventlet/hubs/timer.py -> build/lib/eventlet/hubs 173s creating build/lib/eventlet/support 173s copying eventlet/support/__init__.py -> build/lib/eventlet/support 173s copying eventlet/support/greendns.py -> build/lib/eventlet/support 173s copying eventlet/support/greenlets.py -> build/lib/eventlet/support 173s copying eventlet/support/psycopg2_patcher.py -> build/lib/eventlet/support 173s copying eventlet/support/pylib.py -> build/lib/eventlet/support 173s copying eventlet/support/stacklesspypys.py -> build/lib/eventlet/support 173s copying eventlet/support/stacklesss.py -> build/lib/eventlet/support 173s creating build/lib/eventlet/zipkin 173s copying eventlet/zipkin/README.rst -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/__init__.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/api.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/client.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/greenthread.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/http.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/log.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/patcher.py -> build/lib/eventlet/zipkin 173s copying eventlet/zipkin/wsgi.py -> build/lib/eventlet/zipkin 173s creating build/lib/eventlet/zipkin/_thrift 173s copying eventlet/zipkin/_thrift/README.rst -> build/lib/eventlet/zipkin/_thrift 173s copying eventlet/zipkin/_thrift/__init__.py -> build/lib/eventlet/zipkin/_thrift 173s copying eventlet/zipkin/_thrift/zipkinCore.thrift -> build/lib/eventlet/zipkin/_thrift 173s creating build/lib/eventlet/zipkin/_thrift/zipkinCore 173s copying eventlet/zipkin/_thrift/zipkinCore/__init__.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 173s copying eventlet/zipkin/_thrift/zipkinCore/constants.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 173s copying eventlet/zipkin/_thrift/zipkinCore/ttypes.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 173s creating build/lib/eventlet/zipkin/example 173s copying eventlet/zipkin/example/ex1.png -> build/lib/eventlet/zipkin/example 173s copying eventlet/zipkin/example/ex2.png -> build/lib/eventlet/zipkin/example 173s copying eventlet/zipkin/example/ex3.png -> build/lib/eventlet/zipkin/example 173s running install_lib 173s creating /debian/tmp/usr/lib/python3/dist-packages 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/convenience.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/event.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/time.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/Queue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/asynchat.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/MySQLdb.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/profile.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/selectors.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/asyncore.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/threading.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/subprocess.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/os.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/httplib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/urllib2.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/ssl.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s copying build/lib/eventlet/green/urllib/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s copying build/lib/eventlet/green/urllib/request.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s copying build/lib/eventlet/green/urllib/error.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s copying build/lib/eventlet/green/urllib/response.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s copying build/lib/eventlet/green/urllib/parse.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/OpenSSL/tsafe.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/OpenSSL/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/OpenSSL/crypto.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/OpenSSL/SSL.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/OpenSSL/version.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 173s copying build/lib/eventlet/green/zmq.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/builtin.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/SocketServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/BaseHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/socket.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/ftplib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/select.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/http/client.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/http/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/http/server.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/http/cookies.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/http/cookiejar.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 173s copying build/lib/eventlet/green/thread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/_socket_nodns.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/CGIHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/green/SimpleHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 173s copying build/lib/eventlet/backdoor.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/timeout.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 173s copying build/lib/eventlet/zipkin/_thrift/README.rst -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 173s copying build/lib/eventlet/zipkin/_thrift/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 173s copying build/lib/eventlet/zipkin/_thrift/zipkinCore.thrift -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 173s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 173s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/constants.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 173s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/ttypes.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 173s copying build/lib/eventlet/zipkin/http.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/client.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/api.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/README.rst -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/greenthread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 173s copying build/lib/eventlet/zipkin/example/ex2.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 173s copying build/lib/eventlet/zipkin/example/ex3.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 173s copying build/lib/eventlet/zipkin/example/ex1.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 173s copying build/lib/eventlet/zipkin/log.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/wsgi.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/zipkin/patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 173s copying build/lib/eventlet/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/corolocal.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/queue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/greenthread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/greenpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/lock.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/pools.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/coros.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/db_pool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/asyncio.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/debug.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/selects.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/poll.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/pyevent.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/timer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/epolls.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/kqueue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/asyncio.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/hubs/hub.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 173s copying build/lib/eventlet/wsgi.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/dagpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/tpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/semaphore.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/_version.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s copying build/lib/eventlet/websocket.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 173s copying build/lib/eventlet/greenio/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 173s copying build/lib/eventlet/greenio/py3.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 173s copying build/lib/eventlet/greenio/base.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 173s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/pylib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/greendns.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/psycopg2_patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/stacklesspypys.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/stacklesss.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s copying build/lib/eventlet/support/greenlets.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/convenience.py to convenience.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/event.py to event.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/time.py to time.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/Queue.py to Queue.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asynchat.py to asynchat.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/MySQLdb.py to MySQLdb.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/profile.py to profile.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/selectors.py to selectors.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asyncore.py to asyncore.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/threading.py to threading.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/subprocess.py to subprocess.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/os.py to os.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/httplib.py to httplib.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib2.py to urllib2.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ssl.py to ssl.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/request.py to request.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/error.py to error.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/response.py to response.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/parse.py to parse.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/tsafe.py to tsafe.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/crypto.py to crypto.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/SSL.py to SSL.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/version.py to version.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/zmq.py to zmq.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/builtin.py to builtin.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SocketServer.py to SocketServer.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/BaseHTTPServer.py to BaseHTTPServer.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/socket.py to socket.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ftplib.py to ftplib.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/select.py to select.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/client.py to client.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/server.py to server.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookies.py to cookies.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookiejar.py to cookiejar.cpython-314.pyc 173s /usr/lib/python3/dist-packages/eventlet/greenpool.py:95: SyntaxWarning: 'return' in a 'finally' block 173s return 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/thread.py to thread.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/_socket_nodns.py to _socket_nodns.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/CGIHTTPServer.py to CGIHTTPServer.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SimpleHTTPServer.py to SimpleHTTPServer.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/backdoor.py to backdoor.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/timeout.py to timeout.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/constants.py to constants.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/ttypes.py to ttypes.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/http.py to http.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/client.py to client.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/api.py to api.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/greenthread.py to greenthread.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/log.py to log.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/wsgi.py to wsgi.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/patcher.py to patcher.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/corolocal.py to corolocal.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/queue.py to queue.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenthread.py to greenthread.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenpool.py to greenpool.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/lock.py to lock.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/pools.py to pools.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/coros.py to coros.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/db_pool.py to db_pool.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/asyncio.py to asyncio.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/debug.py to debug.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/selects.py to selects.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/poll.py to poll.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/pyevent.py to pyevent.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/timer.py to timer.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/epolls.py to epolls.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/kqueue.py to kqueue.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/asyncio.py to asyncio.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/hub.py to hub.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/wsgi.py to wsgi.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/dagpool.py to dagpool.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/tpool.py to tpool.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/semaphore.py to semaphore.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/patcher.py to patcher.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/_version.py to _version.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/websocket.py to websocket.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/py3.py to py3.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/base.py to base.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/pylib.py to pylib.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__init__.py to __init__.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greendns.py to greendns.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/psycopg2_patcher.py to psycopg2_patcher.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesspypys.py to stacklesspypys.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesss.py to stacklesss.cpython-314.pyc 173s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greenlets.py to greenlets.cpython-314.pyc 173s running install_egg_info 173s Copying eventlet.egg-info to /debian/tmp/usr/lib/python3/dist-packages/eventlet-0.0.0.egg-info 173s Skipping SOURCES.txt 173s running install_scripts 174s ============================= test session starts ============================== 174s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 174s cachedir: .pytest_cache 174s rootdir: /tmp/autopkgtest.Qyc9mF/build.JqU/src 174s configfile: pyproject.toml 174s plugins: xdist-3.8.0, typeguard-4.4.4 174s created: 2/2 workers 174s 2 workers [717 items] 174s 174s scheduling tests via LoadScheduling 174s 174s tests/api_test.py::TestApi::test_001_trampoline_timeout 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 174s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 174s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 174s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 174s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 174s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 174s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 174s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 174s tests/debug_test.py::TestSpew::test_line 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line 174s tests/debug_test.py::TestSpew::test_line_global 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_global 174s tests/debug_test.py::TestSpew::test_line_nofile 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nofile 174s tests/debug_test.py::TestSpew::test_line_nooutput 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nooutput 174s tests/debug_test.py::TestSpew::test_line_novalue 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_novalue 174s tests/debug_test.py::TestSpew::test_spew 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_spew 174s tests/debug_test.py::TestSpew::test_unspew 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_unspew 174s tests/debug_test.py::TestDebug::test_everything 174s [gw1] [ 5%] PASSED tests/debug_test.py::TestDebug::test_everything 174s tests/debug_test.py::TestDebug::test_hub_exceptions 174s [gw1] [ 6%] PASSED tests/debug_test.py::TestDebug::test_hub_exceptions 174s tests/env_test.py::test_hub_selects 174s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_001_trampoline_timeout 174s tests/api_test.py::TestApi::test_connect_ssl 174s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_ssl 174s tests/api_test.py::TestApi::test_connect_tcp 174s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_tcp 174s tests/api_test.py::TestApi::test_killing_dormant 174s [gw1] [ 6%] PASSED tests/env_test.py::test_hub_selects 175s tests/env_test.py::test_tpool_dns 175s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_killing_dormant 175s tests/api_test.py::TestApi::test_nested_with_timeout 175s [gw1] [ 6%] PASSED tests/env_test.py::test_tpool_dns 175s tests/env_test.py::test_tpool_size 175s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_nested_with_timeout 175s tests/api_test.py::TestApi::test_tcp_listener 175s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_tcp_listener 175s tests/api_test.py::TestApi::test_timeout_cancel 175s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_timeout_cancel 175s tests/api_test.py::test_wrap_is_timeout 175s [gw0] [ 7%] PASSED tests/api_test.py::test_wrap_is_timeout 175s tests/api_test.py::test_timeouterror_deprecated 175s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_size 175s tests/env_test.py::test_tpool_negative 175s [gw0] [ 7%] PASSED tests/api_test.py::test_timeouterror_deprecated 175s tests/api_test.py::test_zero_second_sleep 175s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_negative 175s tests/env_test.py::test_tpool_zero 175s [gw0] [ 8%] PASSED tests/api_test.py::test_zero_second_sleep 175s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 175s [gw1] [ 8%] PASSED tests/env_test.py::test_tpool_zero 175s tests/event_test.py::TestEvent::test_double_exception 175s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_double_exception 175s tests/event_test.py::TestEvent::test_multiple_waiters 175s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters 175s tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 175s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 175s tests/event_test.py::TestEvent::test_reset 175s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_reset 175s tests/event_test.py::TestEvent::test_waiting_for_event 175s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_waiting_for_event 175s tests/event_test.py::test_wait_timeout_ok 175s [gw0] [ 9%] PASSED tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 175s tests/backdoor_test.py::BackdoorTest::test_server 175s [gw1] [ 9%] PASSED tests/event_test.py::test_wait_timeout_ok 175s tests/event_test.py::test_wait_timeout_exceed 175s [gw0] [ 9%] PASSED tests/backdoor_test.py::BackdoorTest::test_server 175s tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 175s [gw1] [ 9%] PASSED tests/event_test.py::test_wait_timeout_exceed 175s tests/green_http_test.py::test_green_http_doesnt_change_original_module 175s [gw0] [ 9%] SKIPPED tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 176s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 176s [gw1] [ 9%] PASSED tests/green_http_test.py::test_green_http_doesnt_change_original_module 176s tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 176s [gw0] [ 9%] PASSED tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 176s tests/convenience_test.py::TestServe::test_blocking 176s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_blocking 176s tests/convenience_test.py::TestServe::test_called_for_each_connection 176s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_called_for_each_connection 176s tests/convenience_test.py::TestServe::test_concurrency 176s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_concurrency 176s tests/convenience_test.py::TestServe::test_excepting_server 176s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_excepting_server 176s tests/convenience_test.py::TestServe::test_excepting_server_already_closed 176s [gw1] [ 10%] PASSED tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 176s tests/green_http_test.py::test_http_request_encode_chunked_kwarg 176s [gw1] [ 10%] PASSED tests/green_http_test.py::test_http_request_encode_chunked_kwarg 176s tests/green_profile_test.py::test_green_profile_basic 176s [gw1] [ 10%] PASSED tests/green_profile_test.py::test_green_profile_basic 176s tests/green_select_test.py::test_select_mark_file_as_reopened 176s [gw0] [ 11%] PASSED tests/convenience_test.py::TestServe::test_excepting_server_already_closed 176s tests/convenience_test.py::TestServe::test_exiting_server 176s [gw0] [ 11%] PASSED tests/convenience_test.py::TestServe::test_exiting_server 176s tests/convenience_test.py::TestServe::test_raising_stopserve 176s [gw0] [ 11%] PASSED tests/convenience_test.py::TestServe::test_raising_stopserve 176s tests/convenience_test.py::TestServe::test_wrap_ssl 176s [gw0] [ 11%] PASSED tests/convenience_test.py::TestServe::test_wrap_ssl 176s tests/convenience_test.py::test_socket_reuse 176s [gw0] [ 11%] PASSED tests/convenience_test.py::test_socket_reuse 176s tests/convenience_test.py::test_reuse_random_port_warning 176s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuse_random_port_warning 176s tests/convenience_test.py::test_reuseport_oserror 176s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuseport_oserror 176s tests/dagpool_test.py::test_check_no_suspend 176s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_check_no_suspend 176s tests/dagpool_test.py::test_init 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_init 176s tests/dagpool_test.py::test_wait_each_empty 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_each_empty 176s tests/dagpool_test.py::test_wait_each_preload 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_each_preload 176s tests/dagpool_test.py::test_wait_each_posted 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_each_posted 176s tests/dagpool_test.py::test_wait_posted 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_posted 176s tests/dagpool_test.py::test_spawn_collision_preload 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_preload 176s tests/dagpool_test.py::test_spawn_collision_post 176s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_post 176s tests/dagpool_test.py::test_spawn_collision_spawn 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_spawn_collision_spawn 176s tests/dagpool_test.py::test_spawn_multiple 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_spawn_multiple 176s tests/dagpool_test.py::test_spawn_many 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_spawn_many 176s tests/dagpool_test.py::test_wait_each_all 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_wait_each_all 176s tests/dagpool_test.py::test_kill 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_kill 176s tests/dagpool_test.py::test_post_collision_preload 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_preload 176s tests/dagpool_test.py::test_post_collision_post 176s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_post 176s tests/dagpool_test.py::test_post_collision_spawn 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_post_collision_spawn 176s tests/dagpool_test.py::test_post_replace 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_post_replace 176s tests/dagpool_test.py::test_getitem 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_getitem 176s tests/dagpool_test.py::test_waitall_exc 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_waitall_exc 176s tests/dagpool_test.py::test_propagate_exc 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_propagate_exc 176s tests/dagpool_test.py::test_wait_each_exc 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_wait_each_exc 176s tests/dagpool_test.py::test_post_get_exc 176s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_post_get_exc 176s tests/db_pool_test.py::test_raw_pool_issue_125 176s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_issue_125 176s tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 176s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 176s tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 176s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 176s tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 176s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 176s tests/db_pool_test.py::test_raw_pool_clear_update_current_size 176s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_clear_update_current_size 176s tests/db_pool_test.py::Test01MysqlTpool::test_bool 176s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_bool 176s tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 176s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 176s tests/db_pool_test.py::Test01MysqlTpool::test_connecting 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connecting 176s tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 176s tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 176s tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 176s tests/db_pool_test.py::Test01MysqlTpool::test_put_none 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_none 176s tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 176s tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 176s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 176s tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 176s tests/db_pool_test.py::Test01MysqlTpool::test_run_query 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_query 176s tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 176s tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 176s tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 176s tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 176s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 176s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 176s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 176s tests/db_pool_test.py::Test02MysqlRaw::test_bool 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_bool 176s tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 176s tests/db_pool_test.py::Test02MysqlRaw::test_connecting 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connecting 176s tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 176s tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 176s tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 176s tests/db_pool_test.py::Test02MysqlRaw::test_put_none 176s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_none 176s tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 176s tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 176s tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 176s tests/db_pool_test.py::Test02MysqlRaw::test_run_query 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_query 176s tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 176s tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 176s tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 176s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 176s tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 176s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 176s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 176s tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 176s tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 176s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 176s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 176s tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 176s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 176s tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 176s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 176s tests/greenio_test.py::TestGreenSocket::test_full_duplex 176s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_full_duplex 176s tests/greenio_test.py::TestGreenSocket::test_invalid_connection 176s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_invalid_connection 176s tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 176s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 176s tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 176s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 176s tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 176s [gw1] [ 21%] PASSED tests/green_select_test.py::test_select_mark_file_as_reopened 176s tests/greendns_test.py::TestHostsResolver::test_default_fname 176s [gw1] [ 21%] PASSED tests/greendns_test.py::TestHostsResolver::test_default_fname 176s tests/greendns_test.py::TestHostsResolver::test_getaliases 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases 176s tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 176s tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 176s tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 176s tests/greendns_test.py::TestHostsResolver::test_load_no_contents 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_no_contents 176s tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 176s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 176s tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 176s [gw0] [ 22%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 176s tests/greenio_test.py::TestGreenSocket::test_recv_timeout 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 176s tests/greendns_test.py::TestHostsResolver::test_query_A 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_A 176s tests/greendns_test.py::TestHostsResolver::test_query_AAAA 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_AAAA 176s tests/greendns_test.py::TestHostsResolver::test_query_CNAME 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_CNAME 176s tests/greendns_test.py::TestHostsResolver::test_query_ans_types 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_ans_types 176s tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 176s tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 176s tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 176s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 177s tests/greendns_test.py::TestHostsResolver::test_readlines_lines 177s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_lines 177s tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 177s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 177s tests/greendns_test.py::TestUdp::test_udp_ipv4 177s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4 177s tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 177s [gw0] [ 24%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_timeout 177s tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 177s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 177s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 177s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 177s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 177s [gw0] [ 24%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 177s tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 177s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 177s tests/greendns_test.py::TestUdp::test_udp_ipv6 177s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6 177s tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 177s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 177s tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 177s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 177s tests/greenio_test.py::TestGreenSocket::test_send_timeout 177s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_send_timeout 177s tests/greenio_test.py::TestGreenSocket::test_sendall 177s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall 177s tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 177s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 177s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 177s [gw1] [ 26%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 177s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 177s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 177s tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 177s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 177s tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 177s [gw1] [ 26%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 177s tests/greendns_test.py::TestProxyResolver::test_getaliases 177s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 177s tests/greenio_test.py::TestGreenSocket::test_socketpair_select 177s [gw1] [ 26%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases 177s tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 177s [gw1] [ 26%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 177s tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 177s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_socketpair_select 177s tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 177s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 177s tests/greendns_test.py::TestProxyResolver::test_hosts 177s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 177s tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 177s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts 177s tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 177s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 177s tests/greendns_test.py::TestProxyResolver::test_noanswer 177s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer 177s tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 177s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 177s tests/greenio_test.py::TestGreenSocket::test_wrap_socket 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 177s tests/greendns_test.py::TestProxyResolver::test_nxdomain 177s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenSocket::test_wrap_socket 177s tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_nxdomain 177s tests/greendns_test.py::TestProxyResolver::test_resolver 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_resolver 177s tests/greendns_test.py::TestResolve::test_A 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_A 177s tests/greendns_test.py::TestResolve::test_AAAA 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_AAAA 177s tests/greendns_test.py::TestResolve::test_exc 177s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_exc 177s tests/greendns_test.py::TestResolve::test_noraise_noanswer 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_noraise_noanswer 177s tests/greendns_test.py::TestResolve::test_noraise_nxdomain 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_noraise_nxdomain 177s tests/greendns_test.py::TestResolve::test_timeout 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_timeout 177s tests/greendns_test.py::TestResolve::test_unknown_rdtype 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_unknown_rdtype 177s tests/greendns_test.py::TestResolveCname::test_no_answer 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_no_answer 177s tests/greendns_test.py::TestResolveCname::test_nodata 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_nodata 177s tests/greendns_test.py::TestResolveCname::test_success 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_success 177s tests/greendns_test.py::TestResolveCname::test_timeout 177s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_timeout 177s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 177s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 177s tests/greendns_test.py::TestGetaddrinfo::test_canonname 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_canonname 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 177s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 177s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 177s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 177s tests/greendns_test.py::TestGetaddrinfo::test_host_none 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none 177s tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 177s tests/greendns_test.py::TestGetaddrinfo::test_noport 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_noport 177s tests/greendns_test.py::TestGetaddrinfo::test_numerichost 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numerichost 177s tests/greendns_test.py::TestGetaddrinfo::test_numericserv 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numericserv 177s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 177s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 177s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 177s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 177s tests/greendns_test.py::TestIsIpAddr::test_isv4 177s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4 177s tests/greendns_test.py::TestIsIpAddr::test_isv4_false 177s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_false 177s tests/greendns_test.py::TestIsIpAddr::test_isv4_none 177s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_none 177s tests/greendns_test.py::TestIsIpAddr::test_isv6 177s [gw0] [ 33%] PASSED tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 177s tests/greenio_test.py::test_get_fileno_of_a_socket_works 177s [gw0] [ 33%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_works 177s tests/greenio_test.py::test_get_fileno_of_an_int_works 177s [gw0] [ 33%] PASSED tests/greenio_test.py::test_get_fileno_of_an_int_works 177s tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 177s [gw0] [ 34%] PASSED tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 177s tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 177s [gw0] [ 34%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 177s tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 177s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6 177s tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 177s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 177s tests/greendns_test.py::TestIsIpAddr::test_isv6_none 177s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_none 177s tests/greendns_test.py::TestIsIpAddr::test_none 177s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_none 178s tests/greendns_test.py::TestIsIpAddr::test_v4 178s [gw0] [ 34%] FAILED tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 178s tests/greenio_test.py::TestGreenPipe::test_pipe 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4 178s tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 178s tests/greendns_test.py::TestIsIpAddr::test_v6_addr 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v6_addr 178s tests/greendns_test.py::TestGethostbyname::test_ipaddr 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname::test_ipaddr 178s tests/greendns_test.py::TestGethostbyname::test_name 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname::test_name 178s tests/greendns_test.py::TestGetaliases::test_getaliases 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGetaliases::test_getaliases 178s tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 178s tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 178s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 178s tests/greendns_test.py::TestGethostbyname_ex::test_name 178s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_name 178s tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 178s [gw1] [ 36%] PASSED tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 178s tests/greendns_test.py::test_reverse_name 178s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe 178s tests/greenio_test.py::TestGreenPipe::test_pipe_read 178s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_read 178s tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 178s [gw0] [ 36%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 178s tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 178s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 178s tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 178s [gw0] [ 36%] PASSED tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 178s tests/greenio_test.py::TestGreenPipe::test_truncate 178s [gw0] [ 37%] PASSED tests/greenio_test.py::TestGreenPipe::test_truncate 178s tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 178s [gw1] [ 37%] PASSED tests/greendns_test.py::test_reverse_name 178s tests/greendns_test.py::test_proxy_resolve_unqualified 178s [gw1] [ 37%] PASSED tests/greendns_test.py::test_proxy_resolve_unqualified 178s tests/greendns_test.py::test_hosts_priority 178s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_priority 178s tests/greendns_test.py::test_hosts_no_network 178s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_no_network 178s tests/greendns_test.py::test_import_rdtypes_then_eventlet 178s [gw1] [ 37%] PASSED tests/greendns_test.py::test_import_rdtypes_then_eventlet 178s tests/greenio_test.py::TestGreenSocket::test_accept_timeout 178s [gw1] [ 37%] PASSED tests/greenio_test.py::TestGreenSocket::test_accept_timeout 178s tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 178s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 178s tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 178s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 178s tests/greenio_test.py::TestGreenSocket::test_closure 178s [gw1] [ 38%] SKIPPED tests/greenio_test.py::TestGreenSocket::test_closure 178s tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 178s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 178s tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 178s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 178s tests/hub_test.py::test_use_hub_class 178s [gw1] [ 38%] PASSED tests/hub_test.py::test_use_hub_class 178s tests/hub_test.py::test_kqueue_unsupported 178s [gw1] [ 38%] PASSED tests/hub_test.py::test_kqueue_unsupported 178s tests/mysqldb_test.py::TestMySQLdb::test_connecting 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting 178s tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 178s tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 178s tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 178s tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 178s tests/mysqldb_test.py::TestMySQLdb::test_run_query 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_query 178s tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 178s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 178s tests/mysqldb_test.py::TestMySQLdb::test_yields 178s [gw1] [ 40%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_yields 178s tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 179s [gw1] [ 40%] SKIPPED tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 179s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 179s [gw1] [ 40%] PASSED tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 179s tests/openssl_test.py::test_import 179s [gw1] [ 40%] PASSED tests/openssl_test.py::test_import 179s tests/os_test.py::test_pathlib_open_issue_534 179s [gw1] [ 40%] PASSED tests/os_test.py::test_pathlib_open_issue_534 179s tests/os_test.py::test_os_read_nonblocking 179s [gw1] [ 40%] PASSED tests/os_test.py::test_os_read_nonblocking 181s tests/os_test.py::test_os_write_nonblocking 181s [gw1] [ 40%] PASSED tests/os_test.py::test_os_write_nonblocking 181s tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 181s [gw1] [ 41%] SKIPPED tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 181s tests/patcher_test.py::ImportPatched::test_patch_a_module 181s [gw1] [ 41%] PASSED tests/patcher_test.py::ImportPatched::test_patch_a_module 181s tests/patcher_test.py::test_import_patched_handles_sub_modules 181s [gw1] [ 41%] PASSED tests/patcher_test.py::test_import_patched_handles_sub_modules 181s tests/patcher_test.py::MonkeyPatch::test_boolean 181s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean 182s tests/patcher_test.py::MonkeyPatch::test_boolean_all 182s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all 182s tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 182s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 182s tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 182s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 182s tests/patcher_test.py::MonkeyPatch::test_boolean_double 182s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_double 182s tests/patcher_test.py::MonkeyPatch::test_boolean_negative 182s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative 183s tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 183s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 183s tests/patcher_test.py::MonkeyPatch::test_boolean_single 183s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_single 183s tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 183s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 183s tests/patcher_test.py::MonkeyPatch::test_early_patching 183s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_early_patching 184s tests/patcher_test.py::MonkeyPatch::test_late_patching 184s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_late_patching 184s tests/patcher_test.py::MonkeyPatch::test_patched_modules 184s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_patched_modules 184s tests/patcher_test.py::MonkeyPatch::test_typeerror 184s [gw1] [ 43%] PASSED tests/patcher_test.py::MonkeyPatch::test_typeerror 185s tests/patcher_test.py::Tpool::test_patched_thread 185s [gw1] [ 43%] PASSED tests/patcher_test.py::Tpool::test_patched_thread 185s tests/patcher_test.py::Tpool::test_simple 185s [gw1] [ 43%] PASSED tests/patcher_test.py::Tpool::test_simple 186s tests/patcher_test.py::Tpool::test_unpatched_thread 186s [gw1] [ 43%] PASSED tests/patcher_test.py::Tpool::test_unpatched_thread 186s tests/patcher_test.py::test_subprocess_after_monkey_patch 186s [gw1] [ 43%] PASSED tests/patcher_test.py::test_subprocess_after_monkey_patch 186s tests/patcher_test.py::Threading::test_greenlet 186s [gw1] [ 43%] PASSED tests/patcher_test.py::Threading::test_greenlet 186s tests/patcher_test.py::Threading::test_greenthread 186s [gw1] [ 43%] PASSED tests/patcher_test.py::Threading::test_greenthread 187s tests/patcher_test.py::Threading::test_keyerror 187s [gw1] [ 44%] PASSED tests/patcher_test.py::Threading::test_keyerror 187s tests/patcher_test.py::Threading::test_tpool 187s [gw0] [ 44%] PASSED tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 187s tests/greenio_test.py::test_set_nonblocking 187s [gw0] [ 44%] PASSED tests/greenio_test.py::test_set_nonblocking 187s tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 187s [gw0] [ 44%] PASSED tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 187s tests/greenio_test.py::test_double_close_219 187s [gw1] [ 44%] PASSED tests/patcher_test.py::Threading::test_tpool 187s tests/patcher_test.py::Os::test_waitpid 187s [gw0] [ 44%] PASSED tests/greenio_test.py::test_double_close_219 187s tests/greenio_test.py::test_partial_write_295 187s [gw0] [ 44%] PASSED tests/greenio_test.py::test_partial_write_295 187s tests/greenio_test.py::test_socket_file_read_non_int 187s [gw0] [ 45%] PASSED tests/greenio_test.py::test_socket_file_read_non_int 187s tests/greenio_test.py::test_pipe_context 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_pipe_context 187s tests/greenio_test.py::test_greenpipe_write 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_write 187s tests/greenio_test.py::test_greenpipe_append 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_append 187s tests/greenio_test.py::test_greenpipe_read_overwrite 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_read_overwrite 187s tests/greenio_test.py::test_greenpipe_write_plus 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_write_plus 187s tests/greenio_test.py::test_greenpipe_append_plus 187s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_append_plus 187s tests/greenpool_test.py::GreenPool::test_empty_imap 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_empty_imap 187s tests/greenpool_test.py::GreenPool::test_exceptions 187s [gw1] [ 46%] PASSED tests/patcher_test.py::Os::test_waitpid 187s tests/patcher_test.py::GreenThreadWrapper::test_ident 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_exceptions 187s tests/greenpool_test.py::GreenPool::test_imap 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_imap 187s tests/greenpool_test.py::GreenPool::test_imap_multi_args 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_imap_multi_args 187s tests/greenpool_test.py::GreenPool::test_imap_nonefunc 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_imap_nonefunc 187s tests/greenpool_test.py::GreenPool::test_imap_raises 187s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_imap_raises 187s tests/greenpool_test.py::GreenPool::test_multiple_coros 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_multiple_coros 187s tests/greenpool_test.py::GreenPool::test_pool_smash 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_pool_smash 187s tests/greenpool_test.py::GreenPool::test_recursive_waitall 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_recursive_waitall 187s tests/greenpool_test.py::GreenPool::test_reentrant 187s [gw1] [ 47%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_ident 187s tests/patcher_test.py::GreenThreadWrapper::test_is_alive 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_reentrant 187s tests/greenpool_test.py::GreenPool::test_resize 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_resize 187s tests/greenpool_test.py::GreenPool::test_spawn 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_spawn 187s tests/greenpool_test.py::GreenPool::test_spawn_n 187s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n 187s tests/greenpool_test.py::GreenPool::test_spawn_n_2 187s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n_2 187s tests/greenpool_test.py::GreenPool::test_starmap 187s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPool::test_starmap 187s tests/greenpool_test.py::GreenPool::test_timer_cancel 187s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPool::test_timer_cancel 188s tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 188s [gw1] [ 48%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_alive 188s tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 188s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 188s tests/greenpool_test.py::GreenPool::test_waiting 188s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPool::test_waiting 188s tests/greenpool_test.py::GreenPile::test_constructing_from_pool 188s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPile::test_constructing_from_pool 188s tests/greenpool_test.py::GreenPile::test_empty_pile 188s [gw0] [ 49%] PASSED tests/greenpool_test.py::GreenPile::test_empty_pile 188s tests/greenpool_test.py::GreenPile::test_pile 188s [gw0] [ 49%] PASSED tests/greenpool_test.py::GreenPile::test_pile 188s tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 188s [gw0] [ 49%] PASSED tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 188s tests/greenpool_test.py::test_greenpool_type_check 188s [gw0] [ 49%] PASSED tests/greenpool_test.py::test_greenpool_type_check 188s tests/greenpool_test.py::Stress::test_imap_50 188s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 188s tests/patcher_test.py::GreenThreadWrapper::test_join 188s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_join 188s tests/patcher_test.py::GreenThreadWrapper::test_name 188s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_name 188s tests/patcher_test.py::test_patcher_existing_locks_early 188s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_early 189s tests/patcher_test.py::test_patcher_existing_locks_late 189s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_late 189s tests/patcher_test.py::test_patcher_existing_locks_unlocked 189s [gw1] [ 50%] SKIPPED tests/patcher_test.py::test_patcher_existing_locks_unlocked 189s tests/patcher_test.py::test_patcher_existing_logging_module_lock 189s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_logging_module_lock 189s tests/patcher_test.py::test_importlib_lock 189s [gw1] [ 50%] PASSED tests/patcher_test.py::test_importlib_lock 189s tests/patcher_test.py::test_threading_condition 189s [gw1] [ 50%] PASSED tests/patcher_test.py::test_threading_condition 190s tests/patcher_test.py::test_threading_join 190s [gw0] [ 50%] PASSED tests/greenpool_test.py::Stress::test_imap_50 190s tests/greenpool_test.py::Stress::test_imap_500 190s [gw1] [ 51%] PASSED tests/patcher_test.py::test_threading_join 191s tests/patcher_test.py::test_socketserver_selectors 191s [gw1] [ 51%] PASSED tests/patcher_test.py::test_socketserver_selectors 191s tests/patcher_test.py::test_blocking_select_methods_are_deleted 191s [gw1] [ 51%] PASSED tests/patcher_test.py::test_blocking_select_methods_are_deleted 192s tests/patcher_test.py::test_regular_file_readall 192s [gw1] [ 51%] FAILED tests/patcher_test.py::test_regular_file_readall 192s tests/patcher_test.py::test_threading_current 192s [gw1] [ 51%] PASSED tests/patcher_test.py::test_threading_current 192s tests/patcher_test.py::test_threadpoolexecutor 192s [gw1] [ 51%] PASSED tests/patcher_test.py::test_threadpoolexecutor 192s tests/patcher_test.py::test_builtin 192s [gw1] [ 51%] PASSED tests/patcher_test.py::test_builtin 192s tests/patcher_test.py::test_open_kwargs 192s [gw1] [ 52%] PASSED tests/patcher_test.py::test_open_kwargs 193s tests/patcher_test.py::test_patcher_existing_locks 193s [gw1] [ 52%] PASSED tests/patcher_test.py::test_patcher_existing_locks 193s tests/patcher_test.py::test_patcher_existing_locks_exception 193s [gw0] [ 52%] PASSED tests/greenpool_test.py::Stress::test_imap_500 193s tests/greenpool_test.py::Stress::test_ordering_5 193s [gw1] [ 52%] PASSED tests/patcher_test.py::test_patcher_existing_locks_exception 193s tests/patcher_test.py::test_patcher_threading_subclass_done 193s [gw1] [ 52%] PASSED tests/patcher_test.py::test_patcher_threading_subclass_done 193s tests/pools_test.py::TestIntPool::test_blocks_on_pool 193s [gw1] [ 52%] PASSED tests/pools_test.py::TestIntPool::test_blocks_on_pool 193s tests/pools_test.py::TestIntPool::test_create_contention 193s [gw1] [ 52%] PASSED tests/pools_test.py::TestIntPool::test_create_contention 193s tests/pools_test.py::TestIntPool::test_exhaustion 193s [gw1] [ 52%] PASSED tests/pools_test.py::TestIntPool::test_exhaustion 193s tests/pools_test.py::TestIntPool::test_free 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_free 193s tests/pools_test.py::TestIntPool::test_integers 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_integers 193s tests/pools_test.py::TestIntPool::test_ordering 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_ordering 193s tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 193s tests/pools_test.py::TestIntPool::test_putting_to_queue 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_putting_to_queue 193s tests/pools_test.py::TestIntPool::test_resize 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestIntPool::test_resize 193s tests/pools_test.py::TestAbstract::test_abstract 193s [gw1] [ 53%] PASSED tests/pools_test.py::TestAbstract::test_abstract 193s tests/pools_test.py::TestIntPool2::test_something 193s [gw1] [ 54%] PASSED tests/pools_test.py::TestIntPool2::test_something 193s tests/pools_test.py::TestOrderAsStack::test_ordering 193s [gw1] [ 54%] PASSED tests/pools_test.py::TestOrderAsStack::test_ordering 193s tests/pools_test.py::TestCreateRaises::test_it 193s [gw1] [ 54%] PASSED tests/pools_test.py::TestCreateRaises::test_it 193s tests/queue_test.py::TestQueue::test_channel_send 193s [gw1] [ 54%] PASSED tests/queue_test.py::TestQueue::test_channel_send 193s tests/queue_test.py::TestQueue::test_channel_sender_timing_out 193s [gw1] [ 54%] PASSED tests/queue_test.py::TestQueue::test_channel_sender_timing_out 193s tests/queue_test.py::TestQueue::test_channel_wait 193s [gw1] [ 54%] PASSED tests/queue_test.py::TestQueue::test_channel_wait 193s tests/queue_test.py::TestQueue::test_channel_waiters 193s [gw1] [ 54%] PASSED tests/queue_test.py::TestQueue::test_channel_waiters 193s tests/queue_test.py::TestQueue::test_getting_before_sending 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_getting_before_sending 193s tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 193s tests/queue_test.py::TestQueue::test_max_size 193s [gw0] [ 55%] PASSED tests/greenpool_test.py::Stress::test_ordering_5 193s tests/greenpool_test.py::Stress::test_ordering_50 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_max_size 193s tests/queue_test.py::TestQueue::test_multiple_waiters 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_multiple_waiters 193s tests/queue_test.py::TestQueue::test_resize_down 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_resize_down 193s tests/queue_test.py::TestQueue::test_resize_to_Unlimited 193s [gw1] [ 55%] PASSED tests/queue_test.py::TestQueue::test_resize_to_Unlimited 193s tests/queue_test.py::TestQueue::test_resize_up 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_resize_up 193s tests/queue_test.py::TestQueue::test_send_first 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_send_first 193s tests/queue_test.py::TestQueue::test_send_last 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_send_last 193s tests/queue_test.py::TestQueue::test_task_done 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_task_done 193s tests/queue_test.py::TestQueue::test_two_bogus_waiters 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_two_bogus_waiters 193s tests/queue_test.py::TestQueue::test_two_waiters_one_dies 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_two_waiters_one_dies 193s tests/queue_test.py::TestQueue::test_waiters_that_cancel 193s [gw1] [ 56%] PASSED tests/queue_test.py::TestQueue::test_waiters_that_cancel 193s tests/queue_test.py::TestQueue::test_waiting 193s [gw1] [ 57%] PASSED tests/queue_test.py::TestQueue::test_waiting 193s tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 193s [gw1] [ 57%] PASSED tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 193s tests/queue_test.py::TestQueue::test_zero_max_size 193s [gw1] [ 57%] PASSED tests/queue_test.py::TestQueue::test_zero_max_size 193s tests/queue_test.py::TestNoWait::test_get_nowait_simple 193s [gw0] [ 57%] PASSED tests/greenpool_test.py::Stress::test_ordering_50 194s tests/greenpool_test.py::Stress::test_with_intpool 194s [gw1] [ 57%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_simple 194s tests/queue_test.py::TestNoWait::test_get_nowait_unlock 194s [gw1] [ 57%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_unlock 194s tests/queue_test.py::TestNoWait::test_put_nowait_simple 194s [gw0] [ 57%] PASSED tests/greenpool_test.py::Stress::test_with_intpool 194s tests/greenthread_test.py::Spawn::test_kill 194s [gw0] [ 58%] PASSED tests/greenthread_test.py::Spawn::test_kill 194s tests/greenthread_test.py::Spawn::test_kill_meth 194s [gw1] [ 58%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_simple 194s tests/queue_test.py::TestNoWait::test_put_nowait_unlock 194s [gw0] [ 58%] PASSED tests/greenthread_test.py::Spawn::test_kill_meth 194s [gw1] [ 58%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_unlock 194s tests/queue_test.py::TestNoWait::test_wait_except 194s tests/greenthread_test.py::Spawn::test_kill_n 194s [gw1] [ 58%] PASSED tests/queue_test.py::TestNoWait::test_wait_except 194s tests/semaphore_test.py::TestSemaphore::test_bounded 194s [gw0] [ 58%] PASSED tests/greenthread_test.py::Spawn::test_kill_n 194s tests/greenthread_test.py::Spawn::test_link 194s [gw1] [ 58%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded 194s tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 194s [gw0] [ 58%] PASSED tests/greenthread_test.py::Spawn::test_link 194s tests/greenthread_test.py::Spawn::test_link_after_exited 194s [gw1] [ 59%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 194s tests/semaphore_test.py::TestSemaphore::test_non_blocking 194s [gw0] [ 59%] PASSED tests/greenthread_test.py::Spawn::test_link_after_exited 194s tests/greenthread_test.py::Spawn::test_link_relinks 194s [gw1] [ 59%] PASSED tests/semaphore_test.py::TestSemaphore::test_non_blocking 194s tests/semaphore_test.py::TestSemaphore::test_timeout 194s [gw0] [ 59%] PASSED tests/greenthread_test.py::Spawn::test_link_relinks 194s tests/greenthread_test.py::Spawn::test_n 194s [gw0] [ 59%] PASSED tests/greenthread_test.py::Spawn::test_n 194s tests/greenthread_test.py::Spawn::test_simple 194s [gw0] [ 59%] PASSED tests/greenthread_test.py::Spawn::test_simple 194s tests/greenthread_test.py::SpawnAfter::test_basic 194s [gw1] [ 59%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout 194s tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 194s [gw1] [ 60%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 194s tests/semaphore_test.py::test_semaphore_contention 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_basic 194s tests/greenthread_test.py::SpawnAfter::test_cancel 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel 194s tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 194s tests/greenthread_test.py::SpawnAfter::test_kill 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill 194s tests/greenthread_test.py::SpawnAfter::test_kill_already_started 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_already_started 194s tests/greenthread_test.py::SpawnAfter::test_kill_meth 194s [gw0] [ 60%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_meth 194s tests/greenthread_test.py::SpawnAfter::test_kill_n 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_n 194s tests/greenthread_test.py::SpawnAfter::test_link 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_link 194s tests/greenthread_test.py::SpawnAfter::test_link_after_exited 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_after_exited 194s tests/greenthread_test.py::SpawnAfter::test_link_relinks 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_relinks 194s tests/greenthread_test.py::SpawnAfter::test_n 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_n 194s tests/greenthread_test.py::SpawnAfter::test_simple 194s [gw0] [ 61%] PASSED tests/greenthread_test.py::SpawnAfter::test_simple 194s tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 194s [gw1] [ 61%] PASSED tests/semaphore_test.py::test_semaphore_contention 194s tests/semaphore_test.py::test_semaphore_type_check 194s [gw1] [ 62%] PASSED tests/semaphore_test.py::test_semaphore_type_check 194s tests/socket_test.py::test_recv_type 194s [gw0] [ 62%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 195s tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 195s [gw1] [ 62%] PASSED tests/socket_test.py::test_recv_type 195s tests/socket_test.py::test_recv_into_type 195s [gw0] [ 62%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 195s tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 195s [gw1] [ 62%] PASSED tests/socket_test.py::test_recv_into_type 195s tests/socket_test.py::test_socket_api_family 195s [gw1] [ 62%] PASSED tests/socket_test.py::test_socket_api_family 195s tests/socket_test.py::test_getaddrinfo_ipv6_scope 195s [gw1] [ 62%] PASSED tests/socket_test.py::test_getaddrinfo_ipv6_scope 195s tests/socket_test.py::test_error_is_timeout 195s [gw1] [ 63%] PASSED tests/socket_test.py::test_error_is_timeout 195s tests/socket_test.py::test_connect_ex_success 195s [gw1] [ 63%] PASSED tests/socket_test.py::test_connect_ex_success 195s tests/ssl_test.py::SSLTest::test_client_check_hostname 195s [gw1] [ 63%] PASSED tests/ssl_test.py::SSLTest::test_client_check_hostname 195s tests/ssl_test.py::SSLTest::test_context_version_setters 195s [gw0] [ 63%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 195s tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 195s [gw0] [ 63%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 195s tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 195s [gw0] [ 63%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 195s tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 195s [gw0] [ 63%] PASSED tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 195s tests/hub_test.py::TestScheduleCall::test_global 195s [gw1] [ 64%] PASSED tests/ssl_test.py::SSLTest::test_context_version_setters 195s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 195s [gw1] [ 64%] PASSED tests/ssl_test.py::SSLTest::test_context_wrapped_accept 195s tests/ssl_test.py::SSLTest::test_duplex_response 195s [gw0] [ 64%] PASSED tests/hub_test.py::TestScheduleCall::test_global 195s tests/hub_test.py::TestScheduleCall::test_local 195s [gw1] [ 64%] PASSED tests/ssl_test.py::SSLTest::test_duplex_response 195s tests/ssl_test.py::SSLTest::test_explicit_keys_accept 195s [gw0] [ 64%] PASSED tests/hub_test.py::TestScheduleCall::test_local 195s tests/hub_test.py::TestScheduleCall::test_ordering 195s [gw1] [ 64%] PASSED tests/ssl_test.py::SSLTest::test_explicit_keys_accept 195s tests/ssl_test.py::SSLTest::test_greensslobject 195s [gw0] [ 64%] PASSED tests/hub_test.py::TestScheduleCall::test_ordering 195s tests/hub_test.py::TestDebug::test_debug_listeners 195s [gw1] [ 64%] PASSED tests/ssl_test.py::SSLTest::test_greensslobject 195s tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 195s [gw0] [ 65%] PASSED tests/hub_test.py::TestDebug::test_debug_listeners 195s tests/hub_test.py::TestDebug::test_timer_exceptions 195s [gw0] [ 65%] PASSED tests/hub_test.py::TestDebug::test_timer_exceptions 195s tests/hub_test.py::TestExceptionInMainloop::test_sleep 195s [gw0] [ 65%] PASSED tests/hub_test.py::TestExceptionInMainloop::test_sleep 195s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 195s [gw0] [ 65%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 195s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 195s [gw0] [ 65%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 196s tests/hub_test.py::TestHubBlockingDetector::test_block_detect 196s [gw1] [ 65%] PASSED tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 196s tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 196s [gw1] [ 65%] PASSED tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 196s tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 196s tests/ssl_test.py::SSLTest::test_regression_gh_17 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_regression_gh_17 196s tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 196s tests/ssl_test.py::SSLTest::test_ssl_close 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_ssl_close 196s tests/ssl_test.py::SSLTest::test_ssl_connect 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_ssl_connect 196s tests/ssl_test.py::SSLTest::test_ssl_context 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_ssl_context 196s tests/ssl_test.py::SSLTest::test_ssl_unwrap 196s [gw1] [ 66%] PASSED tests/ssl_test.py::SSLTest::test_ssl_unwrap 196s tests/subprocess_test.py::test_subprocess_wait 196s [gw1] [ 67%] PASSED tests/subprocess_test.py::test_subprocess_wait 196s tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 196s [gw1] [ 67%] PASSED tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 196s tests/subprocess_test.py::test_universal_lines 196s [gw1] [ 67%] FAILED tests/subprocess_test.py::test_universal_lines 196s tests/subprocess_test.py::test_patched_communicate_290 196s [gw0] [ 67%] PASSED tests/hub_test.py::TestHubBlockingDetector::test_block_detect 196s tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 196s [gw0] [ 67%] SKIPPED tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 196s tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 196s [gw1] [ 67%] PASSED tests/subprocess_test.py::test_patched_communicate_290 196s tests/subprocess_test.py::test_check_call_without_timeout_works 196s [gw1] [ 67%] PASSED tests/subprocess_test.py::test_check_call_without_timeout_works 197s tests/subprocess_test.py::test_exception_identity 197s [gw1] [ 68%] PASSED tests/subprocess_test.py::test_exception_identity 197s tests/test__event.py::TestEvent::test_send 197s [gw1] [ 68%] PASSED tests/test__event.py::TestEvent::test_send 197s tests/test__event.py::TestEvent::test_send_exc 197s [gw1] [ 68%] PASSED tests/test__event.py::TestEvent::test_send_exc 197s tests/test__refcount.py::test_clean_exit 197s [gw0] [ 68%] PASSED tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 197s tests/hub_test.py::test_repeated_select_bad_fd 197s [gw0] [ 68%] PASSED tests/hub_test.py::test_repeated_select_bad_fd 197s tests/hub_test.py::test_fork 197s [gw1] [ 68%] PASSED tests/test__refcount.py::test_clean_exit 197s tests/test__refcount.py::test_timeout_exit 197s [gw0] [ 68%] PASSED tests/hub_test.py::test_fork 198s tests/hub_test.py::test_fork_simple 198s [gw1] [ 69%] PASSED tests/test__refcount.py::test_timeout_exit 198s tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 198s [gw1] [ 69%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 198s tests/test__socket_errors.py::TestSocketErrors::test_timeout 198s [gw0] [ 69%] PASSED tests/hub_test.py::test_fork_simple 198s tests/hub_test.py::TestDeadRunLoop::test_kill 198s [gw0] [ 69%] PASSED tests/hub_test.py::TestDeadRunLoop::test_kill 199s tests/hub_test.py::TestDeadRunLoop::test_parent 199s [gw1] [ 69%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout 199s tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 199s [gw0] [ 69%] PASSED tests/hub_test.py::TestDeadRunLoop::test_parent 199s tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 199s [gw0] [ 69%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 199s tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 199s tests/timeout_with_statement_test.py::Test::test_raising_exception_class 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exception_class 199s tests/timeout_with_statement_test.py::Test::test_raising_self 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self 199s tests/timeout_with_statement_test.py::Test::test_raising_self_true 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self_true 199s tests/timeout_with_statement_test.py::Test::test_ref 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_ref 199s tests/timeout_with_statement_test.py::Test::test_silent_block 199s [gw0] [ 70%] PASSED tests/timeout_with_statement_test.py::Test::test_silent_block 199s tests/timer_test.py::TestTimer::test_copy 199s [gw0] [ 70%] PASSED tests/timer_test.py::TestTimer::test_copy 199s tests/timer_test.py::TestTimer::test_schedule 199s [gw0] [ 70%] PASSED tests/timer_test.py::TestTimer::test_schedule 199s tests/tpool_test.py::TestTpool::test_autowrap 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_autowrap 199s tests/tpool_test.py::TestTpool::test_autowrap_both 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_both 199s tests/tpool_test.py::TestTpool::test_autowrap_names 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_names 199s tests/tpool_test.py::TestTpool::test_callable 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_callable 199s tests/tpool_test.py::TestTpool::test_callable_iterator 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_callable_iterator 199s tests/tpool_test.py::TestTpool::test_contention 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_contention 199s tests/tpool_test.py::TestTpool::test_eventlet_timeout 199s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_eventlet_timeout 199s tests/tpool_test.py::TestTpool::test_killall 199s [gw0] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_killall 200s tests/tpool_test.py::TestTpool::test_killall_remaining_results 200s [gw1] [ 72%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 200s tests/test__socket_errors.py::test_create_connection_refused 200s [gw1] [ 72%] PASSED tests/test__socket_errors.py::test_create_connection_refused 200s tests/test_infrastructure_tests.py::test_run_python_timeout 200s [gw1] [ 72%] PASSED tests/test_infrastructure_tests.py::test_run_python_timeout 200s tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 200s [gw1] [ 72%] PASSED tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 200s tests/thread_test.py::Locals::test_assignment 200s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_assignment 200s tests/thread_test.py::Locals::test_calling_methods 200s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_calling_methods 200s tests/thread_test.py::Locals::test_calls_init 200s [gw1] [ 73%] PASSED tests/thread_test.py::Locals::test_calls_init 200s tests/thread_test.py::Locals::test_no_leaking 200s [gw0] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_killall_remaining_results 200s tests/tpool_test.py::TestTpool::test_multiple_wraps 200s [gw1] [ 73%] PASSED tests/thread_test.py::Locals::test_no_leaking 200s tests/thread_test.py::test_compat_lock_release 200s [gw1] [ 73%] PASSED tests/thread_test.py::test_compat_lock_release 200s tests/thread_test.py::test_reinit 200s [gw1] [ 73%] PASSED tests/thread_test.py::test_reinit 200s tests/thread_test.py::test_can_use_eventlet_in_os_threads 200s [gw0] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_multiple_wraps 200s tests/tpool_test.py::TestTpool::test_raising_exceptions 200s [gw0] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_raising_exceptions 200s tests/tpool_test.py::TestTpool::test_timeout 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_timeout 200s tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 200s tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 200s tests/tpool_test.py::TestTpool::test_wrap_dict 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_dict 200s tests/tpool_test.py::TestTpool::test_wrap_eq 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_eq 200s tests/tpool_test.py::TestTpool::test_wrap_getitem 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_getitem 200s tests/tpool_test.py::TestTpool::test_wrap_hash 200s [gw0] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_hash 200s tests/tpool_test.py::TestTpool::test_wrap_ints 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_ints 200s tests/tpool_test.py::TestTpool::test_wrap_iterator 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator 200s tests/tpool_test.py::TestTpool::test_wrap_iterator2 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator2 200s tests/tpool_test.py::TestTpool::test_wrap_module_class 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_module_class 200s tests/tpool_test.py::TestTpool::test_wrap_nonzero 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_nonzero 200s tests/tpool_test.py::TestTpool::test_wrap_setitem 200s [gw0] [ 75%] PASSED tests/tpool_test.py::TestTpool::test_wrap_setitem 201s tests/tpool_test.py::TestTpool::test_wrap_string 201s [gw1] [ 75%] PASSED tests/thread_test.py::test_can_use_eventlet_in_os_threads 201s tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 201s [gw0] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_wrap_string 201s tests/tpool_test.py::TestTpool::test_wrap_tuple 201s [gw1] [ 76%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 201s tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 201s [gw0] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_wrap_tuple 201s tests/tpool_test.py::TestTpool::test_wrap_uniterable 201s [gw1] [ 76%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 201s tests/timeout_test.py::TestDirectRaise::test_repr 201s [gw0] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_wrap_uniterable 201s tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 201s [gw1] [ 76%] PASSED tests/timeout_test.py::TestDirectRaise::test_repr 201s tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 201s [gw1] [ 76%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 201s tests/timeout_test.py::TestWithTimeout::test_with_timeout 201s [gw1] [ 76%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_timeout 201s tests/timeout_test.py::test_is_timeout_attribute 201s [gw1] [ 77%] PASSED tests/timeout_test.py::test_is_timeout_attribute 201s tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 201s [gw1] [ 77%] PASSED tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 201s tests/timeout_with_statement_test.py::Test::test_cancellation 201s [gw1] [ 77%] PASSED tests/timeout_with_statement_test.py::Test::test_cancellation 201s tests/timeout_with_statement_test.py::Test::test_dummy_timer 201s [gw1] [ 77%] PASSED tests/timeout_with_statement_test.py::Test::test_dummy_timer 201s tests/timeout_with_statement_test.py::Test::test_nested_timeout 201s [gw1] [ 77%] PASSED tests/timeout_with_statement_test.py::Test::test_nested_timeout 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 201s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 201s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 201s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 201s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 201s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 201s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 201s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 201s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 201s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 201s [gw1] [ 79%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 201s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 201s [gw1] [ 79%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 201s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 201s [gw1] [ 79%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 201s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 201s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 201s tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 201s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 201s tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 201s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 201s tests/websocket_test.py::TestWebSocket::test_close_idle 201s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_close_idle 201s tests/wsgi_test.py::TestHttpd::test_001_server 201s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_001_server 201s tests/wsgi_test.py::TestHttpd::test_002_keepalive 201s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_002_keepalive 201s tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 201s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 202s tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 202s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 202s tests/wsgi_test.py::TestHttpd::test_007_get_arg 202s [gw0] [ 81%] PASSED tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 202s tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 202s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_007_get_arg 202s tests/wsgi_test.py::TestHttpd::test_008_correctresponse 202s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_008_correctresponse 202s tests/wsgi_test.py::TestHttpd::test_009_chunked_response 202s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_009_chunked_response 202s tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 202s [gw0] [ 81%] PASSED tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 202s tests/tpool_test.py::test_isolate_from_socket_default_timeout 202s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 202s tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 202s tests/wsgi_test.py::TestHttpd::test_012_ssl_server 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_012_ssl_server 202s tests/wsgi_test.py::TestHttpd::test_013_empty_return 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_013_empty_return 202s tests/wsgi_test.py::TestHttpd::test_014_chunked_post 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_014_chunked_post 202s tests/wsgi_test.py::TestHttpd::test_015_write 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_015_write 202s tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 202s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 202s tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 202s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 202s tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 202s tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 202s [gw1] [ 83%] SKIPPED tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 202s tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 202s tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 202s tests/wsgi_test.py::TestHttpd::test_022_custom_pool 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_022_custom_pool 202s tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 202s tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 202s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 202s tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 202s tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 202s tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 202s [gw0] [ 84%] PASSED tests/tpool_test.py::test_isolate_from_socket_default_timeout 202s tests/tpool_test.py::test_exception_leak 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 202s tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 202s tests/wsgi_test.py::TestHttpd::test_025_accept_errors 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_025_accept_errors 202s tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 202s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 202s tests/wsgi_test.py::TestHttpd::test_026_log_format 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_026_log_format 202s tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 202s tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 202s tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 202s tests/wsgi_test.py::TestHttpd::test_029_posthooks 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_029_posthooks 202s tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 202s tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 202s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 202s tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 202s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 202s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 202s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 202s tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 202s tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 202s tests/wsgi_test.py::TestHttpd::test_client_disconnect 202s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_client_disconnect 202s tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 202s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 202s tests/wsgi_test.py::TestHttpd::test_close_idle_connections 202s [gw0] [ 87%] PASSED tests/tpool_test.py::test_exception_leak 202s tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 202s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections 202s tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 202s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 202s [gw0] [ 87%] PASSED tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 202s tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 202s tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 202s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 202s tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 202s [gw0] [ 87%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 202s tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 202s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 202s tests/wsgi_test.py::TestHttpd::test_debug 202s [gw0] [ 88%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 203s tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 203s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_debug 203s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 203s [gw0] [ 88%] PASSED tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 203s tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 203s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 203s tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 203s [gw0] [ 88%] PASSED tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 203s tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 203s [gw0] [ 88%] PASSED tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 203s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 203s [gw0] [ 88%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 203s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 203s [gw0] [ 89%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 203s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 203s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 203s tests/websocket_test.py::TestWebSocket::test_empty_query_string 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_empty_query_string 203s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 203s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 203s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 203s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 203s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 203s tests/websocket_test.py::TestWebSocket::test_incorrect_headers 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_incorrect_headers 203s tests/websocket_test.py::TestWebSocket::test_query_string 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_query_string 203s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 203s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 203s tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 203s tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 203s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 203s tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 203s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 203s tests/websocket_test.py::TestWebSocketObject::test_close_ws 203s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocketObject::test_close_ws 203s tests/websocket_test.py::TestWebSocketObject::test_recieve 203s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocketObject::test_recieve 204s tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 204s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 204s tests/wsgi_test.py::TestHttpd::test_log_disable 204s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_log_disable 204s tests/wsgi_test.py::TestHttpd::test_log_unix_address 204s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_log_unix_address 204s tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 204s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 204s tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 204s tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 204s tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 204s tests/wsgi_test.py::TestHttpd::test_path_info_decoding 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_decoding 204s tests/wsgi_test.py::TestHttpd::test_path_info_latin1 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_latin1 204s tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 204s tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 204s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 204s tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 204s tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 204s tests/wsgi_test.py::TestHttpd::test_socket_remains_open 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_socket_remains_open 204s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 204s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 204s tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 204s tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 204s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 204s tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 204s tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 204s tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 204s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 204s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 204s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 204s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 205s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 205s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 205s tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 205s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 205s tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 205s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 205s tests/wsgi_test.py::TestChunkedInput::test_dirt 205s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 205s tests/wsgi_test.py::TestHttpd::test_env_header_stripping 205s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestHttpd::test_env_header_stripping 205s tests/wsgi_test.py::TestHttpd::test_env_headers 205s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_dirt 205s tests/wsgi_test.py::TestChunkedInput::test_short_read 205s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestHttpd::test_env_headers 205s tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 205s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read 205s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 205s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 205s [gw0] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 205s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 205s tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 205s [gw0] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 205s tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 205s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 205s tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 205s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 205s tests/wsgi_test.py::TestHttpd::test_headers_raw 205s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestHttpd::test_headers_raw 205s tests/wsgi_test.py::TestHttpd::test_ipv6 205s [gw1] [ 96%] SKIPPED tests/wsgi_test.py::TestHttpd::test_ipv6 205s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 205s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 205s tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 205s tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 205s tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 205s tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 205s tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 205s tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 205s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 205s tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 205s [gw1] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 205s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 205s tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 205s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 205s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 205s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 205s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 205s tests/zmq_test.py::TestQueueLock::test_count 205s [gw0] [ 98%] PASSED tests/zmq_test.py::TestQueueLock::test_count 205s tests/zmq_test.py::TestQueueLock::test_errors 205s [gw0] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_errors 205s tests/zmq_test.py::TestQueueLock::test_nested_acquire 205s [gw0] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_nested_acquire 205s tests/zmq_test.py::TestQueueLock::test_queue_lock_order 205s [gw0] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_queue_lock_order 205s tests/zmq_test.py::TestBlockedThread::test_block 205s [gw0] [ 99%] PASSED tests/zmq_test.py::TestBlockedThread::test_block 205s tests/zmq_test.py::test_recv_json_no_args 205s [gw0] [ 99%] PASSED tests/zmq_test.py::test_recv_json_no_args 205s tests/zmq_test.py::test_recv_timeout 205s [gw1] [ 99%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 205s tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 206s [gw1] [ 99%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 206s [gw0] [100%] PASSED tests/zmq_test.py::test_recv_timeout 206s 206s ==================================== ERRORS ==================================== 206s __________________ ERROR collecting tests/test__greenness.py ___________________ 206s tests/test__greenness.py:8: in 206s from eventlet.green.urllib.request import urlopen 206s eventlet/green/urllib/request.py:40: in 206s URLopener.open_ftp = patcher.patch_function(URLopener.open_ftp, *to_patch_in_functions) 206s ^^^^^^^^^ 206s E NameError: name 'URLopener' is not defined 206s __________________ ERROR collecting tests/test__greenness.py ___________________ 206s tests/test__greenness.py:8: in 206s from eventlet.green.urllib.request import urlopen 206s eventlet/green/urllib/request.py:40: in 206s URLopener.open_ftp = patcher.patch_function(URLopener.open_ftp, *to_patch_in_functions) 206s ^^^^^^^^^ 206s E NameError: name 'URLopener' is not defined 206s =================================== FAILURES =================================== 206s ____________________ TestGreenPipe.test_pip_read_until_end _____________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s self = 206s 206s def test_pip_read_until_end(self): 206s # similar to test_pip_read above but reading until eof 206s r, w = os.pipe() 206s 206s > r = greenio.GreenPipe(r, 'rb') 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:757: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s ___________________________ TestGreenPipe.test_pipe ____________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s self = 206s 206s def test_pipe(self): 206s r, w = os.pipe() 206s > rf = greenio.GreenPipe(r, 'rb') 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:706: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s _________________________ TestGreenPipe.test_pipe_read _________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s self = 206s 206s def test_pipe_read(self): 206s # ensure that 'readline' works properly on GreenPipes when data is not 206s # immediately available (fd is nonblocking, was raising EAGAIN) 206s # also ensures that readline() terminates on '\n' and '\r\n' 206s r, w = os.pipe() 206s 206s > r = greenio.GreenPipe(r, 'rb') 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:729: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s ________________ TestGreenPipe.test_pipe_writes_large_messages _________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s self = 206s 206s def test_pipe_writes_large_messages(self): 206s r, w = os.pipe() 206s 206s > r = greenio.GreenPipe(r, 'rb') 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:786: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s ______________________________ test_pipe_context _______________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_pipe_context(): 206s # ensure using a pipe as a context actually closes it. 206s r, w = os.pipe() 206s > r = greenio.GreenPipe(r) 206s ^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:997: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 29, mode = 'r', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s _____________________________ test_greenpipe_write _____________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_greenpipe_write(): 206s expected = b"initial" 206s with tempfile.NamedTemporaryFile() as f: 206s > with greenio.GreenPipe(f.name, "wb") as writer: 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:1012: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = '/tmp/tmp0k6q0mo2', mode = 'wb', buffering = -1, encoding = None 206s errors = None, newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s ____________________________ test_greenpipe_append _____________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_greenpipe_append(): 206s old_data = b"existing data..." 206s new_data = b"append with mode=a" 206s expected = old_data + new_data 206s with tempfile.NamedTemporaryFile() as f: 206s with open(f.name, "wb") as fw: 206s fw.write(old_data) 206s 206s > with greenio.GreenPipe(f.name, "ab") as writer: 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:1027: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = '/tmp/tmp7geizvna', mode = 'ab', buffering = -1, encoding = None 206s errors = None, newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s ________________________ test_greenpipe_read_overwrite _________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_greenpipe_read_overwrite(): 206s old_data = b"existing data..." 206s new_data = b"overwrite with mode=r+" 206s with tempfile.NamedTemporaryFile() as f: 206s > with greenio.GreenPipe(f.name, "wb") as writer: 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:1038: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = '/tmp/tmp_68eegln', mode = 'wb', buffering = -1, encoding = None 206s errors = None, newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s __________________________ test_greenpipe_write_plus ___________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_greenpipe_write_plus(): 206s expected = "write with mode=w+" 206s with tempfile.NamedTemporaryFile() as f: 206s > with greenio.GreenPipe(f.name, "w+") as writer: 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:1051: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = '/tmp/tmp81bmj9bw', mode = 'w+', buffering = -1, encoding = None 206s errors = None, newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s __________________________ test_greenpipe_append_plus __________________________ 206s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_greenpipe_append_plus(): 206s expected = "append with mode=a+" 206s with tempfile.NamedTemporaryFile() as f: 206s > with greenio.GreenPipe(f.name, "a+") as writer: 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s 206s tests/greenio_test.py:1061: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = '/tmp/tmprvppfovk', mode = 'a+', buffering = -1, encoding = None 206s errors = None, newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s __________________________ test_regular_file_readall ___________________________ 206s [gw1] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_regular_file_readall(): 206s > tests.run_isolated('regular_file_readall.py') 206s 206s tests/patcher_test.py:499: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s tests/__init__.py:365: in run_isolated 206s run_python(prefix + path, **kwargs) 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s path = '/tmp/autopkgtest.Qyc9mF/build.JqU/src/tests/isolated/regular_file_readall.py' 206s env = None, args = None, timeout = 10, pythonpath_extend = None 206s expect_pass = True 206s 206s def run_python(path, env=None, args=None, timeout=None, pythonpath_extend=None, expect_pass=False): 206s new_argv = [sys.executable] 206s new_env = os.environ.copy() 206s new_env.setdefault('eventlet_test_in_progress', 'yes') 206s src_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 206s if path: 206s path = os.path.abspath(path) 206s new_argv.append(path) 206s new_env['PYTHONPATH'] = os.pathsep.join(sys.path + [src_dir]) 206s if env: 206s new_env.update(env) 206s if pythonpath_extend: 206s new_path = [p for p in new_env.get('PYTHONPATH', '').split(os.pathsep) if p] 206s new_path.extend( 206s p if os.path.isabs(p) else os.path.join(src_dir, p) for p in pythonpath_extend 206s ) 206s new_env['PYTHONPATH'] = os.pathsep.join(new_path) 206s if args: 206s new_argv.extend(args) 206s p = subprocess.Popen( 206s new_argv, 206s env=new_env, 206s stderr=subprocess.STDOUT, 206s stdin=subprocess.PIPE, 206s stdout=subprocess.PIPE, 206s ) 206s if timeout is None: 206s timeout = 10 206s try: 206s output, _ = p.communicate(timeout=timeout) 206s except subprocess.TimeoutExpired: 206s p.kill() 206s output, _ = p.communicate(timeout=timeout) 206s if expect_pass: 206s sys.stderr.write('Program {} output:\n---\n{}\n---\n'.format(path, output.decode())) 206s assert False, 'timed out' 206s return '{}\nFAIL - timed out'.format(output).encode() 206s 206s if expect_pass: 206s if output.startswith(b'skip'): 206s parts = output.rstrip().split(b':', 1) 206s skip_args = [] 206s if len(parts) > 1: 206s skip_args.append(parts[1]) 206s raise SkipTest(*skip_args) 206s lines = output.splitlines() 206s ok = lines[-1].rstrip() == b'pass' 206s if not ok or len(lines) > 1: 206s sys.stderr.write('Program {} output:\n---\n{}\n---\n'.format(path, output.decode(errors="backslashreplace"))) 206s > assert ok, 'Expected single line "pass" in stdout' 206s ^^ 206s E AssertionError: Expected single line "pass" in stdout 206s 206s tests/__init__.py:358: AssertionError 206s ----------------------------- Captured stderr call ----------------------------- 206s Program /tmp/autopkgtest.Qyc9mF/build.JqU/src/tests/isolated/regular_file_readall.py output: 206s --- 206s Traceback (most recent call last): 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/tests/isolated/regular_file_readall.py", line 17, in 206s fp = os.fdopen(fd, "rb") 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/green/os.py", line 29, in fdopen 206s return greenio.GreenPipe(fd, *args, **kw) 206s ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenio/py3.py", line 216, in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s File "/usr/lib/python3.14/_pyio.py", line 242, in open 206s if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s --- 206s _____________________________ test_universal_lines _____________________________ 206s [gw1] linux -- Python 3.14.2 /usr/bin/python3.14 206s 206s def test_universal_lines(): 206s > p = subprocess.Popen( 206s [sys.executable, '--version'], 206s shell=False, 206s stdout=subprocess.PIPE, 206s universal_newlines=True) 206s 206s tests/subprocess_test.py:52: 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s eventlet/green/subprocess.py:73: in __init__ 206s wrapped_pipe = greenio.GreenPipe(pipe, mode, bufsize) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s eventlet/greenio/py3.py:216: in GreenPipe 206s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 206s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 206s 206s file = 16, mode = 'r', buffering = -1, encoding = None, errors = None 206s newline = None, closefd = True, opener = None 206s 206s @staticmethod 206s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 206s newline=None, closefd=True, opener=None): 206s 206s r"""Open file and return a stream. Raise OSError upon failure. 206s 206s file is either a text or byte string giving the name (and the path 206s if the file isn't in the current working directory) of the file to 206s be opened or an integer file descriptor of the file to be 206s wrapped. (If a file descriptor is given, it is closed when the 206s returned I/O object is closed, unless closefd is set to False.) 206s 206s mode is an optional string that specifies the mode in which the file is 206s opened. It defaults to 'r' which means open for reading in text mode. Other 206s common values are 'w' for writing (truncating the file if it already 206s exists), 'x' for exclusive creation of a new file, and 'a' for appending 206s (which on some Unix systems, means that all writes append to the end of the 206s file regardless of the current seek position). In text mode, if encoding is 206s not specified the encoding used is platform dependent. (For reading and 206s writing raw bytes use binary mode and leave encoding unspecified.) The 206s available modes are: 206s 206s ========= =============================================================== 206s Character Meaning 206s --------- --------------------------------------------------------------- 206s 'r' open for reading (default) 206s 'w' open for writing, truncating the file first 206s 'x' create a new file and open it for writing 206s 'a' open for writing, appending to the end of the file if it exists 206s 'b' binary mode 206s 't' text mode (default) 206s '+' open a disk file for updating (reading and writing) 206s ========= =============================================================== 206s 206s The default mode is 'rt' (open for reading text). For binary random 206s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 206s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 206s raises an `FileExistsError` if the file already exists. 206s 206s Python distinguishes between files opened in binary and text modes, 206s even when the underlying operating system doesn't. Files opened in 206s binary mode (appending 'b' to the mode argument) return contents as 206s bytes objects without any decoding. In text mode (the default, or when 206s 't' is appended to the mode argument), the contents of the file are 206s returned as strings, the bytes having been first decoded using a 206s platform-dependent encoding or using the specified encoding if given. 206s 206s buffering is an optional integer used to set the buffering policy. 206s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 206s line buffering (only usable in text mode), and an integer > 1 to indicate 206s the size of a fixed-size chunk buffer. When no buffering argument is 206s given, the default buffering policy works as follows: 206s 206s * Binary files are buffered in fixed-size chunks; the size of the buffer 206s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 206s when the device block size is available. 206s On most systems, the buffer will typically be 128 kilobytes long. 206s 206s * "Interactive" text files (files for which isatty() returns True) 206s use line buffering. Other text files use the policy described above 206s for binary files. 206s 206s encoding is the str name of the encoding used to decode or encode the 206s file. This should only be used in text mode. The default encoding is 206s platform dependent, but any encoding supported by Python can be 206s passed. See the codecs module for the list of supported encodings. 206s 206s errors is an optional string that specifies how encoding errors are to 206s be handled---this argument should not be used in binary mode. Pass 206s 'strict' to raise a ValueError exception if there is an encoding error 206s (the default of None has the same effect), or pass 'ignore' to ignore 206s errors. (Note that ignoring encoding errors can lead to data loss.) 206s See the documentation for codecs.register for a list of the permitted 206s encoding error strings. 206s 206s newline is a string controlling how universal newlines works (it only 206s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 206s as follows: 206s 206s * On input, if newline is None, universal newlines mode is 206s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 206s these are translated into '\n' before being returned to the 206s caller. If it is '', universal newline mode is enabled, but line 206s endings are returned to the caller untranslated. If it has any of 206s the other legal values, input lines are only terminated by the given 206s string, and the line ending is returned to the caller untranslated. 206s 206s * On output, if newline is None, any '\n' characters written are 206s translated to the system default line separator, os.linesep. If 206s newline is '', no translation takes place. If newline is any of the 206s other legal values, any '\n' characters written are translated to 206s the given string. 206s 206s closedfd is a bool. If closefd is False, the underlying file descriptor will 206s be kept open when the file is closed. This does not work when a file name is 206s given and must be True in that case. 206s 206s The newly created file is non-inheritable. 206s 206s A custom opener can be used by passing a callable as *opener*. The 206s underlying file descriptor for the file object is then obtained by calling 206s *opener* with (*file*, *flags*). *opener* must return an open file 206s descriptor (passing os.open as *opener* results in functionality similar to 206s passing None). 206s 206s open() returns a file object whose type depends on the mode, and 206s through which the standard file operations such as reading and writing 206s are performed. When open() is used to open a file in a text mode ('w', 206s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 206s a file in a binary mode, the returned class varies: in read binary 206s mode, it returns a BufferedReader; in write binary and append binary 206s modes, it returns a BufferedWriter, and in read/write mode, it returns 206s a BufferedRandom. 206s 206s It is also possible to use a string or bytearray as a file for both 206s reading and writing. For strings StringIO can be used like a file 206s opened in a text mode, and for bytes a BytesIO can be used like a file 206s opened in a binary mode. 206s """ 206s if not isinstance(file, int): 206s file = os.fspath(file) 206s if not isinstance(file, (str, bytes, int)): 206s raise TypeError("invalid file: %r" % file) 206s if not isinstance(mode, str): 206s raise TypeError("invalid mode: %r" % mode) 206s if not isinstance(buffering, int): 206s raise TypeError("invalid buffering: %r" % buffering) 206s if encoding is not None and not isinstance(encoding, str): 206s raise TypeError("invalid encoding: %r" % encoding) 206s if errors is not None and not isinstance(errors, str): 206s raise TypeError("invalid errors: %r" % errors) 206s modes = set(mode) 206s if modes - set("axrwb+t") or len(mode) > len(modes): 206s raise ValueError("invalid mode: %r" % mode) 206s creating = "x" in modes 206s reading = "r" in modes 206s writing = "w" in modes 206s appending = "a" in modes 206s updating = "+" in modes 206s text = "t" in modes 206s binary = "b" in modes 206s if text and binary: 206s raise ValueError("can't have text and binary mode at once") 206s if creating + reading + writing + appending > 1: 206s raise ValueError("can't have read/write/append mode at once") 206s if not (creating or reading or writing or appending): 206s raise ValueError("must have exactly one of read/write/append mode") 206s if binary and encoding is not None: 206s raise ValueError("binary mode doesn't take an encoding argument") 206s if binary and errors is not None: 206s raise ValueError("binary mode doesn't take an errors argument") 206s if binary and newline is not None: 206s raise ValueError("binary mode doesn't take a newline argument") 206s if binary and buffering == 1: 206s import warnings 206s warnings.warn("line buffering (buffering=1) isn't supported in binary " 206s "mode, the default buffer size will be used", 206s RuntimeWarning, 2) 206s raw = FileIO(file, 206s (creating and "x" or "") + 206s (reading and "r" or "") + 206s (writing and "w" or "") + 206s (appending and "a" or "") + 206s (updating and "+" or ""), 206s closefd, opener=opener) 206s result = raw 206s try: 206s line_buffering = False 206s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 206s ^^^^^^^^^^^^^^^^^^^^^ 206s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 206s 206s /usr/lib/python3.14/_pyio.py:242: AttributeError 206s =============================== warnings summary =============================== 206s eventlet/greenpool.py:95 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenpool.py:95: SyntaxWarning: 'return' in a 'finally' block 206s return 206s 206s tests/api_test.py: 2 warnings 206s tests/convenience_test.py: 2 warnings 206s tests/greenio_test.py: 1 warning 206s tests/ssl_test.py: 26 warnings 206s tests/wsgi_test.py: 9 warnings 206s tests/websocket_test.py: 2 warnings 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 206s context = _original_sslcontext(protocol=ssl_version) 206s 206s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 206s tests/backdoor_test.py::BackdoorTest::test_server 206s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 206s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored while finalizing file <_io.TextIOWrapper mode='rw' encoding='UTF-8'>: None 206s 206s Traceback (most recent call last): 206s File "/usr/lib/python3.14/socket.py", line 743, in write 206s return self._sock.send(b) 206s ~~~~~~~~~~~~~~~^^^ 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenio/base.py", line 383, in send 206s return self._send_loop(self.fd.send, data, flags) 206s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenio/base.py", line 370, in _send_loop 206s return send_method(data, *args) 206s BrokenPipeError: [Errno 32] Broken pipe 206s 206s During handling of the above exception, another exception occurred: 206s 206s Traceback (most recent call last): 206s File "/usr/lib/python3.14/socket.py", line 743, in write 206s return self._sock.send(b) 206s ~~~~~~~~~~~~~~~^^^ 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenio/base.py", line 383, in send 206s return self._send_loop(self.fd.send, data, flags) 206s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 206s File "/tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenio/base.py", line 370, in _send_loop 206s return send_method(data, *args) 206s BrokenPipeError: [Errno 32] Broken pipe 206s 206s 206s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 206s 206s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/tests/not_asyncio_test.py:22: RuntimeWarning: coroutine 'test_spawn_from_coroutine_errors..go' was never awaited 206s with pytest.raises(RuntimeError): 206s Enable tracemalloc to get traceback where the object was allocated. 206s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 206s 206s tests/openssl_test.py::test_import 206s tests/openssl_test.py::test_import 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: CSR support in pyOpenSSL is deprecated. You should use the APIs in cryptography. 206s from OpenSSL.crypto import * 206s 206s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/tests/ssl_test.py:333: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 206s context = ssl.SSLContext(ssl.PROTOCOL_TLS) 206s 206s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLSv1_2 is deprecated 206s context = _original_sslcontext(protocol=ssl_version) 206s 206s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 206s /tmp/autopkgtest.Qyc9mF/build.JqU/src/eventlet/greenthread.py:272: DeprecationWarning: capitalize_response_headers is disabled. 206s Please, make sure you know what you are doing. 206s HTTP headers names are case-insensitive per RFC standard. 206s Most likely, you need to fix HTTP parsing in your client software. 206s result = function(*args, **kwargs) 206s 206s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 206s =========================== short test summary info ============================ 206s FAILED tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end - Attrib... 206s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe - AttributeError: 'Gre... 206s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_read - AttributeError:... 206s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 206s FAILED tests/greenio_test.py::test_pipe_context - AttributeError: 'GreenFileI... 206s FAILED tests/greenio_test.py::test_greenpipe_write - AttributeError: 'GreenFi... 206s FAILED tests/greenio_test.py::test_greenpipe_append - AttributeError: 'GreenF... 206s FAILED tests/greenio_test.py::test_greenpipe_read_overwrite - AttributeError:... 206s FAILED tests/greenio_test.py::test_greenpipe_write_plus - AttributeError: 'Gr... 206s FAILED tests/greenio_test.py::test_greenpipe_append_plus - AttributeError: 'G... 206s FAILED tests/patcher_test.py::test_regular_file_readall - AssertionError: Exp... 206s FAILED tests/subprocess_test.py::test_universal_lines - AttributeError: 'Gree... 206s ERROR tests/test__greenness.py - NameError: name 'URLopener' is not defined 206s ERROR tests/test__greenness.py - NameError: name 'URLopener' is not defined 206s ====== 12 failed, 617 passed, 89 skipped, 52 warnings, 2 errors in 32.51s ====== 206s autopkgtest [12:19:55]: test unittests: -----------------------] 207s autopkgtest [12:19:56]: test unittests: - - - - - - - - - - results - - - - - - - - - - 207s unittests FAIL non-zero exit status 1 207s autopkgtest [12:19:56]: @@@@@@@@@@@@@@@@@@@@ summary 207s listen3 PASS 207s unittests FAIL non-zero exit status 1