0s autopkgtest [20:46:48]: starting date and time: 2026-01-22 20:46:48+0000 0s autopkgtest [20:46:48]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [20:46:48]: host juju-7f2275-prod-proposed-migration-environment-20; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.8m1kri_0/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:python3-defaults --apt-upgrade python-eventlet --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=python3-defaults/3.14.2-1 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-cpu2-ram4-disk20-ppc64el --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-20@sto01-ppc64el-23.secgroup --name adt-resolute-ppc64el-python-eventlet-20260122-204648-juju-7f2275-prod-proposed-migration-environment-20-f73776a4-a813-48f1-8771-7300f9f8821a --image adt/ubuntu-resolute-ppc64el-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-20 --net-id=net_prod-autopkgtest-workers-ppc64el -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 4s Creating nova instance adt-resolute-ppc64el-python-eventlet-20260122-204648-juju-7f2275-prod-proposed-migration-environment-20-f73776a4-a813-48f1-8771-7300f9f8821a from image adt/ubuntu-resolute-ppc64el-server-20260122.img (UUID 987e5803-394f-43eb-a969-151b6b75a57a)... 112s autopkgtest [20:48:40]: testbed dpkg architecture: ppc64el 112s autopkgtest [20:48:40]: testbed apt version: 3.1.12 112s autopkgtest [20:48:40]: @@@@@@@@@@@@@@@@@@@@ test bed setup 113s autopkgtest [20:48:41]: testbed release detected to be: None 113s autopkgtest [20:48:41]: updating testbed package index (apt update) 114s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [124 kB] 114s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 114s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 114s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 114s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [2820 B] 114s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [1011 kB] 116s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [81.6 kB] 116s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [22.2 kB] 116s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el Packages [100 kB] 116s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/universe ppc64el Packages [703 kB] 117s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse ppc64el Packages [5552 B] 117s Fetched 2050 kB in 3s (589 kB/s) 118s Reading package lists... 118s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 119s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 119s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 119s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 119s Reading package lists... 119s Reading package lists... 120s Building dependency tree... 120s Reading state information... 120s Calculating upgrade... 120s The following packages were automatically installed and are no longer required: 120s python3.13 python3.13-minimal 120s Use 'sudo apt autoremove' to remove them. 120s The following NEW packages will be installed: 120s libpython3.14-minimal libpython3.14-stdlib python3.14 python3.14-minimal 120s The following packages will be upgraded: 120s libplymouth5 libpython3-stdlib plymouth plymouth-theme-ubuntu-text python3 120s python3-gdbm python3-minimal 120s 7 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. 120s Need to get 7312 kB of archives. 120s After this operation, 27.7 MB of additional disk space will be used. 120s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-minimal ppc64el 3.14.2-1 [921 kB] 121s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14-minimal ppc64el 3.14.2-1 [2712 kB] 127s Get:3 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-gdbm ppc64el 3.14.2-1 [11.1 kB] 127s Get:4 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-minimal ppc64el 3.14.2-1 [28.2 kB] 127s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3 ppc64el 3.14.2-1 [22.9 kB] 127s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el libpython3.14-stdlib ppc64el 3.14.2-1 [2444 kB] 130s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.14 ppc64el 3.14.2-1 [816 kB] 132s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el libpython3-stdlib ppc64el 3.14.2-1 [10.9 kB] 132s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libplymouth5 ppc64el 24.004.60+git20250831.4a3c171d-0ubuntu4 [174 kB] 132s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el plymouth-theme-ubuntu-text ppc64el 24.004.60+git20250831.4a3c171d-0ubuntu4 [11.2 kB] 132s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el plymouth ppc64el 24.004.60+git20250831.4a3c171d-0ubuntu4 [160 kB] 132s dpkg-preconfigure: unable to re-open stdin: No such file or directory 132s Fetched 7312 kB in 12s (624 kB/s) 132s Selecting previously unselected package libpython3.14-minimal:ppc64el. 132s (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 ... 120824 files and directories currently installed.) 132s Preparing to unpack .../libpython3.14-minimal_3.14.2-1_ppc64el.deb ... 132s Unpacking libpython3.14-minimal:ppc64el (3.14.2-1) ... 132s Selecting previously unselected package python3.14-minimal. 132s Preparing to unpack .../python3.14-minimal_3.14.2-1_ppc64el.deb ... 132s Unpacking python3.14-minimal (3.14.2-1) ... 133s Preparing to unpack .../python3-gdbm_3.14.2-1_ppc64el.deb ... 133s Unpacking python3-gdbm (3.14.2-1) over (3.13.9-1) ... 133s Setting up libpython3.14-minimal:ppc64el (3.14.2-1) ... 133s Setting up python3.14-minimal (3.14.2-1) ... 134s (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 ... 121166 files and directories currently installed.) 134s Preparing to unpack .../python3-minimal_3.14.2-1_ppc64el.deb ... 134s Unpacking python3-minimal (3.14.2-1) over (3.13.7-1) ... 134s Setting up python3-minimal (3.14.2-1) ... 134s (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 ... 121166 files and directories currently installed.) 134s Preparing to unpack .../0-python3_3.14.2-1_ppc64el.deb ... 134s running python pre-rtupdate hooks for python3.14... 134s Unpacking python3 (3.14.2-1) over (3.13.7-1) ... 135s Selecting previously unselected package libpython3.14-stdlib:ppc64el. 135s Preparing to unpack .../1-libpython3.14-stdlib_3.14.2-1_ppc64el.deb ... 135s Unpacking libpython3.14-stdlib:ppc64el (3.14.2-1) ... 135s Selecting previously unselected package python3.14. 135s Preparing to unpack .../2-python3.14_3.14.2-1_ppc64el.deb ... 135s Unpacking python3.14 (3.14.2-1) ... 135s Preparing to unpack .../3-libpython3-stdlib_3.14.2-1_ppc64el.deb ... 135s Unpacking libpython3-stdlib:ppc64el (3.14.2-1) over (3.13.7-1) ... 135s Preparing to unpack .../4-libplymouth5_24.004.60+git20250831.4a3c171d-0ubuntu4_ppc64el.deb ... 135s Unpacking libplymouth5:ppc64el (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 135s Preparing to unpack .../5-plymouth-theme-ubuntu-text_24.004.60+git20250831.4a3c171d-0ubuntu4_ppc64el.deb ... 135s Unpacking plymouth-theme-ubuntu-text (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 135s Preparing to unpack .../6-plymouth_24.004.60+git20250831.4a3c171d-0ubuntu4_ppc64el.deb ... 135s Unpacking plymouth (24.004.60+git20250831.4a3c171d-0ubuntu4) over (24.004.60+git20250831.4a3c171d-0ubuntu3) ... 136s Setting up libpython3.14-stdlib:ppc64el (3.14.2-1) ... 136s Setting up libplymouth5:ppc64el (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 136s Setting up python3.14 (3.14.2-1) ... 137s Setting up libpython3-stdlib:ppc64el (3.14.2-1) ... 137s Setting up python3-gdbm (3.14.2-1) ... 137s Setting up plymouth (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 137s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 137s update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults 137s Setting up python3 (3.14.2-1) ... 137s running python rtupdate hooks for python3.14... 137s running python post-rtupdate hooks for python3.14... 138s Processing triggers for libc-bin (2.42-2ubuntu4) ... 138s Processing triggers for systemd (259-1ubuntu2) ... 138s Processing triggers for man-db (2.13.1-1) ... 139s Processing triggers for initramfs-tools (0.150ubuntu7) ... 139s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 147s Setting up plymouth-theme-ubuntu-text (24.004.60+git20250831.4a3c171d-0ubuntu4) ... 147s Processing triggers for initramfs-tools (0.150ubuntu7) ... 147s update-initramfs: Generating /boot/initrd.img-6.18.0-9-generic 153s autopkgtest [20:49:21]: upgrading testbed (apt dist-upgrade and autopurge) 153s Reading package lists... 153s Building dependency tree... 153s Reading state information... 153s Calculating upgrade... 154s The following packages were automatically installed and are no longer required: 154s python3.13 python3.13-minimal 154s Use 'sudo apt autoremove' to remove them. 154s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 154s Reading package lists... 154s Building dependency tree... 154s Reading state information... 154s Solving dependencies... 154s The following packages will be REMOVED: 154s python3.13* python3.13-minimal* 154s 0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. 154s After this operation, 9077 kB disk space will be freed. 154s (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 121596 files and directories currently installed.) 154s Removing python3.13 (3.13.11-1) ... 154s Removing python3.13-minimal (3.13.11-1) ... 157s Processing triggers for man-db (2.13.1-1) ... 157s Processing triggers for systemd (259-1ubuntu2) ... 157s (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 ... 121569 files and directories currently installed.) 157s Purging configuration files for python3.13-minimal (3.13.11-1) ... 158s autopkgtest [20:49:26]: rebooting testbed after setup commands that affected boot 196s autopkgtest [20:50:04]: testbed running kernel: Linux 6.18.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Jan 12 16:45:54 UTC 2026 198s autopkgtest [20:50:06]: @@@@@@@@@@@@@@@@@@@@ apt-source python-eventlet 201s Get:1 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (dsc) [2605 B] 201s Get:2 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (tar) [562 kB] 201s Get:3 http://ftpmaster.internal/ubuntu resolute/main python-eventlet 0.39.0-0ubuntu2 (diff) [24.3 kB] 201s gpgv: Signature made Mon Sep 15 17:48:29 2025 UTC 201s gpgv: using RSA key 50C4A0DDCF31E452CEB19B516569D855A744BE93 201s gpgv: Can't check signature: No public key 201s dpkg-source: warning: cannot verify inline signature for ./python-eventlet_0.39.0-0ubuntu2.dsc: no acceptable signature found 201s autopkgtest [20:50:09]: testing package python-eventlet version 0.39.0-0ubuntu2 202s autopkgtest [20:50:10]: build not needed 202s autopkgtest [20:50:10]: test listen3: preparing testbed 202s Reading package lists... 202s Building dependency tree... 202s Reading state information... 202s Solving dependencies... 202s The following NEW packages will be installed: 202s python3-dnspython python3-eventlet python3-greenlet 203s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 203s Need to get 634 kB of archives. 203s After this operation, 3395 kB of additional disk space will be used. 203s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-dnspython all 2.7.0-1ubuntu2 [167 kB] 203s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-greenlet ppc64el 3.2.4-3 [190 kB] 203s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-eventlet all 0.39.0-0ubuntu2 [277 kB] 203s Fetched 634 kB in 0s (28.9 MB/s) 203s Selecting previously unselected package python3-dnspython. 203s (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 ... 121571 files and directories currently installed.) 203s Preparing to unpack .../python3-dnspython_2.7.0-1ubuntu2_all.deb ... 203s Unpacking python3-dnspython (2.7.0-1ubuntu2) ... 203s Selecting previously unselected package python3-greenlet. 203s Preparing to unpack .../python3-greenlet_3.2.4-3_ppc64el.deb ... 203s Unpacking python3-greenlet (3.2.4-3) ... 203s Selecting previously unselected package python3-eventlet. 203s Preparing to unpack .../python3-eventlet_0.39.0-0ubuntu2_all.deb ... 203s Unpacking python3-eventlet (0.39.0-0ubuntu2) ... 203s Setting up python3-greenlet (3.2.4-3) ... 203s Setting up python3-dnspython (2.7.0-1ubuntu2) ... 204s Setting up python3-eventlet (0.39.0-0ubuntu2) ... 204s /usr/lib/python3/dist-packages/eventlet/greenpool.py:95: SyntaxWarning: 'return' in a 'finally' block 204s return 205s autopkgtest [20:50:13]: test listen3: [----------------------- 206s autopkgtest [20:50:14]: test listen3: -----------------------] 206s autopkgtest [20:50:14]: test listen3: - - - - - - - - - - results - - - - - - - - - - 206s listen3 PASS 207s autopkgtest [20:50:15]: test unittests: preparing testbed 207s Reading package lists... 207s Building dependency tree... 207s Reading state information... 207s Solving dependencies... 207s The following NEW packages will be installed: 207s autoconf automake autopoint autotools-dev build-essential cpp cpp-15 207s cpp-15-powerpc64le-linux-gnu cpp-powerpc64le-linux-gnu debhelper debugedit 207s dh-autoreconf dh-python dh-strip-nondeterminism docutils-common dwz g++ 207s g++-15 g++-15-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu gcc gcc-15 207s gcc-15-powerpc64le-linux-gnu gcc-powerpc64le-linux-gnu gettext 207s intltool-debian libarchive-zip-perl libasan8 libcc1-0 libdebhelper-perl 207s libfile-stripnondeterminism-perl libgcc-15-dev libgomp1 libisl23 libitm1 207s libjson-perl liblsan0 libmpc3 libnorm1t64 libpgm-5.3-0t64 libquadmath0 207s libsodium23 libstdc++-15-dev libtool libtsan2 libubsan1 libzmq5 m4 207s openstack-pkg-tools po-debconf pybuild-plugin-pyproject python-eventlet-doc 207s python3-alabaster python3-all python3-build python3-defusedxml 207s python3-docutils python3-execnet python3-hatchling python3-imagesize 207s python3-iniconfig python3-installer python3-monotonic python3-pathspec 207s python3-pbr python3-pip python3-pluggy python3-pyproject-hooks 207s python3-pytest python3-pytest-xdist python3-roman-numerals 207s python3-setuptools-scm python3-snowballstemmer python3-sphinx 207s python3-sphinxcontrib.apidoc python3-trove-classifiers python3-wheel 207s python3-zmq python3.13 python3.13-minimal sgml-base sphinx-common xml-core 208s 0 upgraded, 83 newly installed, 0 to remove and 0 not upgraded. 208s Need to get 75.3 MB of archives. 208s After this operation, 277 MB of additional disk space will be used. 208s Get:1 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.13-minimal ppc64el 3.13.11-1 [2571 kB] 212s Get:2 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3.13 ppc64el 3.13.11-1 [758 kB] 213s Get:3 http://ftpmaster.internal/ubuntu resolute/main ppc64el m4 ppc64el 1.4.20-2 [236 kB] 213s Get:4 http://ftpmaster.internal/ubuntu resolute/main ppc64el autoconf all 2.72-3.1ubuntu1 [384 kB] 213s Get:5 http://ftpmaster.internal/ubuntu resolute/main ppc64el autotools-dev all 20240727.1 [43.4 kB] 213s Get:6 http://ftpmaster.internal/ubuntu resolute/main ppc64el automake all 1:1.18.1-3build1 [582 kB] 214s Get:7 http://ftpmaster.internal/ubuntu resolute/main ppc64el autopoint all 0.23.2-1 [620 kB] 215s Get:8 http://ftpmaster.internal/ubuntu resolute/main ppc64el libisl23 ppc64el 0.27-1build1 [893 kB] 217s Get:9 http://ftpmaster.internal/ubuntu resolute/main ppc64el libmpc3 ppc64el 1.3.1-2 [62.5 kB] 217s Get:10 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15-powerpc64le-linux-gnu ppc64el 15.2.0-11ubuntu1 [11.4 MB] 237s Get:11 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-15 ppc64el 15.2.0-11ubuntu1 [1038 B] 237s Get:12 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [5746 B] 237s Get:13 http://ftpmaster.internal/ubuntu resolute/main ppc64el cpp ppc64el 4:15.2.0-4ubuntu1 [22.4 kB] 237s Get:14 http://ftpmaster.internal/ubuntu resolute/main ppc64el libcc1-0 ppc64el 15.2.0-11ubuntu1 [49.0 kB] 237s Get:15 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgomp1 ppc64el 15.2.0-11ubuntu1 [169 kB] 237s Get:16 http://ftpmaster.internal/ubuntu resolute/main ppc64el libitm1 ppc64el 15.2.0-11ubuntu1 [32.2 kB] 237s Get:17 http://ftpmaster.internal/ubuntu resolute/main ppc64el libasan8 ppc64el 15.2.0-11ubuntu1 [3006 kB] 242s Get:18 http://ftpmaster.internal/ubuntu resolute/main ppc64el liblsan0 ppc64el 15.2.0-11ubuntu1 [1374 kB] 245s Get:19 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtsan2 ppc64el 15.2.0-11ubuntu1 [2728 kB] 250s Get:20 http://ftpmaster.internal/ubuntu resolute/main ppc64el libubsan1 ppc64el 15.2.0-11ubuntu1 [1231 kB] 253s Get:21 http://ftpmaster.internal/ubuntu resolute/main ppc64el libquadmath0 ppc64el 15.2.0-11ubuntu1 [160 kB] 253s Get:22 http://ftpmaster.internal/ubuntu resolute/main ppc64el libgcc-15-dev ppc64el 15.2.0-11ubuntu1 [1670 kB] 257s Get:23 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15-powerpc64le-linux-gnu ppc64el 15.2.0-11ubuntu1 [22.4 MB] 299s Get:24 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-15 ppc64el 15.2.0-11ubuntu1 [528 kB] 300s Get:25 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [1220 B] 300s Get:26 http://ftpmaster.internal/ubuntu resolute/main ppc64el gcc ppc64el 4:15.2.0-4ubuntu1 [5032 B] 300s Get:27 http://ftpmaster.internal/ubuntu resolute/main ppc64el libstdc++-15-dev ppc64el 15.2.0-11ubuntu1 [2745 kB] 306s Get:28 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15-powerpc64le-linux-gnu ppc64el 15.2.0-11ubuntu1 [13.0 MB] 330s Get:29 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-15 ppc64el 15.2.0-11ubuntu1 [24.6 kB] 330s Get:30 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++-powerpc64le-linux-gnu ppc64el 4:15.2.0-4ubuntu1 [970 B] 330s Get:31 http://ftpmaster.internal/ubuntu resolute/main ppc64el g++ ppc64el 4:15.2.0-4ubuntu1 [1092 B] 330s Get:32 http://ftpmaster.internal/ubuntu resolute/main ppc64el build-essential ppc64el 12.12ubuntu2 [5256 B] 330s Get:33 http://ftpmaster.internal/ubuntu resolute/main ppc64el libdebhelper-perl all 13.28ubuntu1 [97.4 kB] 330s Get:34 http://ftpmaster.internal/ubuntu resolute/main ppc64el libtool all 2.5.4-9 [169 kB] 330s Get:35 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-autoreconf all 21 [12.5 kB] 330s Get:36 http://ftpmaster.internal/ubuntu resolute/main ppc64el libarchive-zip-perl all 1.68-1 [90.2 kB] 330s Get:37 http://ftpmaster.internal/ubuntu resolute/main ppc64el libfile-stripnondeterminism-perl all 1.15.0-1build1 [20.6 kB] 330s Get:38 http://ftpmaster.internal/ubuntu resolute/main ppc64el dh-strip-nondeterminism all 1.15.0-1build1 [5110 B] 330s Get:39 http://ftpmaster.internal/ubuntu resolute/main ppc64el debugedit ppc64el 1:5.2-3 [57.3 kB] 330s Get:40 http://ftpmaster.internal/ubuntu resolute/main ppc64el dwz ppc64el 0.16-2 [142 kB] 330s Get:41 http://ftpmaster.internal/ubuntu resolute/main ppc64el gettext ppc64el 0.23.2-1 [1177 kB] 332s Get:42 http://ftpmaster.internal/ubuntu resolute/main ppc64el intltool-debian all 0.35.0+20060710.6build1 [24.1 kB] 332s Get:43 http://ftpmaster.internal/ubuntu resolute/main ppc64el po-debconf all 1.0.22 [215 kB] 332s Get:44 http://ftpmaster.internal/ubuntu resolute/main ppc64el debhelper all 13.28ubuntu1 [916 kB] 334s Get:45 http://ftpmaster.internal/ubuntu resolute/universe ppc64el dh-python all 7.20251231 [122 kB] 334s Get:46 http://ftpmaster.internal/ubuntu resolute/main ppc64el sgml-base all 1.31+nmu1 [11.0 kB] 334s Get:47 http://ftpmaster.internal/ubuntu resolute/main ppc64el xml-core all 0.19build1 [20.3 kB] 334s Get:48 http://ftpmaster.internal/ubuntu resolute/main ppc64el docutils-common all 0.22.4+dfsg-1 [130 kB] 334s Get:49 http://ftpmaster.internal/ubuntu resolute/main ppc64el libjson-perl all 4.10000-1 [81.9 kB] 334s Get:50 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libnorm1t64 ppc64el 1.5.9+dfsg-4 [198 kB] 334s Get:51 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libpgm-5.3-0t64 ppc64el 5.3.128~dfsg-2.1build2 [184 kB] 334s Get:52 http://ftpmaster.internal/ubuntu resolute/main ppc64el libsodium23 ppc64el 1.0.18-2 [160 kB] 334s Get:53 http://ftpmaster.internal/ubuntu resolute/universe ppc64el libzmq5 ppc64el 4.3.5-1build3 [302 kB] 334s Get:54 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pyproject-hooks all 1.2.0-1 [10.2 kB] 334s Get:55 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-wheel all 0.46.1-2 [22.1 kB] 334s Get:56 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-build all 1.2.2-5 [30.9 kB] 334s Get:57 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-installer all 0.7.0+dfsg1-3 [17.4 kB] 334s Get:58 http://ftpmaster.internal/ubuntu resolute/universe ppc64el pybuild-plugin-pyproject all 7.20251231 [1714 B] 334s Get:59 http://ftpmaster.internal/ubuntu resolute/main ppc64el python-eventlet-doc all 0.39.0-0ubuntu2 [353 kB] 335s Get:60 http://ftpmaster.internal/ubuntu resolute-proposed/main ppc64el python3-all ppc64el 3.14.2-1 [890 B] 335s Get:61 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-defusedxml all 0.7.1-3build1 [42.4 kB] 335s Get:62 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-roman-numerals all 4.1.0-1 [8660 B] 335s Get:63 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-docutils all 0.22.4+dfsg-1 [439 kB] 335s Get:64 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-execnet all 2.1.1-1build1 [33.5 kB] 335s Get:65 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pathspec all 0.12.1-1build1 [24.6 kB] 335s Get:66 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pluggy all 1.6.0-2 [21.1 kB] 335s Get:67 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-trove-classifiers all 2025.11.14.15-1 [11.1 kB] 335s Get:68 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-hatchling all 1.28.0-1 [47.3 kB] 335s Get:69 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-imagesize all 1.4.1-1build1 [6900 B] 335s Get:70 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-iniconfig all 2.1.0-2 [6962 B] 335s Get:71 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-monotonic all 1.6-3build1 [5518 B] 335s Get:72 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-pbr all 6.1.1-0ubuntu2 [58.3 kB] 335s Get:73 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pip all 25.1.1+dfsg-1ubuntu2 [1416 kB] 337s Get:74 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest all 9.0.2-2 [277 kB] 337s Get:75 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-pytest-xdist all 3.8.0-4 [34.7 kB] 337s Get:76 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-setuptools-scm all 8.2.1-4 [32.8 kB] 337s Get:77 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-snowballstemmer all 3.0.1-1 [65.9 kB] 337s Get:78 http://ftpmaster.internal/ubuntu resolute/main ppc64el sphinx-common all 8.2.3-12 [657 kB] 338s Get:79 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-alabaster all 0.7.16-0.1build1 [18.6 kB] 338s Get:80 http://ftpmaster.internal/ubuntu resolute/main ppc64el python3-sphinx all 8.2.3-12 [483 kB] 338s Get:81 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-sphinxcontrib.apidoc all 0.3.0-2ubuntu1 [8032 B] 338s Get:82 http://ftpmaster.internal/ubuntu resolute/universe ppc64el python3-zmq ppc64el 27.1.0-1 [232 kB] 338s Get:83 http://ftpmaster.internal/ubuntu resolute/universe ppc64el openstack-pkg-tools all 140 [103 kB] 338s Fetched 75.3 MB in 2min 11s (576 kB/s) 338s Selecting previously unselected package python3.13-minimal. 338s (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 ... 121975 files and directories currently installed.) 338s Preparing to unpack .../00-python3.13-minimal_3.13.11-1_ppc64el.deb ... 338s Unpacking python3.13-minimal (3.13.11-1) ... 339s Selecting previously unselected package python3.13. 339s Preparing to unpack .../01-python3.13_3.13.11-1_ppc64el.deb ... 339s Unpacking python3.13 (3.13.11-1) ... 339s Selecting previously unselected package m4. 339s Preparing to unpack .../02-m4_1.4.20-2_ppc64el.deb ... 339s Unpacking m4 (1.4.20-2) ... 339s Selecting previously unselected package autoconf. 339s Preparing to unpack .../03-autoconf_2.72-3.1ubuntu1_all.deb ... 339s Unpacking autoconf (2.72-3.1ubuntu1) ... 339s Selecting previously unselected package autotools-dev. 339s Preparing to unpack .../04-autotools-dev_20240727.1_all.deb ... 339s Unpacking autotools-dev (20240727.1) ... 339s Selecting previously unselected package automake. 339s Preparing to unpack .../05-automake_1%3a1.18.1-3build1_all.deb ... 339s Unpacking automake (1:1.18.1-3build1) ... 339s Selecting previously unselected package autopoint. 339s Preparing to unpack .../06-autopoint_0.23.2-1_all.deb ... 339s Unpacking autopoint (0.23.2-1) ... 339s Selecting previously unselected package libisl23:ppc64el. 339s Preparing to unpack .../07-libisl23_0.27-1build1_ppc64el.deb ... 339s Unpacking libisl23:ppc64el (0.27-1build1) ... 339s Selecting previously unselected package libmpc3:ppc64el. 339s Preparing to unpack .../08-libmpc3_1.3.1-2_ppc64el.deb ... 339s Unpacking libmpc3:ppc64el (1.3.1-2) ... 339s Selecting previously unselected package cpp-15-powerpc64le-linux-gnu. 339s Preparing to unpack .../09-cpp-15-powerpc64le-linux-gnu_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking cpp-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package cpp-15. 339s Preparing to unpack .../10-cpp-15_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking cpp-15 (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package cpp-powerpc64le-linux-gnu. 339s Preparing to unpack .../11-cpp-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 339s Unpacking cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 339s Selecting previously unselected package cpp. 339s Preparing to unpack .../12-cpp_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 339s Unpacking cpp (4:15.2.0-4ubuntu1) ... 339s Selecting previously unselected package libcc1-0:ppc64el. 339s Preparing to unpack .../13-libcc1-0_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libcc1-0:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libgomp1:ppc64el. 339s Preparing to unpack .../14-libgomp1_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libgomp1:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libitm1:ppc64el. 339s Preparing to unpack .../15-libitm1_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libitm1:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libasan8:ppc64el. 339s Preparing to unpack .../16-libasan8_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libasan8:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package liblsan0:ppc64el. 339s Preparing to unpack .../17-liblsan0_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking liblsan0:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libtsan2:ppc64el. 339s Preparing to unpack .../18-libtsan2_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libtsan2:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libubsan1:ppc64el. 339s Preparing to unpack .../19-libubsan1_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libubsan1:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libquadmath0:ppc64el. 339s Preparing to unpack .../20-libquadmath0_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libquadmath0:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package libgcc-15-dev:ppc64el. 339s Preparing to unpack .../21-libgcc-15-dev_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking libgcc-15-dev:ppc64el (15.2.0-11ubuntu1) ... 339s Selecting previously unselected package gcc-15-powerpc64le-linux-gnu. 339s Preparing to unpack .../22-gcc-15-powerpc64le-linux-gnu_15.2.0-11ubuntu1_ppc64el.deb ... 339s Unpacking gcc-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 340s Selecting previously unselected package gcc-15. 340s Preparing to unpack .../23-gcc-15_15.2.0-11ubuntu1_ppc64el.deb ... 340s Unpacking gcc-15 (15.2.0-11ubuntu1) ... 340s Selecting previously unselected package gcc-powerpc64le-linux-gnu. 340s Preparing to unpack .../24-gcc-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 340s Unpacking gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 340s Selecting previously unselected package gcc. 340s Preparing to unpack .../25-gcc_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 340s Unpacking gcc (4:15.2.0-4ubuntu1) ... 340s Selecting previously unselected package libstdc++-15-dev:ppc64el. 340s Preparing to unpack .../26-libstdc++-15-dev_15.2.0-11ubuntu1_ppc64el.deb ... 340s Unpacking libstdc++-15-dev:ppc64el (15.2.0-11ubuntu1) ... 340s Selecting previously unselected package g++-15-powerpc64le-linux-gnu. 340s Preparing to unpack .../27-g++-15-powerpc64le-linux-gnu_15.2.0-11ubuntu1_ppc64el.deb ... 340s Unpacking g++-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 340s Selecting previously unselected package g++-15. 340s Preparing to unpack .../28-g++-15_15.2.0-11ubuntu1_ppc64el.deb ... 340s Unpacking g++-15 (15.2.0-11ubuntu1) ... 340s Selecting previously unselected package g++-powerpc64le-linux-gnu. 340s Preparing to unpack .../29-g++-powerpc64le-linux-gnu_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 340s Unpacking g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 340s Selecting previously unselected package g++. 340s Preparing to unpack .../30-g++_4%3a15.2.0-4ubuntu1_ppc64el.deb ... 340s Unpacking g++ (4:15.2.0-4ubuntu1) ... 340s Selecting previously unselected package build-essential. 340s Preparing to unpack .../31-build-essential_12.12ubuntu2_ppc64el.deb ... 340s Unpacking build-essential (12.12ubuntu2) ... 340s Selecting previously unselected package libdebhelper-perl. 340s Preparing to unpack .../32-libdebhelper-perl_13.28ubuntu1_all.deb ... 340s Unpacking libdebhelper-perl (13.28ubuntu1) ... 340s Selecting previously unselected package libtool. 340s Preparing to unpack .../33-libtool_2.5.4-9_all.deb ... 340s Unpacking libtool (2.5.4-9) ... 340s Selecting previously unselected package dh-autoreconf. 340s Preparing to unpack .../34-dh-autoreconf_21_all.deb ... 340s Unpacking dh-autoreconf (21) ... 340s Selecting previously unselected package libarchive-zip-perl. 340s Preparing to unpack .../35-libarchive-zip-perl_1.68-1_all.deb ... 340s Unpacking libarchive-zip-perl (1.68-1) ... 340s Selecting previously unselected package libfile-stripnondeterminism-perl. 340s Preparing to unpack .../36-libfile-stripnondeterminism-perl_1.15.0-1build1_all.deb ... 340s Unpacking libfile-stripnondeterminism-perl (1.15.0-1build1) ... 340s Selecting previously unselected package dh-strip-nondeterminism. 340s Preparing to unpack .../37-dh-strip-nondeterminism_1.15.0-1build1_all.deb ... 340s Unpacking dh-strip-nondeterminism (1.15.0-1build1) ... 340s Selecting previously unselected package debugedit. 340s Preparing to unpack .../38-debugedit_1%3a5.2-3_ppc64el.deb ... 340s Unpacking debugedit (1:5.2-3) ... 340s Selecting previously unselected package dwz. 340s Preparing to unpack .../39-dwz_0.16-2_ppc64el.deb ... 340s Unpacking dwz (0.16-2) ... 340s Selecting previously unselected package gettext. 340s Preparing to unpack .../40-gettext_0.23.2-1_ppc64el.deb ... 340s Unpacking gettext (0.23.2-1) ... 340s Selecting previously unselected package intltool-debian. 340s Preparing to unpack .../41-intltool-debian_0.35.0+20060710.6build1_all.deb ... 340s Unpacking intltool-debian (0.35.0+20060710.6build1) ... 341s Selecting previously unselected package po-debconf. 341s Preparing to unpack .../42-po-debconf_1.0.22_all.deb ... 341s Unpacking po-debconf (1.0.22) ... 341s Selecting previously unselected package debhelper. 341s Preparing to unpack .../43-debhelper_13.28ubuntu1_all.deb ... 341s Unpacking debhelper (13.28ubuntu1) ... 341s Selecting previously unselected package dh-python. 341s Preparing to unpack .../44-dh-python_7.20251231_all.deb ... 341s Unpacking dh-python (7.20251231) ... 341s Selecting previously unselected package sgml-base. 341s Preparing to unpack .../45-sgml-base_1.31+nmu1_all.deb ... 341s Unpacking sgml-base (1.31+nmu1) ... 341s Selecting previously unselected package xml-core. 341s Preparing to unpack .../46-xml-core_0.19build1_all.deb ... 341s Unpacking xml-core (0.19build1) ... 341s Selecting previously unselected package docutils-common. 341s Preparing to unpack .../47-docutils-common_0.22.4+dfsg-1_all.deb ... 341s Unpacking docutils-common (0.22.4+dfsg-1) ... 341s Selecting previously unselected package libjson-perl. 341s Preparing to unpack .../48-libjson-perl_4.10000-1_all.deb ... 341s Unpacking libjson-perl (4.10000-1) ... 341s Selecting previously unselected package libnorm1t64:ppc64el. 341s Preparing to unpack .../49-libnorm1t64_1.5.9+dfsg-4_ppc64el.deb ... 341s Unpacking libnorm1t64:ppc64el (1.5.9+dfsg-4) ... 341s Selecting previously unselected package libpgm-5.3-0t64:ppc64el. 341s Preparing to unpack .../50-libpgm-5.3-0t64_5.3.128~dfsg-2.1build2_ppc64el.deb ... 341s Unpacking libpgm-5.3-0t64:ppc64el (5.3.128~dfsg-2.1build2) ... 341s Selecting previously unselected package libsodium23:ppc64el. 341s Preparing to unpack .../51-libsodium23_1.0.18-2_ppc64el.deb ... 341s Unpacking libsodium23:ppc64el (1.0.18-2) ... 341s Selecting previously unselected package libzmq5:ppc64el. 341s Preparing to unpack .../52-libzmq5_4.3.5-1build3_ppc64el.deb ... 341s Unpacking libzmq5:ppc64el (4.3.5-1build3) ... 341s Selecting previously unselected package python3-pyproject-hooks. 341s Preparing to unpack .../53-python3-pyproject-hooks_1.2.0-1_all.deb ... 341s Unpacking python3-pyproject-hooks (1.2.0-1) ... 341s Selecting previously unselected package python3-wheel. 341s Preparing to unpack .../54-python3-wheel_0.46.1-2_all.deb ... 341s Unpacking python3-wheel (0.46.1-2) ... 341s Selecting previously unselected package python3-build. 341s Preparing to unpack .../55-python3-build_1.2.2-5_all.deb ... 341s Unpacking python3-build (1.2.2-5) ... 341s Selecting previously unselected package python3-installer. 341s Preparing to unpack .../56-python3-installer_0.7.0+dfsg1-3_all.deb ... 341s Unpacking python3-installer (0.7.0+dfsg1-3) ... 341s Selecting previously unselected package pybuild-plugin-pyproject. 341s Preparing to unpack .../57-pybuild-plugin-pyproject_7.20251231_all.deb ... 341s Unpacking pybuild-plugin-pyproject (7.20251231) ... 341s Selecting previously unselected package python-eventlet-doc. 341s Preparing to unpack .../58-python-eventlet-doc_0.39.0-0ubuntu2_all.deb ... 341s Unpacking python-eventlet-doc (0.39.0-0ubuntu2) ... 341s Selecting previously unselected package python3-all. 341s Preparing to unpack .../59-python3-all_3.14.2-1_ppc64el.deb ... 341s Unpacking python3-all (3.14.2-1) ... 341s Selecting previously unselected package python3-defusedxml. 341s Preparing to unpack .../60-python3-defusedxml_0.7.1-3build1_all.deb ... 341s Unpacking python3-defusedxml (0.7.1-3build1) ... 341s Selecting previously unselected package python3-roman-numerals. 341s Preparing to unpack .../61-python3-roman-numerals_4.1.0-1_all.deb ... 341s Unpacking python3-roman-numerals (4.1.0-1) ... 341s Selecting previously unselected package python3-docutils. 341s Preparing to unpack .../62-python3-docutils_0.22.4+dfsg-1_all.deb ... 341s Unpacking python3-docutils (0.22.4+dfsg-1) ... 341s Selecting previously unselected package python3-execnet. 341s Preparing to unpack .../63-python3-execnet_2.1.1-1build1_all.deb ... 341s Unpacking python3-execnet (2.1.1-1build1) ... 341s Selecting previously unselected package python3-pathspec. 341s Preparing to unpack .../64-python3-pathspec_0.12.1-1build1_all.deb ... 341s Unpacking python3-pathspec (0.12.1-1build1) ... 341s Selecting previously unselected package python3-pluggy. 341s Preparing to unpack .../65-python3-pluggy_1.6.0-2_all.deb ... 341s Unpacking python3-pluggy (1.6.0-2) ... 341s Selecting previously unselected package python3-trove-classifiers. 341s Preparing to unpack .../66-python3-trove-classifiers_2025.11.14.15-1_all.deb ... 341s Unpacking python3-trove-classifiers (2025.11.14.15-1) ... 341s Selecting previously unselected package python3-hatchling. 341s Preparing to unpack .../67-python3-hatchling_1.28.0-1_all.deb ... 341s Unpacking python3-hatchling (1.28.0-1) ... 341s Selecting previously unselected package python3-imagesize. 341s Preparing to unpack .../68-python3-imagesize_1.4.1-1build1_all.deb ... 341s Unpacking python3-imagesize (1.4.1-1build1) ... 341s Selecting previously unselected package python3-iniconfig. 341s Preparing to unpack .../69-python3-iniconfig_2.1.0-2_all.deb ... 341s Unpacking python3-iniconfig (2.1.0-2) ... 341s Selecting previously unselected package python3-monotonic. 341s Preparing to unpack .../70-python3-monotonic_1.6-3build1_all.deb ... 341s Unpacking python3-monotonic (1.6-3build1) ... 341s Selecting previously unselected package python3-pbr. 341s Preparing to unpack .../71-python3-pbr_6.1.1-0ubuntu2_all.deb ... 341s Unpacking python3-pbr (6.1.1-0ubuntu2) ... 341s Selecting previously unselected package python3-pip. 341s Preparing to unpack .../72-python3-pip_25.1.1+dfsg-1ubuntu2_all.deb ... 341s Unpacking python3-pip (25.1.1+dfsg-1ubuntu2) ... 341s Selecting previously unselected package python3-pytest. 341s Preparing to unpack .../73-python3-pytest_9.0.2-2_all.deb ... 341s Unpacking python3-pytest (9.0.2-2) ... 341s Selecting previously unselected package python3-pytest-xdist. 341s Preparing to unpack .../74-python3-pytest-xdist_3.8.0-4_all.deb ... 341s Unpacking python3-pytest-xdist (3.8.0-4) ... 341s Selecting previously unselected package python3-setuptools-scm. 341s Preparing to unpack .../75-python3-setuptools-scm_8.2.1-4_all.deb ... 341s Unpacking python3-setuptools-scm (8.2.1-4) ... 341s Selecting previously unselected package python3-snowballstemmer. 342s Preparing to unpack .../76-python3-snowballstemmer_3.0.1-1_all.deb ... 342s Unpacking python3-snowballstemmer (3.0.1-1) ... 342s Selecting previously unselected package sphinx-common. 342s Preparing to unpack .../77-sphinx-common_8.2.3-12_all.deb ... 342s Unpacking sphinx-common (8.2.3-12) ... 342s Selecting previously unselected package python3-alabaster. 342s Preparing to unpack .../78-python3-alabaster_0.7.16-0.1build1_all.deb ... 342s Unpacking python3-alabaster (0.7.16-0.1build1) ... 342s Selecting previously unselected package python3-sphinx. 342s Preparing to unpack .../79-python3-sphinx_8.2.3-12_all.deb ... 342s Unpacking python3-sphinx (8.2.3-12) ... 342s Selecting previously unselected package python3-sphinxcontrib.apidoc. 342s Preparing to unpack .../80-python3-sphinxcontrib.apidoc_0.3.0-2ubuntu1_all.deb ... 342s Unpacking python3-sphinxcontrib.apidoc (0.3.0-2ubuntu1) ... 342s Selecting previously unselected package python3-zmq. 342s Preparing to unpack .../81-python3-zmq_27.1.0-1_ppc64el.deb ... 342s Unpacking python3-zmq (27.1.0-1) ... 342s Selecting previously unselected package openstack-pkg-tools. 342s Preparing to unpack .../82-openstack-pkg-tools_140_all.deb ... 342s Unpacking openstack-pkg-tools (140) ... 342s Setting up dh-python (7.20251231) ... 342s Setting up python3-iniconfig (2.1.0-2) ... 342s Setting up libnorm1t64:ppc64el (1.5.9+dfsg-4) ... 342s Setting up libsodium23:ppc64el (1.0.18-2) ... 342s Setting up python3-defusedxml (0.7.1-3build1) ... 343s Setting up python3-pbr (6.1.1-0ubuntu2) ... 343s Setting up libarchive-zip-perl (1.68-1) ... 343s Setting up python3-alabaster (0.7.16-0.1build1) ... 343s Setting up libdebhelper-perl (13.28ubuntu1) ... 343s Setting up m4 (1.4.20-2) ... 343s Setting up python-eventlet-doc (0.39.0-0ubuntu2) ... 343s Setting up libgomp1:ppc64el (15.2.0-11ubuntu1) ... 343s Setting up python3-wheel (0.46.1-2) ... 343s Setting up python3-setuptools-scm (8.2.1-4) ... 343s Setting up python3-monotonic (1.6-3build1) ... 344s Setting up libpgm-5.3-0t64:ppc64el (5.3.128~dfsg-2.1build2) ... 344s Setting up autotools-dev (20240727.1) ... 344s Setting up python3-pyproject-hooks (1.2.0-1) ... 344s Setting up python3-snowballstemmer (3.0.1-1) ... 344s Setting up libquadmath0:ppc64el (15.2.0-11ubuntu1) ... 344s Setting up libmpc3:ppc64el (1.3.1-2) ... 344s Setting up autopoint (0.23.2-1) ... 344s Setting up python3-pip (25.1.1+dfsg-1ubuntu2) ... 346s Setting up python3-installer (0.7.0+dfsg1-3) ... 346s Setting up autoconf (2.72-3.1ubuntu1) ... 346s Setting up python3-pluggy (1.6.0-2) ... 346s Setting up libubsan1:ppc64el (15.2.0-11ubuntu1) ... 346s Setting up dwz (0.16-2) ... 346s Setting up python3-trove-classifiers (2025.11.14.15-1) ... 347s Setting up libasan8:ppc64el (15.2.0-11ubuntu1) ... 347s Setting up libjson-perl (4.10000-1) ... 347s Setting up debugedit (1:5.2-3) ... 347s Setting up python3-roman-numerals (4.1.0-1) ... 347s Setting up python3.13-minimal (3.13.11-1) ... 348s Setting up sgml-base (1.31+nmu1) ... 348s Setting up libtsan2:ppc64el (15.2.0-11ubuntu1) ... 348s Setting up libisl23:ppc64el (0.27-1build1) ... 348s Setting up python3-build (1.2.2-5) ... 348s Setting up python3-execnet (2.1.1-1build1) ... 348s Setting up python3-pathspec (0.12.1-1build1) ... 349s Setting up libcc1-0:ppc64el (15.2.0-11ubuntu1) ... 349s Setting up liblsan0:ppc64el (15.2.0-11ubuntu1) ... 349s Setting up libitm1:ppc64el (15.2.0-11ubuntu1) ... 349s Setting up python3-imagesize (1.4.1-1build1) ... 349s Setting up automake (1:1.18.1-3build1) ... 349s update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode 349s Setting up libfile-stripnondeterminism-perl (1.15.0-1build1) ... 349s Setting up gettext (0.23.2-1) ... 349s Setting up libgcc-15-dev:ppc64el (15.2.0-11ubuntu1) ... 349s Setting up libzmq5:ppc64el (4.3.5-1build3) ... 349s Setting up python3.13 (3.13.11-1) ... 350s Setting up pybuild-plugin-pyproject (7.20251231) ... 350s Setting up python3-pytest (9.0.2-2) ... 351s Setting up python3-all (3.14.2-1) ... 351s Setting up intltool-debian (0.35.0+20060710.6build1) ... 351s Setting up cpp-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 351s Setting up libstdc++-15-dev:ppc64el (15.2.0-11ubuntu1) ... 351s Setting up python3-zmq (27.1.0-1) ... 351s Setting up sphinx-common (8.2.3-12) ... 351s Setting up dh-strip-nondeterminism (1.15.0-1build1) ... 351s Setting up cpp-15 (15.2.0-11ubuntu1) ... 351s Setting up xml-core (0.19build1) ... 351s Setting up python3-hatchling (1.28.0-1) ... 352s Setting up cpp-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 352s Setting up python3-pytest-xdist (3.8.0-4) ... 352s Setting up gcc-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 352s Setting up po-debconf (1.0.22) ... 352s Setting up openstack-pkg-tools (140) ... 352s Setting up gcc-15 (15.2.0-11ubuntu1) ... 352s Setting up gcc-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 352s Setting up cpp (4:15.2.0-4ubuntu1) ... 352s Setting up g++-15-powerpc64le-linux-gnu (15.2.0-11ubuntu1) ... 352s Setting up libtool (2.5.4-9) ... 352s Setting up gcc (4:15.2.0-4ubuntu1) ... 352s Setting up dh-autoreconf (21) ... 352s Setting up g++-15 (15.2.0-11ubuntu1) ... 352s Setting up g++-powerpc64le-linux-gnu (4:15.2.0-4ubuntu1) ... 352s Setting up debhelper (13.28ubuntu1) ... 352s Setting up g++ (4:15.2.0-4ubuntu1) ... 352s update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode 352s Setting up build-essential (12.12ubuntu2) ... 352s Processing triggers for install-info (7.2-5) ... 352s Processing triggers for libc-bin (2.42-2ubuntu4) ... 352s Processing triggers for systemd (259-1ubuntu2) ... 352s Processing triggers for man-db (2.13.1-1) ... 356s Processing triggers for sgml-base (1.31+nmu1) ... 356s Setting up docutils-common (0.22.4+dfsg-1) ... 357s Processing triggers for sgml-base (1.31+nmu1) ... 357s Setting up python3-docutils (0.22.4+dfsg-1) ... 357s Setting up python3-sphinx (8.2.3-12) ... 359s Setting up python3-sphinxcontrib.apidoc (0.3.0-2ubuntu1) ... 360s autopkgtest [20:52:48]: test unittests: [----------------------- 361s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 361s !! 361s 361s ******************************************************************************** 361s 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). 361s 361s By 2026-Feb-18, you need to update your project and remove deprecated calls 361s or your builds will no longer be supported. 361s 361s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 361s ******************************************************************************** 361s 361s !! 361s corresp(dist, value, root_dir) 361s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 361s !! 361s 361s ******************************************************************************** 361s Please consider removing the following classifiers in favor of a SPDX license expression: 361s 361s License :: OSI Approved :: MIT License 361s 361s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 361s ******************************************************************************** 361s 361s !! 361s dist._finalize_license_expression() 361s /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 361s !! 361s 361s ******************************************************************************** 361s Please consider removing the following classifiers in favor of a SPDX license expression: 361s 361s License :: OSI Approved :: MIT License 361s 361s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 361s ******************************************************************************** 361s 361s !! 361s self._finalize_license_expression() 361s running install 361s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. 361s !! 361s 361s ******************************************************************************** 361s Please avoid running ``setup.py`` directly. 361s Instead, use pypa/build, pypa/installer or other 361s standards-based tools. 361s 361s See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 361s ******************************************************************************** 361s 361s !! 361s self.initialize_options() 361s running build 361s running build_py 361s creating build/lib/eventlet 361s copying eventlet/debug.py -> build/lib/eventlet 361s copying eventlet/dagpool.py -> build/lib/eventlet 361s copying eventlet/semaphore.py -> build/lib/eventlet 361s copying eventlet/queue.py -> build/lib/eventlet 361s copying eventlet/pools.py -> build/lib/eventlet 361s copying eventlet/_version.py -> build/lib/eventlet 361s copying eventlet/asyncio.py -> build/lib/eventlet 361s copying eventlet/corolocal.py -> build/lib/eventlet 361s copying eventlet/websocket.py -> build/lib/eventlet 361s copying eventlet/convenience.py -> build/lib/eventlet 361s copying eventlet/tpool.py -> build/lib/eventlet 361s copying eventlet/__init__.py -> build/lib/eventlet 361s copying eventlet/greenpool.py -> build/lib/eventlet 361s copying eventlet/coros.py -> build/lib/eventlet 361s copying eventlet/greenthread.py -> build/lib/eventlet 361s copying eventlet/lock.py -> build/lib/eventlet 361s copying eventlet/wsgi.py -> build/lib/eventlet 361s copying eventlet/db_pool.py -> build/lib/eventlet 361s copying eventlet/backdoor.py -> build/lib/eventlet 361s copying eventlet/event.py -> build/lib/eventlet 361s copying eventlet/patcher.py -> build/lib/eventlet 361s copying eventlet/timeout.py -> build/lib/eventlet 361s running egg_info 361s creating eventlet.egg-info 361s writing eventlet.egg-info/PKG-INFO 361s writing dependency_links to eventlet.egg-info/dependency_links.txt 361s writing requirements to eventlet.egg-info/requires.txt 361s writing top-level names to eventlet.egg-info/top_level.txt 361s writing manifest file 'eventlet.egg-info/SOURCES.txt' 361s reading manifest file 'eventlet.egg-info/SOURCES.txt' 361s reading manifest template 'MANIFEST.in' 361s warning: no files found matching 'Makefile' under directory 'doc' 361s adding license file 'LICENSE' 361s adding license file 'AUTHORS' 361s writing manifest file 'eventlet.egg-info/SOURCES.txt' 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.green' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.green' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.green' to be distributed and are 361s already explicitly excluding 'eventlet.green' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.OpenSSL' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.green.OpenSSL' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.green.OpenSSL' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.green.OpenSSL' to be distributed and are 361s already explicitly excluding 'eventlet.green.OpenSSL' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.http' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.green.http' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.green.http' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.green.http' to be distributed and are 361s already explicitly excluding 'eventlet.green.http' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.urllib' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.green.urllib' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.green.urllib' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.green.urllib' to be distributed and are 361s already explicitly excluding 'eventlet.green.urllib' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.greenio' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.greenio' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.greenio' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.greenio' to be distributed and are 361s already explicitly excluding 'eventlet.greenio' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.hubs' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.hubs' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.hubs' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.hubs' to be distributed and are 361s already explicitly excluding 'eventlet.hubs' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.support' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.support' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.support' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.support' to be distributed and are 361s already explicitly excluding 'eventlet.support' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.zipkin' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.zipkin' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.zipkin' to be distributed and are 361s already explicitly excluding 'eventlet.zipkin' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.zipkin._thrift' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.zipkin._thrift' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.zipkin._thrift' to be distributed and are 361s already explicitly excluding 'eventlet.zipkin._thrift' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift.zipkinCore' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.zipkin._thrift.zipkinCore' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.zipkin._thrift.zipkinCore' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.zipkin._thrift.zipkinCore' to be distributed and are 361s already explicitly excluding 'eventlet.zipkin._thrift.zipkinCore' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin.example' is absent from the `packages` configuration. 361s !! 361s 361s ******************************************************************************** 361s ############################ 361s # Package would be ignored # 361s ############################ 361s Python recognizes 'eventlet.zipkin.example' as an importable package[^1], 361s but it is absent from setuptools' `packages` configuration. 361s 361s This leads to an ambiguous overall configuration. If you want to distribute this 361s package, please make sure that 'eventlet.zipkin.example' is explicitly added 361s to the `packages` configuration field. 361s 361s Alternatively, you can also rely on setuptools' discovery methods 361s (for example by using `find_namespace_packages(...)`/`find_namespace:` 361s instead of `find_packages(...)`/`find:`). 361s 361s You can read more about "package discovery" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 361s 361s If you don't want 'eventlet.zipkin.example' to be distributed and are 361s already explicitly excluding 'eventlet.zipkin.example' via 361s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 361s you can try to use `exclude_package_data`, or `include-package-data=False` in 361s combination with a more fine grained `package-data` configuration. 361s 361s You can read more about "package data files" on setuptools documentation page: 361s 361s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 361s 361s 361s [^1]: For Python, any directory (with suitable naming) can be imported, 361s even if it does not contain any `.py` files. 361s On the other hand, currently there is no concept of package data 361s directory, all directories are treated like packages. 361s ******************************************************************************** 361s 361s !! 361s check.warn(importable) 361s creating build/lib/eventlet/green 361s copying eventlet/green/BaseHTTPServer.py -> build/lib/eventlet/green 361s copying eventlet/green/CGIHTTPServer.py -> build/lib/eventlet/green 361s copying eventlet/green/MySQLdb.py -> build/lib/eventlet/green 361s copying eventlet/green/Queue.py -> build/lib/eventlet/green 361s copying eventlet/green/SimpleHTTPServer.py -> build/lib/eventlet/green 361s copying eventlet/green/SocketServer.py -> build/lib/eventlet/green 361s copying eventlet/green/__init__.py -> build/lib/eventlet/green 361s copying eventlet/green/_socket_nodns.py -> build/lib/eventlet/green 361s copying eventlet/green/asynchat.py -> build/lib/eventlet/green 361s copying eventlet/green/asyncore.py -> build/lib/eventlet/green 361s copying eventlet/green/builtin.py -> build/lib/eventlet/green 361s copying eventlet/green/ftplib.py -> build/lib/eventlet/green 361s copying eventlet/green/httplib.py -> build/lib/eventlet/green 361s copying eventlet/green/os.py -> build/lib/eventlet/green 361s copying eventlet/green/profile.py -> build/lib/eventlet/green 361s copying eventlet/green/select.py -> build/lib/eventlet/green 361s copying eventlet/green/selectors.py -> build/lib/eventlet/green 361s copying eventlet/green/socket.py -> build/lib/eventlet/green 361s copying eventlet/green/ssl.py -> build/lib/eventlet/green 361s copying eventlet/green/subprocess.py -> build/lib/eventlet/green 361s copying eventlet/green/thread.py -> build/lib/eventlet/green 361s copying eventlet/green/threading.py -> build/lib/eventlet/green 361s copying eventlet/green/time.py -> build/lib/eventlet/green 361s copying eventlet/green/urllib2.py -> build/lib/eventlet/green 361s copying eventlet/green/zmq.py -> build/lib/eventlet/green 361s creating build/lib/eventlet/green/OpenSSL 361s copying eventlet/green/OpenSSL/SSL.py -> build/lib/eventlet/green/OpenSSL 361s copying eventlet/green/OpenSSL/__init__.py -> build/lib/eventlet/green/OpenSSL 361s copying eventlet/green/OpenSSL/crypto.py -> build/lib/eventlet/green/OpenSSL 361s copying eventlet/green/OpenSSL/tsafe.py -> build/lib/eventlet/green/OpenSSL 361s copying eventlet/green/OpenSSL/version.py -> build/lib/eventlet/green/OpenSSL 361s creating build/lib/eventlet/green/http 361s copying eventlet/green/http/__init__.py -> build/lib/eventlet/green/http 361s copying eventlet/green/http/client.py -> build/lib/eventlet/green/http 361s copying eventlet/green/http/cookiejar.py -> build/lib/eventlet/green/http 361s copying eventlet/green/http/cookies.py -> build/lib/eventlet/green/http 361s copying eventlet/green/http/server.py -> build/lib/eventlet/green/http 361s creating build/lib/eventlet/green/urllib 361s copying eventlet/green/urllib/__init__.py -> build/lib/eventlet/green/urllib 361s copying eventlet/green/urllib/error.py -> build/lib/eventlet/green/urllib 361s copying eventlet/green/urllib/parse.py -> build/lib/eventlet/green/urllib 361s copying eventlet/green/urllib/request.py -> build/lib/eventlet/green/urllib 361s copying eventlet/green/urllib/response.py -> build/lib/eventlet/green/urllib 361s creating build/lib/eventlet/greenio 361s copying eventlet/greenio/__init__.py -> build/lib/eventlet/greenio 361s copying eventlet/greenio/base.py -> build/lib/eventlet/greenio 361s copying eventlet/greenio/py3.py -> build/lib/eventlet/greenio 361s creating build/lib/eventlet/hubs 361s copying eventlet/hubs/__init__.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/asyncio.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/epolls.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/hub.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/kqueue.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/poll.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/pyevent.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/selects.py -> build/lib/eventlet/hubs 361s copying eventlet/hubs/timer.py -> build/lib/eventlet/hubs 361s creating build/lib/eventlet/support 361s copying eventlet/support/__init__.py -> build/lib/eventlet/support 361s copying eventlet/support/greendns.py -> build/lib/eventlet/support 361s copying eventlet/support/greenlets.py -> build/lib/eventlet/support 361s copying eventlet/support/psycopg2_patcher.py -> build/lib/eventlet/support 361s copying eventlet/support/pylib.py -> build/lib/eventlet/support 361s copying eventlet/support/stacklesspypys.py -> build/lib/eventlet/support 361s copying eventlet/support/stacklesss.py -> build/lib/eventlet/support 361s creating build/lib/eventlet/zipkin 361s copying eventlet/zipkin/README.rst -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/__init__.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/api.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/client.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/greenthread.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/http.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/log.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/patcher.py -> build/lib/eventlet/zipkin 361s copying eventlet/zipkin/wsgi.py -> build/lib/eventlet/zipkin 361s creating build/lib/eventlet/zipkin/_thrift 361s copying eventlet/zipkin/_thrift/README.rst -> build/lib/eventlet/zipkin/_thrift 361s copying eventlet/zipkin/_thrift/__init__.py -> build/lib/eventlet/zipkin/_thrift 361s copying eventlet/zipkin/_thrift/zipkinCore.thrift -> build/lib/eventlet/zipkin/_thrift 361s creating build/lib/eventlet/zipkin/_thrift/zipkinCore 361s copying eventlet/zipkin/_thrift/zipkinCore/__init__.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 361s copying eventlet/zipkin/_thrift/zipkinCore/constants.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 361s copying eventlet/zipkin/_thrift/zipkinCore/ttypes.py -> build/lib/eventlet/zipkin/_thrift/zipkinCore 361s creating build/lib/eventlet/zipkin/example 361s copying eventlet/zipkin/example/ex1.png -> build/lib/eventlet/zipkin/example 361s copying eventlet/zipkin/example/ex2.png -> build/lib/eventlet/zipkin/example 361s copying eventlet/zipkin/example/ex3.png -> build/lib/eventlet/zipkin/example 361s running install_lib 361s creating /debian/tmp/usr/lib/python3/dist-packages 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/thread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/asynchat.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/ftplib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/ssl.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/time.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/zmq.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/profile.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/threading.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/selectors.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/http/client.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/http/server.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/http/cookies.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/http/cookiejar.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/http/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http 361s copying build/lib/eventlet/green/MySQLdb.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/asyncore.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/_socket_nodns.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/os.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/BaseHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/urllib2.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/urllib/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/urllib/request.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/urllib/response.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/urllib/parse.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/urllib/error.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib 361s copying build/lib/eventlet/green/socket.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/builtin.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/select.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/httplib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/OpenSSL/tsafe.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/OpenSSL/version.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/OpenSSL/crypto.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/OpenSSL/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/OpenSSL/SSL.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL 361s copying build/lib/eventlet/green/CGIHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/SocketServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/subprocess.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/Queue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/green/SimpleHTTPServer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green 361s copying build/lib/eventlet/debug.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/dagpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/semaphore.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/stacklesspypys.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/psycopg2_patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/greendns.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/greenlets.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/pylib.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/stacklesss.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/support/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support 361s copying build/lib/eventlet/queue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/pools.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/_version.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/asyncio.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/corolocal.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/websocket.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/convenience.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/http.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/client.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 361s copying build/lib/eventlet/zipkin/example/ex3.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 361s copying build/lib/eventlet/zipkin/example/ex2.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 361s copying build/lib/eventlet/zipkin/example/ex1.png -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/example 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 361s copying build/lib/eventlet/zipkin/_thrift/README.rst -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 361s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/ttypes.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 361s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/constants.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 361s copying build/lib/eventlet/zipkin/_thrift/zipkinCore/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore 361s copying build/lib/eventlet/zipkin/_thrift/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 361s copying build/lib/eventlet/zipkin/_thrift/zipkinCore.thrift -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift 361s copying build/lib/eventlet/zipkin/README.rst -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/api.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/greenthread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/log.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/wsgi.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s copying build/lib/eventlet/zipkin/patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/pyevent.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/poll.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/asyncio.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/selects.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/hub.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/kqueue.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/timer.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/hubs/epolls.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs 361s copying build/lib/eventlet/tpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s creating /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 361s copying build/lib/eventlet/greenio/base.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 361s copying build/lib/eventlet/greenio/py3.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 361s copying build/lib/eventlet/greenio/__init__.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio 361s copying build/lib/eventlet/greenpool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/coros.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/greenthread.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/lock.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/wsgi.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/db_pool.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/backdoor.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/event.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/patcher.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s copying build/lib/eventlet/timeout.py -> /debian/tmp/usr/lib/python3/dist-packages/eventlet 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/thread.py to thread.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asynchat.py to asynchat.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ftplib.py to ftplib.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ssl.py to ssl.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/time.py to time.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/zmq.py to zmq.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/profile.py to profile.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/threading.py to threading.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/selectors.py to selectors.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/client.py to client.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/server.py to server.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookies.py to cookies.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookiejar.py to cookiejar.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/MySQLdb.py to MySQLdb.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asyncore.py to asyncore.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/_socket_nodns.py to _socket_nodns.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/os.py to os.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/BaseHTTPServer.py to BaseHTTPServer.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib2.py to urllib2.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/request.py to request.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/response.py to response.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/parse.py to parse.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/error.py to error.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/socket.py to socket.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/builtin.py to builtin.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/select.py to select.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/httplib.py to httplib.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/tsafe.py to tsafe.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/version.py to version.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/crypto.py to crypto.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/SSL.py to SSL.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/CGIHTTPServer.py to CGIHTTPServer.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SocketServer.py to SocketServer.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/subprocess.py to subprocess.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/Queue.py to Queue.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SimpleHTTPServer.py to SimpleHTTPServer.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/debug.py to debug.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/dagpool.py to dagpool.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/semaphore.py to semaphore.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesspypys.py to stacklesspypys.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/psycopg2_patcher.py to psycopg2_patcher.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greendns.py to greendns.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greenlets.py to greenlets.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/pylib.py to pylib.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesss.py to stacklesss.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/queue.py to queue.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/pools.py to pools.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/_version.py to _version.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/asyncio.py to asyncio.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/corolocal.py to corolocal.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/websocket.py to websocket.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/convenience.py to convenience.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/http.py to http.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/client.py to client.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/ttypes.py to ttypes.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/constants.py to constants.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/__init__.py to __init__.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/api.py to api.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/greenthread.py to greenthread.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/log.py to log.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/wsgi.py to wsgi.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/patcher.py to patcher.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/pyevent.py to pyevent.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/poll.py to poll.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/asyncio.py to asyncio.cpython-313.pyc 361s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/selects.py to selects.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/hub.py to hub.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/kqueue.py to kqueue.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__init__.py to __init__.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/timer.py to timer.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/epolls.py to epolls.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/tpool.py to tpool.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/__init__.py to __init__.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/base.py to base.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/py3.py to py3.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__init__.py to __init__.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenpool.py to greenpool.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/coros.py to coros.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenthread.py to greenthread.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/lock.py to lock.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/wsgi.py to wsgi.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/db_pool.py to db_pool.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/backdoor.py to backdoor.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/event.py to event.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/patcher.py to patcher.cpython-313.pyc 362s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/timeout.py to timeout.cpython-313.pyc 362s running install_egg_info 362s Copying eventlet.egg-info to /debian/tmp/usr/lib/python3/dist-packages/eventlet-0.0.0.egg-info 362s Skipping SOURCES.txt 362s running install_scripts 364s ============================= test session starts ============================== 364s platform linux -- Python 3.13.11, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.13 364s cachedir: .pytest_cache 364s rootdir: /tmp/autopkgtest.f44HyH/build.faM/src 364s configfile: pyproject.toml 364s plugins: typeguard-4.4.4, xdist-3.8.0 364s created: 2/2 workers 364s 2 workers [718 items] 364s 364s scheduling tests via LoadScheduling 364s 364s tests/api_test.py::TestApi::test_001_trampoline_timeout 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 364s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 364s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 364s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 364s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 364s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 364s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 364s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 364s tests/debug_test.py::TestSpew::test_line 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line 364s tests/debug_test.py::TestSpew::test_line_global 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_global 364s tests/debug_test.py::TestSpew::test_line_nofile 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nofile 364s tests/debug_test.py::TestSpew::test_line_nooutput 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nooutput 364s tests/debug_test.py::TestSpew::test_line_novalue 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_novalue 364s tests/debug_test.py::TestSpew::test_spew 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_spew 364s tests/debug_test.py::TestSpew::test_unspew 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_unspew 364s tests/debug_test.py::TestDebug::test_everything 364s [gw1] [ 5%] PASSED tests/debug_test.py::TestDebug::test_everything 364s tests/debug_test.py::TestDebug::test_hub_exceptions 364s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_001_trampoline_timeout 364s tests/api_test.py::TestApi::test_connect_ssl 364s [gw1] [ 6%] PASSED tests/debug_test.py::TestDebug::test_hub_exceptions 364s tests/env_test.py::test_hub_selects 364s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_ssl 364s tests/api_test.py::TestApi::test_connect_tcp 364s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_tcp 364s tests/api_test.py::TestApi::test_killing_dormant 364s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_killing_dormant 364s tests/api_test.py::TestApi::test_nested_with_timeout 364s [gw1] [ 6%] PASSED tests/env_test.py::test_hub_selects 364s tests/env_test.py::test_tpool_dns 364s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_nested_with_timeout 364s tests/api_test.py::TestApi::test_tcp_listener 364s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_tcp_listener 364s tests/api_test.py::TestApi::test_timeout_cancel 364s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_timeout_cancel 364s tests/api_test.py::test_wrap_is_timeout 364s [gw0] [ 7%] PASSED tests/api_test.py::test_wrap_is_timeout 364s tests/api_test.py::test_timeouterror_deprecated 364s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_dns 364s tests/env_test.py::test_tpool_size 364s [gw0] [ 7%] PASSED tests/api_test.py::test_timeouterror_deprecated 364s tests/api_test.py::test_zero_second_sleep 364s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_size 365s tests/env_test.py::test_tpool_negative 365s [gw0] [ 7%] PASSED tests/api_test.py::test_zero_second_sleep 365s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 365s [gw1] [ 8%] PASSED tests/env_test.py::test_tpool_negative 365s tests/env_test.py::test_tpool_zero 365s [gw0] [ 8%] PASSED tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 365s tests/backdoor_test.py::BackdoorTest::test_server 365s [gw1] [ 8%] PASSED tests/env_test.py::test_tpool_zero 365s tests/event_test.py::TestEvent::test_double_exception 365s [gw0] [ 8%] PASSED tests/backdoor_test.py::BackdoorTest::test_server 365s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_double_exception 365s tests/event_test.py::TestEvent::test_multiple_waiters 365s tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 365s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters 365s tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 365s [gw0] [ 8%] SKIPPED tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 365s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 365s [gw1] [ 9%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 365s tests/event_test.py::TestEvent::test_reset 365s [gw1] [ 9%] PASSED tests/event_test.py::TestEvent::test_reset 365s tests/event_test.py::TestEvent::test_waiting_for_event 365s [gw1] [ 9%] PASSED tests/event_test.py::TestEvent::test_waiting_for_event 365s tests/event_test.py::test_wait_timeout_ok 365s [gw0] [ 9%] PASSED tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 365s tests/convenience_test.py::TestServe::test_blocking 365s [gw0] [ 9%] PASSED tests/convenience_test.py::TestServe::test_blocking 365s tests/convenience_test.py::TestServe::test_called_for_each_connection 365s [gw1] [ 9%] PASSED tests/event_test.py::test_wait_timeout_ok 365s tests/event_test.py::test_wait_timeout_exceed 365s [gw0] [ 9%] PASSED tests/convenience_test.py::TestServe::test_called_for_each_connection 365s tests/convenience_test.py::TestServe::test_concurrency 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_concurrency 365s tests/convenience_test.py::TestServe::test_excepting_server 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_excepting_server 365s tests/convenience_test.py::TestServe::test_excepting_server_already_closed 365s [gw1] [ 10%] PASSED tests/event_test.py::test_wait_timeout_exceed 365s tests/green_http_test.py::test_green_http_doesnt_change_original_module 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_excepting_server_already_closed 365s tests/convenience_test.py::TestServe::test_exiting_server 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_exiting_server 365s tests/convenience_test.py::TestServe::test_raising_stopserve 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_raising_stopserve 365s tests/convenience_test.py::TestServe::test_wrap_ssl 365s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_wrap_ssl 365s tests/convenience_test.py::test_socket_reuse 365s [gw0] [ 11%] PASSED tests/convenience_test.py::test_socket_reuse 365s tests/convenience_test.py::test_reuse_random_port_warning 365s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuse_random_port_warning 365s tests/convenience_test.py::test_reuseport_oserror 365s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuseport_oserror 365s tests/dagpool_test.py::test_check_no_suspend 365s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_check_no_suspend 365s tests/dagpool_test.py::test_init 365s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_init 365s tests/dagpool_test.py::test_wait_each_empty 365s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_empty 365s tests/dagpool_test.py::test_wait_each_preload 365s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_preload 365s tests/dagpool_test.py::test_wait_each_posted 365s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_posted 365s tests/dagpool_test.py::test_wait_posted 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_posted 365s tests/dagpool_test.py::test_spawn_collision_preload 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_preload 365s tests/dagpool_test.py::test_spawn_collision_post 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_post 365s tests/dagpool_test.py::test_spawn_collision_spawn 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_spawn 365s tests/dagpool_test.py::test_spawn_multiple 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_multiple 365s tests/dagpool_test.py::test_spawn_many 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_many 365s tests/dagpool_test.py::test_wait_each_all 365s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_each_all 365s tests/dagpool_test.py::test_kill 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_kill 365s tests/dagpool_test.py::test_post_collision_preload 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_preload 365s tests/dagpool_test.py::test_post_collision_post 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_post 365s tests/dagpool_test.py::test_post_collision_spawn 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_spawn 365s tests/dagpool_test.py::test_post_replace 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_replace 365s tests/dagpool_test.py::test_getitem 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_getitem 365s tests/dagpool_test.py::test_waitall_exc 365s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_waitall_exc 365s tests/dagpool_test.py::test_propagate_exc 365s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_propagate_exc 365s tests/dagpool_test.py::test_wait_each_exc 365s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_wait_each_exc 365s tests/dagpool_test.py::test_post_get_exc 365s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_post_get_exc 365s tests/db_pool_test.py::test_raw_pool_issue_125 365s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_issue_125 365s tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 365s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 365s tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 365s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 365s tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 365s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 365s tests/db_pool_test.py::test_raw_pool_clear_update_current_size 365s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_clear_update_current_size 365s tests/db_pool_test.py::Test01MysqlTpool::test_bool 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_bool 365s tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 365s tests/db_pool_test.py::Test01MysqlTpool::test_connecting 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connecting 365s tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 365s tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 365s tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 365s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 365s tests/db_pool_test.py::Test01MysqlTpool::test_put_none 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_none 365s tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 365s tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 365s tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 365s tests/db_pool_test.py::Test01MysqlTpool::test_run_query 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_query 365s tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 365s tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 365s tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 365s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 365s tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 365s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 365s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 365s tests/db_pool_test.py::Test02MysqlRaw::test_bool 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_bool 365s tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 365s tests/db_pool_test.py::Test02MysqlRaw::test_connecting 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connecting 365s tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 365s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 365s tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 365s tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 365s tests/db_pool_test.py::Test02MysqlRaw::test_put_none 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_none 365s tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 365s tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 365s tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 365s tests/db_pool_test.py::Test02MysqlRaw::test_run_query 365s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_query 365s tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 365s tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 365s tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 365s tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 365s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 365s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 365s tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 365s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 365s tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 365s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 365s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 365s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 365s tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 365s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 365s tests/greenio_test.py::TestGreenSocket::test_full_duplex 365s [gw1] [ 20%] PASSED tests/green_http_test.py::test_green_http_doesnt_change_original_module 366s tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 366s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_full_duplex 366s tests/greenio_test.py::TestGreenSocket::test_invalid_connection 366s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_invalid_connection 366s tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 366s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 366s tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 366s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 366s tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 366s [gw1] [ 21%] PASSED tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 366s tests/green_http_test.py::test_http_request_encode_chunked_kwarg 366s [gw1] [ 21%] PASSED tests/green_http_test.py::test_http_request_encode_chunked_kwarg 366s tests/green_profile_test.py::test_green_profile_basic 366s [gw1] [ 21%] PASSED tests/green_profile_test.py::test_green_profile_basic 366s tests/green_select_test.py::test_select_mark_file_as_reopened 366s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 366s tests/greenio_test.py::TestGreenSocket::test_recv_timeout 366s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_timeout 366s tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 366s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 366s tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 366s [gw1] [ 22%] PASSED tests/green_select_test.py::test_select_mark_file_as_reopened 366s tests/greendns_test.py::TestHostsResolver::test_default_fname 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_default_fname 366s tests/greendns_test.py::TestHostsResolver::test_getaliases 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases 366s tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 366s tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 366s tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 366s tests/greendns_test.py::TestHostsResolver::test_load_no_contents 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_no_contents 366s tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 366s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 366s tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 366s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 366s tests/greendns_test.py::TestHostsResolver::test_query_A 366s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_A 366s [gw0] [ 23%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 366s tests/greendns_test.py::TestHostsResolver::test_query_AAAA 366s tests/greenio_test.py::TestGreenSocket::test_send_timeout 366s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_AAAA 366s tests/greendns_test.py::TestHostsResolver::test_query_CNAME 366s [gw0] [ 23%] PASSED tests/greenio_test.py::TestGreenSocket::test_send_timeout 366s tests/greenio_test.py::TestGreenSocket::test_sendall 366s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_CNAME 366s tests/greendns_test.py::TestHostsResolver::test_query_ans_types 366s [gw0] [ 23%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall 366s tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 366s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_ans_types 366s tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 366s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 366s tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 366s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 366s tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 366s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 366s tests/greendns_test.py::TestHostsResolver::test_readlines_lines 366s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_lines 367s tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 367s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 367s tests/greendns_test.py::TestUdp::test_udp_ipv4 367s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4 367s tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 367s tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 367s tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 367s tests/greenio_test.py::TestGreenSocket::test_socketpair_select 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_socketpair_select 367s tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 367s tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 367s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 367s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 367s tests/greenio_test.py::TestGreenSocket::test_wrap_socket 367s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 367s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_wrap_socket 367s tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 367s [gw1] [ 26%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 367s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 367s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 367s tests/greenio_test.py::test_get_fileno_of_a_socket_works 367s [gw0] [ 26%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_works 367s tests/greenio_test.py::test_get_fileno_of_an_int_works 367s [gw0] [ 26%] PASSED tests/greenio_test.py::test_get_fileno_of_an_int_works 367s tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 367s [gw0] [ 26%] PASSED tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 367s tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 367s [gw0] [ 26%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 367s [gw1] [ 27%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 367s tests/greendns_test.py::TestUdp::test_udp_ipv6 367s tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 367s [gw1] [ 27%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6 367s tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 367s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 367s tests/greenio_test.py::TestGreenPipe::test_pipe 367s [gw1] [ 27%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 367s tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 367s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe 367s tests/greenio_test.py::TestGreenPipe::test_pipe_read 367s [gw1] [ 27%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 367s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 367s [gw1] [ 27%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 367s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 367s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe_read 367s tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 367s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 367s tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 367s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 367s tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 367s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 367s tests/greenio_test.py::TestGreenPipe::test_truncate 367s [gw1] [ 28%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 367s tests/greendns_test.py::TestProxyResolver::test_getaliases 367s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenPipe::test_truncate 367s tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 367s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases 367s tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 367s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 367s tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 367s tests/greendns_test.py::TestProxyResolver::test_hosts 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts 367s tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 367s tests/greendns_test.py::TestProxyResolver::test_noanswer 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer 367s tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 367s tests/greendns_test.py::TestProxyResolver::test_nxdomain 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_nxdomain 367s tests/greendns_test.py::TestProxyResolver::test_resolver 367s [gw1] [ 29%] PASSED tests/greendns_test.py::TestProxyResolver::test_resolver 367s tests/greendns_test.py::TestResolve::test_A 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_A 367s tests/greendns_test.py::TestResolve::test_AAAA 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_AAAA 367s tests/greendns_test.py::TestResolve::test_exc 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_exc 367s tests/greendns_test.py::TestResolve::test_noraise_noanswer 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_noraise_noanswer 367s tests/greendns_test.py::TestResolve::test_noraise_nxdomain 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_noraise_nxdomain 367s tests/greendns_test.py::TestResolve::test_timeout 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_timeout 367s tests/greendns_test.py::TestResolve::test_unknown_rdtype 367s [gw1] [ 30%] PASSED tests/greendns_test.py::TestResolve::test_unknown_rdtype 367s tests/greendns_test.py::TestResolveCname::test_no_answer 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestResolveCname::test_no_answer 367s tests/greendns_test.py::TestResolveCname::test_nodata 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestResolveCname::test_nodata 367s tests/greendns_test.py::TestResolveCname::test_success 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestResolveCname::test_success 367s tests/greendns_test.py::TestResolveCname::test_timeout 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestResolveCname::test_timeout 367s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 367s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 367s tests/greendns_test.py::TestGetaddrinfo::test_canonname 367s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_canonname 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 367s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 367s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 367s tests/greendns_test.py::TestGetaddrinfo::test_host_none 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none 367s tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 367s tests/greendns_test.py::TestGetaddrinfo::test_noport 367s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_noport 367s tests/greendns_test.py::TestGetaddrinfo::test_numerichost 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numerichost 367s tests/greendns_test.py::TestGetaddrinfo::test_numericserv 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numericserv 367s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 367s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 367s tests/greendns_test.py::TestIsIpAddr::test_isv4 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4 367s tests/greendns_test.py::TestIsIpAddr::test_isv4_false 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_false 367s tests/greendns_test.py::TestIsIpAddr::test_isv4_none 367s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_none 367s tests/greendns_test.py::TestIsIpAddr::test_isv6 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6 367s tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 367s tests/greendns_test.py::TestIsIpAddr::test_isv6_none 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_none 367s tests/greendns_test.py::TestIsIpAddr::test_none 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_none 367s tests/greendns_test.py::TestIsIpAddr::test_v4 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4 367s tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 367s tests/greendns_test.py::TestIsIpAddr::test_v6_addr 367s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v6_addr 367s tests/greendns_test.py::TestGethostbyname::test_ipaddr 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname::test_ipaddr 367s tests/greendns_test.py::TestGethostbyname::test_name 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname::test_name 367s tests/greendns_test.py::TestGetaliases::test_getaliases 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGetaliases::test_getaliases 367s tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 367s tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 367s tests/greendns_test.py::TestGethostbyname_ex::test_name 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_name 367s tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 367s [gw1] [ 36%] PASSED tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 368s tests/greendns_test.py::test_reverse_name 368s [gw1] [ 37%] PASSED tests/greendns_test.py::test_reverse_name 368s tests/greendns_test.py::test_proxy_resolve_unqualified 368s [gw1] [ 37%] PASSED tests/greendns_test.py::test_proxy_resolve_unqualified 368s tests/greendns_test.py::test_hosts_priority 368s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_priority 368s tests/greendns_test.py::test_hosts_no_network 368s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_no_network 368s tests/greendns_test.py::test_import_rdtypes_then_eventlet 368s [gw1] [ 37%] PASSED tests/greendns_test.py::test_import_rdtypes_then_eventlet 368s tests/greenio_test.py::TestGreenSocket::test_accept_timeout 368s [gw1] [ 37%] PASSED tests/greenio_test.py::TestGreenSocket::test_accept_timeout 368s tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 368s [gw1] [ 37%] PASSED tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 368s tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 368s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 368s tests/greenio_test.py::TestGreenSocket::test_closure 368s [gw1] [ 38%] SKIPPED tests/greenio_test.py::TestGreenSocket::test_closure 368s tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 368s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 368s tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 368s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 368s tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 368s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 368s tests/hub_test.py::test_use_hub_class 368s [gw1] [ 38%] PASSED tests/hub_test.py::test_use_hub_class 369s tests/hub_test.py::test_kqueue_unsupported 369s [gw1] [ 38%] PASSED tests/hub_test.py::test_kqueue_unsupported 369s tests/mysqldb_test.py::TestMySQLdb::test_connecting 369s [gw1] [ 38%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting 369s tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 369s tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 369s tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 369s tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 369s tests/mysqldb_test.py::TestMySQLdb::test_run_query 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_query 369s tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 369s tests/mysqldb_test.py::TestMySQLdb::test_yields 369s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_yields 369s tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 369s [gw1] [ 40%] SKIPPED tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 369s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 369s [gw1] [ 40%] PASSED tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 369s tests/openssl_test.py::test_import 369s [gw1] [ 40%] PASSED tests/openssl_test.py::test_import 369s tests/os_test.py::test_pathlib_open_issue_534 369s [gw1] [ 40%] PASSED tests/os_test.py::test_pathlib_open_issue_534 369s tests/os_test.py::test_os_read_nonblocking 369s [gw1] [ 40%] PASSED tests/os_test.py::test_os_read_nonblocking 371s tests/os_test.py::test_os_write_nonblocking 371s [gw1] [ 40%] PASSED tests/os_test.py::test_os_write_nonblocking 371s tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 371s [gw1] [ 40%] SKIPPED tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 372s tests/patcher_test.py::ImportPatched::test_patch_a_module 372s [gw1] [ 41%] PASSED tests/patcher_test.py::ImportPatched::test_patch_a_module 372s tests/patcher_test.py::test_import_patched_handles_sub_modules 372s [gw1] [ 41%] PASSED tests/patcher_test.py::test_import_patched_handles_sub_modules 372s tests/patcher_test.py::MonkeyPatch::test_boolean 372s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean 372s tests/patcher_test.py::MonkeyPatch::test_boolean_all 372s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all 373s tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 373s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 373s tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 373s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 373s tests/patcher_test.py::MonkeyPatch::test_boolean_double 373s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_double 374s tests/patcher_test.py::MonkeyPatch::test_boolean_negative 374s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative 374s tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 374s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 374s tests/patcher_test.py::MonkeyPatch::test_boolean_single 374s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_single 374s tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 374s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 375s tests/patcher_test.py::MonkeyPatch::test_early_patching 375s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_early_patching 375s tests/patcher_test.py::MonkeyPatch::test_late_patching 375s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_late_patching 375s tests/patcher_test.py::MonkeyPatch::test_patched_modules 375s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_patched_modules 376s tests/patcher_test.py::MonkeyPatch::test_typeerror 376s [gw1] [ 43%] PASSED tests/patcher_test.py::MonkeyPatch::test_typeerror 376s tests/patcher_test.py::Tpool::test_patched_thread 376s [gw0] [ 43%] PASSED tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 376s tests/greenio_test.py::test_set_nonblocking 376s [gw0] [ 43%] PASSED tests/greenio_test.py::test_set_nonblocking 376s tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 376s [gw0] [ 43%] PASSED tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 376s tests/greenio_test.py::test_double_close_219 376s [gw0] [ 43%] PASSED tests/greenio_test.py::test_double_close_219 376s tests/greenio_test.py::test_partial_write_295 376s [gw0] [ 43%] PASSED tests/greenio_test.py::test_partial_write_295 376s tests/greenio_test.py::test_socket_file_read_non_int 376s [gw0] [ 43%] PASSED tests/greenio_test.py::test_socket_file_read_non_int 376s tests/greenio_test.py::test_pipe_context 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_pipe_context 376s tests/greenio_test.py::test_greenpipe_write 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_greenpipe_write 376s tests/greenio_test.py::test_greenpipe_append 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_greenpipe_append 376s tests/greenio_test.py::test_greenpipe_read_overwrite 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_greenpipe_read_overwrite 376s tests/greenio_test.py::test_greenpipe_write_plus 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_greenpipe_write_plus 376s tests/greenio_test.py::test_greenpipe_append_plus 376s [gw0] [ 44%] PASSED tests/greenio_test.py::test_greenpipe_append_plus 376s tests/greenpool_test.py::GreenPool::test_empty_imap 376s [gw0] [ 44%] PASSED tests/greenpool_test.py::GreenPool::test_empty_imap 376s tests/greenpool_test.py::GreenPool::test_exceptions 376s [gw0] [ 44%] PASSED tests/greenpool_test.py::GreenPool::test_exceptions 376s tests/greenpool_test.py::GreenPool::test_imap 376s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap 376s tests/greenpool_test.py::GreenPool::test_imap_multi_args 376s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_multi_args 376s tests/greenpool_test.py::GreenPool::test_imap_nonefunc 376s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_nonefunc 376s tests/greenpool_test.py::GreenPool::test_imap_raises 376s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_raises 376s tests/greenpool_test.py::GreenPool::test_multiple_coros 376s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_multiple_coros 377s tests/greenpool_test.py::GreenPool::test_pool_smash 377s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_pool_smash 377s tests/greenpool_test.py::GreenPool::test_recursive_waitall 377s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_recursive_waitall 377s tests/greenpool_test.py::GreenPool::test_reentrant 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_reentrant 377s tests/greenpool_test.py::GreenPool::test_resize 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_resize 377s tests/greenpool_test.py::GreenPool::test_spawn 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_spawn 377s tests/greenpool_test.py::GreenPool::test_spawn_n 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n 377s tests/greenpool_test.py::GreenPool::test_spawn_n_2 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n_2 377s tests/greenpool_test.py::GreenPool::test_starmap 377s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_starmap 377s tests/greenpool_test.py::GreenPool::test_timer_cancel 377s [gw1] [ 46%] PASSED tests/patcher_test.py::Tpool::test_patched_thread 377s tests/patcher_test.py::Tpool::test_simple 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_timer_cancel 377s tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 377s tests/greenpool_test.py::GreenPool::test_waiting 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_waiting 377s tests/greenpool_test.py::GreenPile::test_constructing_from_pool 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_constructing_from_pool 377s tests/greenpool_test.py::GreenPile::test_empty_pile 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_empty_pile 377s tests/greenpool_test.py::GreenPile::test_pile 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_pile 377s tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 377s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 377s tests/greenpool_test.py::test_greenpool_type_check 377s [gw0] [ 48%] PASSED tests/greenpool_test.py::test_greenpool_type_check 377s tests/greenpool_test.py::Stress::test_imap_50 377s [gw1] [ 48%] PASSED tests/patcher_test.py::Tpool::test_simple 378s tests/patcher_test.py::Tpool::test_unpatched_thread 378s [gw1] [ 48%] PASSED tests/patcher_test.py::Tpool::test_unpatched_thread 378s tests/patcher_test.py::test_subprocess_after_monkey_patch 378s [gw1] [ 48%] PASSED tests/patcher_test.py::test_subprocess_after_monkey_patch 378s tests/patcher_test.py::Threading::test_greenlet 378s [gw1] [ 48%] PASSED tests/patcher_test.py::Threading::test_greenlet 379s tests/patcher_test.py::Threading::test_greenthread 379s [gw1] [ 48%] PASSED tests/patcher_test.py::Threading::test_greenthread 379s tests/patcher_test.py::Threading::test_keyerror 379s [gw0] [ 48%] PASSED tests/greenpool_test.py::Stress::test_imap_50 379s tests/greenpool_test.py::Stress::test_imap_500 379s [gw1] [ 49%] PASSED tests/patcher_test.py::Threading::test_keyerror 379s tests/patcher_test.py::Threading::test_tpool 379s [gw1] [ 49%] PASSED tests/patcher_test.py::Threading::test_tpool 380s tests/patcher_test.py::Os::test_waitpid 380s [gw1] [ 49%] PASSED tests/patcher_test.py::Os::test_waitpid 380s tests/patcher_test.py::GreenThreadWrapper::test_ident 380s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_ident 380s tests/patcher_test.py::GreenThreadWrapper::test_is_alive 380s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_alive 381s tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 381s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 381s tests/patcher_test.py::GreenThreadWrapper::test_join 381s [gw0] [ 49%] PASSED tests/greenpool_test.py::Stress::test_imap_500 381s tests/greenpool_test.py::Stress::test_ordering_5 381s [gw1] [ 50%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_join 381s tests/patcher_test.py::GreenThreadWrapper::test_name 381s [gw1] [ 50%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_name 382s tests/patcher_test.py::test_patcher_existing_locks_early 382s [gw0] [ 50%] PASSED tests/greenpool_test.py::Stress::test_ordering_5 382s tests/greenpool_test.py::Stress::test_ordering_50 382s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_early 382s tests/patcher_test.py::test_patcher_existing_locks_late 382s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_late 382s tests/patcher_test.py::test_patcher_existing_locks_unlocked 382s [gw1] [ 50%] SKIPPED tests/patcher_test.py::test_patcher_existing_locks_unlocked 382s tests/patcher_test.py::test_patcher_existing_logging_module_lock 382s [gw0] [ 50%] PASSED tests/greenpool_test.py::Stress::test_ordering_50 382s tests/greenpool_test.py::Stress::test_with_intpool 382s [gw0] [ 50%] PASSED tests/greenpool_test.py::Stress::test_with_intpool 382s tests/greenthread_test.py::Spawn::test_kill 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill 382s tests/greenthread_test.py::Spawn::test_kill_meth 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill_meth 382s tests/greenthread_test.py::Spawn::test_kill_n 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill_n 382s tests/greenthread_test.py::Spawn::test_link 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_link 382s tests/greenthread_test.py::Spawn::test_link_after_exited 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_link_after_exited 382s tests/greenthread_test.py::Spawn::test_link_relinks 382s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_link_relinks 382s tests/greenthread_test.py::Spawn::test_n 382s [gw1] [ 51%] PASSED tests/patcher_test.py::test_patcher_existing_logging_module_lock 382s tests/patcher_test.py::test_importlib_lock 382s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_n 382s tests/greenthread_test.py::Spawn::test_simple 382s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_simple 382s tests/greenthread_test.py::SpawnAfter::test_basic 382s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_basic 382s tests/greenthread_test.py::SpawnAfter::test_cancel 382s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel 383s tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 383s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 383s tests/greenthread_test.py::SpawnAfter::test_kill 383s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill 383s tests/greenthread_test.py::SpawnAfter::test_kill_already_started 383s [gw1] [ 52%] PASSED tests/patcher_test.py::test_importlib_lock 383s tests/patcher_test.py::test_threading_condition 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_already_started 383s tests/greenthread_test.py::SpawnAfter::test_kill_meth 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_meth 383s tests/greenthread_test.py::SpawnAfter::test_kill_n 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_n 383s tests/greenthread_test.py::SpawnAfter::test_link 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_link 383s tests/greenthread_test.py::SpawnAfter::test_link_after_exited 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_after_exited 383s tests/greenthread_test.py::SpawnAfter::test_link_relinks 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_relinks 383s tests/greenthread_test.py::SpawnAfter::test_n 383s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_n 383s tests/greenthread_test.py::SpawnAfter::test_simple 383s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfter::test_simple 383s tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 383s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 383s tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 383s [gw1] [ 54%] PASSED tests/patcher_test.py::test_threading_condition 383s tests/patcher_test.py::test_threading_join 383s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 383s tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 383s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 383s tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 383s [gw0] [ 54%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 383s tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 383s [gw0] [ 54%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 384s tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 384s tests/hub_test.py::TestScheduleCall::test_global 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_global 384s tests/hub_test.py::TestScheduleCall::test_local 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_local 384s tests/hub_test.py::TestScheduleCall::test_ordering 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_ordering 384s tests/hub_test.py::TestDebug::test_debug_listeners 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestDebug::test_debug_listeners 384s tests/hub_test.py::TestDebug::test_timer_exceptions 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestDebug::test_timer_exceptions 384s tests/hub_test.py::TestExceptionInMainloop::test_sleep 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestExceptionInMainloop::test_sleep 384s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 384s [gw0] [ 55%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 384s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 384s [gw0] [ 56%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 384s tests/hub_test.py::TestHubBlockingDetector::test_block_detect 384s [gw1] [ 56%] PASSED tests/patcher_test.py::test_threading_join 385s tests/patcher_test.py::test_socketserver_selectors 385s [gw0] [ 56%] PASSED tests/hub_test.py::TestHubBlockingDetector::test_block_detect 385s tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 385s [gw0] [ 56%] SKIPPED tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 385s tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 385s [gw1] [ 56%] PASSED tests/patcher_test.py::test_socketserver_selectors 385s tests/patcher_test.py::test_blocking_select_methods_are_deleted 385s [gw1] [ 56%] PASSED tests/patcher_test.py::test_blocking_select_methods_are_deleted 385s tests/patcher_test.py::test_regular_file_readall 385s [gw0] [ 56%] PASSED tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 385s tests/hub_test.py::test_repeated_select_bad_fd 385s [gw0] [ 57%] PASSED tests/hub_test.py::test_repeated_select_bad_fd 386s tests/hub_test.py::test_fork 386s [gw1] [ 57%] PASSED tests/patcher_test.py::test_regular_file_readall 386s tests/patcher_test.py::test_threading_current 386s [gw0] [ 57%] PASSED tests/hub_test.py::test_fork 386s tests/hub_test.py::test_fork_simple 386s [gw1] [ 57%] PASSED tests/patcher_test.py::test_threading_current 386s tests/patcher_test.py::test_threadpoolexecutor 386s [gw0] [ 57%] PASSED tests/hub_test.py::test_fork_simple 386s tests/hub_test.py::TestDeadRunLoop::test_kill 386s [gw1] [ 57%] PASSED tests/patcher_test.py::test_threadpoolexecutor 387s tests/patcher_test.py::test_builtin 387s [gw1] [ 57%] PASSED tests/patcher_test.py::test_builtin 387s tests/patcher_test.py::test_open_kwargs 387s [gw0] [ 58%] PASSED tests/hub_test.py::TestDeadRunLoop::test_kill 387s tests/hub_test.py::TestDeadRunLoop::test_parent 387s [gw1] [ 58%] PASSED tests/patcher_test.py::test_open_kwargs 387s tests/patcher_test.py::test_patcher_existing_locks 387s [gw1] [ 58%] PASSED tests/patcher_test.py::test_patcher_existing_locks 387s tests/patcher_test.py::test_patcher_existing_locks_exception 387s [gw0] [ 58%] PASSED tests/hub_test.py::TestDeadRunLoop::test_parent 387s tests/queue_test.py::TestQueue::test_resize_up 387s [gw0] [ 58%] PASSED tests/queue_test.py::TestQueue::test_resize_up 387s tests/queue_test.py::TestQueue::test_send_first 387s [gw0] [ 58%] PASSED tests/queue_test.py::TestQueue::test_send_first 387s tests/queue_test.py::TestQueue::test_send_last 387s [gw0] [ 58%] PASSED tests/queue_test.py::TestQueue::test_send_last 387s tests/queue_test.py::TestQueue::test_task_done 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_task_done 387s tests/queue_test.py::TestQueue::test_two_bogus_waiters 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_two_bogus_waiters 387s tests/queue_test.py::TestQueue::test_two_waiters_one_dies 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_two_waiters_one_dies 387s tests/queue_test.py::TestQueue::test_waiters_that_cancel 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_waiters_that_cancel 387s tests/queue_test.py::TestQueue::test_waiting 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_waiting 387s tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 387s tests/queue_test.py::TestQueue::test_zero_max_size 387s [gw0] [ 59%] PASSED tests/queue_test.py::TestQueue::test_zero_max_size 387s tests/queue_test.py::TestNoWait::test_get_nowait_simple 387s [gw0] [ 60%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_simple 387s tests/queue_test.py::TestNoWait::test_get_nowait_unlock 387s [gw0] [ 60%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_unlock 387s tests/queue_test.py::TestNoWait::test_put_nowait_simple 387s [gw0] [ 60%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_simple 387s tests/queue_test.py::TestNoWait::test_put_nowait_unlock 387s [gw1] [ 60%] PASSED tests/patcher_test.py::test_patcher_existing_locks_exception 387s tests/patcher_test.py::test_patcher_threading_subclass_done 387s [gw0] [ 60%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_unlock 387s tests/queue_test.py::TestNoWait::test_wait_except 387s [gw0] [ 60%] PASSED tests/queue_test.py::TestNoWait::test_wait_except 387s tests/semaphore_test.py::TestSemaphore::test_bounded 387s [gw0] [ 60%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded 387s tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 387s [gw0] [ 61%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 387s tests/semaphore_test.py::TestSemaphore::test_non_blocking 387s [gw0] [ 61%] PASSED tests/semaphore_test.py::TestSemaphore::test_non_blocking 388s tests/semaphore_test.py::TestSemaphore::test_timeout 388s [gw0] [ 61%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout 388s tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 388s [gw0] [ 61%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 388s tests/semaphore_test.py::test_semaphore_contention 388s [gw1] [ 61%] PASSED tests/patcher_test.py::test_patcher_threading_subclass_done 388s tests/pools_test.py::TestIntPool::test_blocks_on_pool 388s [gw1] [ 61%] PASSED tests/pools_test.py::TestIntPool::test_blocks_on_pool 388s tests/pools_test.py::TestIntPool::test_create_contention 388s [gw1] [ 61%] PASSED tests/pools_test.py::TestIntPool::test_create_contention 388s tests/pools_test.py::TestIntPool::test_exhaustion 388s [gw1] [ 61%] PASSED tests/pools_test.py::TestIntPool::test_exhaustion 388s tests/pools_test.py::TestIntPool::test_free 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_free 388s tests/pools_test.py::TestIntPool::test_integers 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_integers 388s tests/pools_test.py::TestIntPool::test_ordering 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_ordering 388s tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 388s tests/pools_test.py::TestIntPool::test_putting_to_queue 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_putting_to_queue 388s tests/pools_test.py::TestIntPool::test_resize 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestIntPool::test_resize 388s tests/pools_test.py::TestAbstract::test_abstract 388s [gw1] [ 62%] PASSED tests/pools_test.py::TestAbstract::test_abstract 388s tests/pools_test.py::TestIntPool2::test_something 388s [gw1] [ 63%] PASSED tests/pools_test.py::TestIntPool2::test_something 388s tests/pools_test.py::TestOrderAsStack::test_ordering 388s [gw1] [ 63%] PASSED tests/pools_test.py::TestOrderAsStack::test_ordering 388s tests/pools_test.py::TestCreateRaises::test_it 388s [gw1] [ 63%] PASSED tests/pools_test.py::TestCreateRaises::test_it 388s tests/queue_test.py::TestQueue::test_channel_send 388s [gw1] [ 63%] PASSED tests/queue_test.py::TestQueue::test_channel_send 388s tests/queue_test.py::TestQueue::test_channel_sender_timing_out 388s [gw1] [ 63%] PASSED tests/queue_test.py::TestQueue::test_channel_sender_timing_out 388s tests/queue_test.py::TestQueue::test_channel_wait 388s [gw1] [ 63%] PASSED tests/queue_test.py::TestQueue::test_channel_wait 388s tests/queue_test.py::TestQueue::test_channel_waiters 388s [gw1] [ 63%] PASSED tests/queue_test.py::TestQueue::test_channel_waiters 388s tests/queue_test.py::TestQueue::test_getting_before_sending 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_getting_before_sending 388s tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 388s tests/queue_test.py::TestQueue::test_max_size 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_max_size 388s tests/queue_test.py::TestQueue::test_multiple_waiters 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_multiple_waiters 388s tests/queue_test.py::TestQueue::test_resize_down 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_resize_down 388s tests/queue_test.py::TestQueue::test_resize_to_Unlimited 388s [gw1] [ 64%] PASSED tests/queue_test.py::TestQueue::test_resize_to_Unlimited 388s tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 388s [gw1] [ 64%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 388s tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 388s [gw1] [ 65%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 388s tests/timeout_test.py::TestDirectRaise::test_repr 388s [gw1] [ 65%] PASSED tests/timeout_test.py::TestDirectRaise::test_repr 388s tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 388s [gw1] [ 65%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 388s tests/timeout_test.py::TestWithTimeout::test_with_timeout 388s [gw1] [ 65%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_timeout 388s tests/timeout_test.py::test_is_timeout_attribute 388s [gw1] [ 65%] PASSED tests/timeout_test.py::test_is_timeout_attribute 388s tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 388s [gw1] [ 65%] PASSED tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 388s tests/timeout_with_statement_test.py::Test::test_cancellation 388s [gw1] [ 65%] PASSED tests/timeout_with_statement_test.py::Test::test_cancellation 388s tests/timeout_with_statement_test.py::Test::test_dummy_timer 388s [gw0] [ 66%] PASSED tests/semaphore_test.py::test_semaphore_contention 388s tests/semaphore_test.py::test_semaphore_type_check 388s [gw0] [ 66%] PASSED tests/semaphore_test.py::test_semaphore_type_check 388s tests/socket_test.py::test_recv_type 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_dummy_timer 388s tests/timeout_with_statement_test.py::Test::test_nested_timeout 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_nested_timeout 388s tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 388s tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 388s tests/timeout_with_statement_test.py::Test::test_raising_exception_class 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exception_class 388s tests/timeout_with_statement_test.py::Test::test_raising_self 388s [gw1] [ 66%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self 388s tests/timeout_with_statement_test.py::Test::test_raising_self_true 388s [gw0] [ 67%] PASSED tests/socket_test.py::test_recv_type 388s tests/socket_test.py::test_recv_into_type 388s [gw1] [ 67%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self_true 388s tests/timeout_with_statement_test.py::Test::test_ref 388s [gw1] [ 67%] PASSED tests/timeout_with_statement_test.py::Test::test_ref 388s tests/timeout_with_statement_test.py::Test::test_silent_block 388s [gw1] [ 67%] PASSED tests/timeout_with_statement_test.py::Test::test_silent_block 388s tests/timer_test.py::TestTimer::test_copy 388s [gw1] [ 67%] PASSED tests/timer_test.py::TestTimer::test_copy 388s tests/timer_test.py::TestTimer::test_schedule 388s [gw1] [ 67%] PASSED tests/timer_test.py::TestTimer::test_schedule 389s tests/tpool_test.py::TestTpool::test_autowrap 389s [gw1] [ 67%] PASSED tests/tpool_test.py::TestTpool::test_autowrap 389s tests/tpool_test.py::TestTpool::test_autowrap_both 389s [gw0] [ 68%] PASSED tests/socket_test.py::test_recv_into_type 389s tests/socket_test.py::test_socket_api_family 389s [gw0] [ 68%] PASSED tests/socket_test.py::test_socket_api_family 389s tests/socket_test.py::test_getaddrinfo_ipv6_scope 389s [gw0] [ 68%] PASSED tests/socket_test.py::test_getaddrinfo_ipv6_scope 389s tests/socket_test.py::test_error_is_timeout 389s [gw0] [ 68%] PASSED tests/socket_test.py::test_error_is_timeout 389s tests/socket_test.py::test_connect_ex_success 389s [gw0] [ 68%] PASSED tests/socket_test.py::test_connect_ex_success 389s tests/ssl_test.py::SSLTest::test_client_check_hostname 389s [gw1] [ 68%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_both 389s tests/tpool_test.py::TestTpool::test_autowrap_names 389s [gw0] [ 68%] PASSED tests/ssl_test.py::SSLTest::test_client_check_hostname 389s tests/ssl_test.py::SSLTest::test_context_version_setters 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_names 389s tests/tpool_test.py::TestTpool::test_callable 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_callable 389s tests/tpool_test.py::TestTpool::test_callable_iterator 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_callable_iterator 389s tests/tpool_test.py::TestTpool::test_contention 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_contention 389s tests/tpool_test.py::TestTpool::test_eventlet_timeout 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_eventlet_timeout 389s tests/tpool_test.py::TestTpool::test_killall 389s [gw1] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_killall 389s tests/tpool_test.py::TestTpool::test_killall_remaining_results 389s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_context_version_setters 389s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 389s [gw0] [ 70%] PASSED tests/ssl_test.py::SSLTest::test_context_wrapped_accept 389s tests/ssl_test.py::SSLTest::test_duplex_response 389s [gw0] [ 70%] PASSED tests/ssl_test.py::SSLTest::test_duplex_response 389s tests/ssl_test.py::SSLTest::test_explicit_keys_accept 389s [gw0] [ 70%] PASSED tests/ssl_test.py::SSLTest::test_explicit_keys_accept 389s tests/ssl_test.py::SSLTest::test_greensslobject 389s [gw0] [ 70%] PASSED tests/ssl_test.py::SSLTest::test_greensslobject 389s tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 389s [gw1] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_killall_remaining_results 389s tests/tpool_test.py::TestTpool::test_multiple_wraps 389s [gw1] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_multiple_wraps 389s tests/tpool_test.py::TestTpool::test_raising_exceptions 389s [gw1] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_raising_exceptions 389s tests/tpool_test.py::TestTpool::test_timeout 389s [gw0] [ 71%] PASSED tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 389s tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 389s [gw0] [ 71%] PASSED tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 389s tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 389s [gw0] [ 71%] PASSED tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 389s tests/ssl_test.py::SSLTest::test_regression_gh_17 389s [gw0] [ 71%] PASSED tests/ssl_test.py::SSLTest::test_regression_gh_17 390s tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 390s [gw1] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_timeout 390s tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 390s [gw1] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 390s tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 390s [gw1] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 390s tests/tpool_test.py::TestTpool::test_wrap_dict 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_dict 390s tests/tpool_test.py::TestTpool::test_wrap_eq 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_eq 390s tests/tpool_test.py::TestTpool::test_wrap_getitem 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_getitem 390s tests/tpool_test.py::TestTpool::test_wrap_hash 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_hash 390s tests/tpool_test.py::TestTpool::test_wrap_ints 390s [gw0] [ 72%] PASSED tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 390s tests/ssl_test.py::SSLTest::test_ssl_close 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_ints 390s tests/tpool_test.py::TestTpool::test_wrap_iterator 390s [gw0] [ 72%] PASSED tests/ssl_test.py::SSLTest::test_ssl_close 390s tests/ssl_test.py::SSLTest::test_ssl_connect 390s [gw1] [ 72%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator 390s tests/tpool_test.py::TestTpool::test_wrap_iterator2 390s [gw0] [ 73%] PASSED tests/ssl_test.py::SSLTest::test_ssl_connect 390s tests/ssl_test.py::SSLTest::test_ssl_context 390s [gw1] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator2 390s tests/tpool_test.py::TestTpool::test_wrap_module_class 390s [gw0] [ 73%] PASSED tests/ssl_test.py::SSLTest::test_ssl_context 390s tests/ssl_test.py::SSLTest::test_ssl_unwrap 390s [gw1] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_wrap_module_class 390s tests/tpool_test.py::TestTpool::test_wrap_nonzero 390s [gw1] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_wrap_nonzero 390s tests/tpool_test.py::TestTpool::test_wrap_setitem 390s [gw1] [ 73%] PASSED tests/tpool_test.py::TestTpool::test_wrap_setitem 390s tests/tpool_test.py::TestTpool::test_wrap_string 390s [gw0] [ 73%] PASSED tests/ssl_test.py::SSLTest::test_ssl_unwrap 390s tests/subprocess_test.py::test_subprocess_wait 390s [gw1] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_string 390s tests/tpool_test.py::TestTpool::test_wrap_tuple 390s [gw1] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_tuple 390s tests/tpool_test.py::TestTpool::test_wrap_uniterable 390s [gw1] [ 74%] PASSED tests/tpool_test.py::TestTpool::test_wrap_uniterable 390s tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 390s [gw0] [ 74%] PASSED tests/subprocess_test.py::test_subprocess_wait 390s tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 390s [gw0] [ 74%] PASSED tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 390s tests/subprocess_test.py::test_universal_lines 390s [gw0] [ 74%] PASSED tests/subprocess_test.py::test_universal_lines 390s tests/subprocess_test.py::test_patched_communicate_290 390s [gw0] [ 74%] PASSED tests/subprocess_test.py::test_patched_communicate_290 390s tests/subprocess_test.py::test_check_call_without_timeout_works 390s [gw0] [ 75%] PASSED tests/subprocess_test.py::test_check_call_without_timeout_works 391s tests/subprocess_test.py::test_exception_identity 391s [gw0] [ 75%] PASSED tests/subprocess_test.py::test_exception_identity 391s tests/test__event.py::TestEvent::test_send 391s [gw0] [ 75%] PASSED tests/test__event.py::TestEvent::test_send 391s tests/test__event.py::TestEvent::test_send_exc 391s [gw0] [ 75%] PASSED tests/test__event.py::TestEvent::test_send_exc 391s tests/test__greenness.py::test_urllib 391s [gw0] [ 75%] PASSED tests/test__greenness.py::test_urllib 391s tests/test__refcount.py::test_clean_exit 391s [gw1] [ 75%] PASSED tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 391s tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 391s [gw1] [ 75%] PASSED tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 391s tests/tpool_test.py::test_isolate_from_socket_default_timeout 391s [gw0] [ 76%] PASSED tests/test__refcount.py::test_clean_exit 391s tests/test__refcount.py::test_timeout_exit 391s [gw1] [ 76%] PASSED tests/tpool_test.py::test_isolate_from_socket_default_timeout 392s tests/tpool_test.py::test_exception_leak 392s [gw0] [ 76%] PASSED tests/test__refcount.py::test_timeout_exit 392s tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 392s [gw0] [ 76%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 392s tests/test__socket_errors.py::TestSocketErrors::test_timeout 392s [gw1] [ 76%] PASSED tests/tpool_test.py::test_exception_leak 392s tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 392s [gw1] [ 76%] PASSED tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 392s tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 392s [gw1] [ 76%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 392s tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 392s tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 392s tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 392s tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 392s [gw1] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 392s [gw1] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 392s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 392s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 392s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 392s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 392s [gw1] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 392s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 392s [gw1] [ 79%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 393s tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 393s [gw0] [ 79%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout 393s tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 393s [gw1] [ 79%] PASSED tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 393s tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 393s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 393s tests/websocket_test.py::TestWebSocketObject::test_close_ws 393s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocketObject::test_close_ws 393s tests/websocket_test.py::TestWebSocketObject::test_recieve 393s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocketObject::test_recieve 393s tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 393s [gw1] [ 80%] PASSED tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 393s tests/wsgi_test.py::TestHttpd::test_001_server 393s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_001_server 393s tests/wsgi_test.py::TestHttpd::test_002_keepalive 393s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_002_keepalive 393s tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 393s [gw1] [ 80%] PASSED tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 393s tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 393s tests/wsgi_test.py::TestHttpd::test_007_get_arg 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_007_get_arg 393s tests/wsgi_test.py::TestHttpd::test_008_correctresponse 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_008_correctresponse 393s tests/wsgi_test.py::TestHttpd::test_009_chunked_response 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_009_chunked_response 393s tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 393s tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 393s tests/wsgi_test.py::TestHttpd::test_012_ssl_server 393s [gw1] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_012_ssl_server 393s tests/wsgi_test.py::TestHttpd::test_013_empty_return 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_013_empty_return 393s tests/wsgi_test.py::TestHttpd::test_014_chunked_post 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_014_chunked_post 393s tests/wsgi_test.py::TestHttpd::test_015_write 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_015_write 393s tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 393s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 393s tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 393s tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 393s [gw1] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 393s tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 393s [gw1] [ 83%] SKIPPED tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 393s tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 393s tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 393s tests/wsgi_test.py::TestHttpd::test_022_custom_pool 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_022_custom_pool 393s tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 393s tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 393s tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 393s tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 393s [gw1] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 393s tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 393s tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 393s tests/wsgi_test.py::TestHttpd::test_025_accept_errors 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_025_accept_errors 393s tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 393s tests/wsgi_test.py::TestHttpd::test_026_log_format 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_026_log_format 393s tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 393s tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 393s [gw1] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 393s tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 393s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 393s tests/wsgi_test.py::TestHttpd::test_029_posthooks 393s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_029_posthooks 393s tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 393s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 394s tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 394s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 394s tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 394s [gw1] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 394s [gw0] [ 85%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 394s tests/test__socket_errors.py::test_create_connection_refused 394s [gw0] [ 85%] PASSED tests/test__socket_errors.py::test_create_connection_refused 394s tests/test_infrastructure_tests.py::test_run_python_timeout 394s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 394s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 394s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 394s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 394s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 394s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 394s tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 394s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 394s tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 394s [gw1] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 394s tests/wsgi_test.py::TestHttpd::test_client_disconnect 394s [gw0] [ 86%] PASSED tests/test_infrastructure_tests.py::test_run_python_timeout 394s tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 394s [gw0] [ 86%] PASSED tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 394s tests/thread_test.py::Locals::test_assignment 394s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_client_disconnect 394s tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 394s [gw0] [ 87%] PASSED tests/thread_test.py::Locals::test_assignment 394s tests/thread_test.py::Locals::test_calling_methods 394s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 394s tests/wsgi_test.py::TestHttpd::test_close_idle_connections 394s [gw0] [ 87%] PASSED tests/thread_test.py::Locals::test_calling_methods 394s tests/thread_test.py::Locals::test_calls_init 394s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections 394s tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 394s [gw0] [ 87%] PASSED tests/thread_test.py::Locals::test_calls_init 394s [gw1] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 394s tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 394s tests/thread_test.py::Locals::test_no_leaking 394s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 394s tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 394s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 394s tests/wsgi_test.py::TestHttpd::test_debug 394s [gw0] [ 88%] PASSED tests/thread_test.py::Locals::test_no_leaking 394s tests/thread_test.py::test_compat_lock_release 394s [gw0] [ 88%] PASSED tests/thread_test.py::test_compat_lock_release 394s tests/thread_test.py::test_reinit 394s [gw0] [ 88%] PASSED tests/thread_test.py::test_reinit 394s tests/thread_test.py::test_can_use_eventlet_in_os_threads 394s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_debug 394s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 394s [gw1] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 395s tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 395s [gw0] [ 88%] PASSED tests/thread_test.py::test_can_use_eventlet_in_os_threads 395s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 395s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 395s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 395s tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 395s tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 395s tests/websocket_test.py::TestWebSocket::test_close_idle 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_close_idle 395s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 395s [gw0] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 395s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 395s tests/websocket_test.py::TestWebSocket::test_empty_query_string 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_empty_query_string 395s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 395s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 395s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 395s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 395s tests/websocket_test.py::TestWebSocket::test_incorrect_headers 395s [gw0] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_incorrect_headers 395s tests/websocket_test.py::TestWebSocket::test_query_string 395s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocket::test_query_string 395s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 395s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 395s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 395s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 395s tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 395s [gw0] [ 91%] PASSED tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 395s tests/wsgi_test.py::TestHttpd::test_headers_raw 395s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_headers_raw 395s tests/wsgi_test.py::TestHttpd::test_ipv6 395s [gw0] [ 91%] SKIPPED tests/wsgi_test.py::TestHttpd::test_ipv6 395s tests/wsgi_test.py::TestHttpd::test_log_disable 395s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_log_disable 395s tests/wsgi_test.py::TestHttpd::test_log_unix_address 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_log_unix_address 395s tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 395s tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 395s tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 395s tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 395s tests/wsgi_test.py::TestHttpd::test_path_info_decoding 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_decoding 395s tests/wsgi_test.py::TestHttpd::test_path_info_latin1 395s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_latin1 395s tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 395s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 396s tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 396s tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 396s tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 396s tests/wsgi_test.py::TestHttpd::test_socket_remains_open 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_socket_remains_open 396s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 396s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 396s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 396s tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 396s [gw1] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 396s tests/wsgi_test.py::TestHttpd::test_env_header_stripping 396s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 396s tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 396s [gw1] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_env_header_stripping 396s tests/wsgi_test.py::TestHttpd::test_env_headers 396s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 396s tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 396s [gw1] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_env_headers 396s tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 396s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 396s tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 396s [gw1] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 396s tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 396s [gw1] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 396s tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 396s [gw0] [ 95%] PASSED tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 396s tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 396s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 396s tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 396s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 396s tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 396s [gw0] [ 95%] PASSED tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 396s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 396s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 396s tests/wsgi_test.py::TestChunkedInput::test_dirt 396s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 396s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 396s [gw1] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_dirt 396s tests/wsgi_test.py::TestChunkedInput::test_short_read 396s [gw0] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 396s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 396s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read 396s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 396s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 396s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 396s [gw1] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 396s tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 396s [gw0] [ 96%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 396s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 396s [gw1] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 396s tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 396s [gw1] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 396s tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 396s [gw1] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 396s tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 396s [gw0] [ 97%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 396s tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 396s [gw1] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 396s tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 396s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 396s tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 396s [gw1] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 396s tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 396s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 396s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 396s [gw1] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 396s tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 396s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 396s tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 396s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 396s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 396s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 397s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 397s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 397s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 397s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 397s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 397s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 397s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 397s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 397s tests/zmq_test.py::TestQueueLock::test_errors 397s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_errors 397s tests/zmq_test.py::TestQueueLock::test_nested_acquire 397s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_nested_acquire 397s tests/zmq_test.py::TestQueueLock::test_queue_lock_order 397s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_queue_lock_order 397s tests/zmq_test.py::TestBlockedThread::test_block 397s [gw1] [ 99%] PASSED tests/zmq_test.py::TestBlockedThread::test_block 397s tests/zmq_test.py::test_recv_json_no_args 397s [gw1] [ 99%] PASSED tests/zmq_test.py::test_recv_json_no_args 397s tests/zmq_test.py::test_recv_timeout 397s [gw1] [ 99%] PASSED tests/zmq_test.py::test_recv_timeout 397s [gw0] [ 99%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 397s tests/zmq_test.py::TestQueueLock::test_count 397s [gw0] [100%] PASSED tests/zmq_test.py::TestQueueLock::test_count 397s 397s =============================== warnings summary =============================== 397s tests/api_test.py: 2 warnings 397s tests/convenience_test.py: 2 warnings 397s tests/greenio_test.py: 1 warning 397s tests/ssl_test.py: 26 warnings 397s tests/websocket_test.py: 2 warnings 397s tests/wsgi_test.py: 9 warnings 397s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 397s context = _original_sslcontext(protocol=ssl_version) 397s 397s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 397s tests/backdoor_test.py::BackdoorTest::test_server 397s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 397s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored in: <_io.TextIOWrapper mode='rw' encoding='UTF-8'> 397s 397s Traceback (most recent call last): 397s File "/usr/lib/python3.13/socket.py", line 737, in write 397s return self._sock.send(b) 397s ~~~~~~~~~~~~~~~^^^ 397s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 383, in send 397s return self._send_loop(self.fd.send, data, flags) 397s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 397s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 370, in _send_loop 397s return send_method(data, *args) 397s BrokenPipeError: [Errno 32] Broken pipe 397s 397s During handling of the above exception, another exception occurred: 397s 397s Traceback (most recent call last): 397s File "/usr/lib/python3.13/socket.py", line 737, in write 397s return self._sock.send(b) 397s ~~~~~~~~~~~~~~~^^^ 397s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 383, in send 397s return self._send_loop(self.fd.send, data, flags) 397s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 397s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 370, in _send_loop 397s return send_method(data, *args) 397s BrokenPipeError: [Errno 32] Broken pipe 397s 397s Enable tracemalloc to get traceback where the object was allocated. 397s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 397s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 397s 397s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 397s /tmp/autopkgtest.f44HyH/build.faM/src/tests/not_asyncio_test.py:22: RuntimeWarning: coroutine 'test_spawn_from_coroutine_errors..go' was never awaited 397s with pytest.raises(RuntimeError): 397s Enable tracemalloc to get traceback where the object was allocated. 397s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 397s 397s tests/openssl_test.py::test_import 397s tests/openssl_test.py::test_import 397s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: CSR support in pyOpenSSL is deprecated. You should use the APIs in cryptography. 397s from OpenSSL.crypto import * 397s 397s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 397s /tmp/autopkgtest.f44HyH/build.faM/src/tests/ssl_test.py:333: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 397s context = ssl.SSLContext(ssl.PROTOCOL_TLS) 397s 397s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 397s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLSv1_2 is deprecated 397s context = _original_sslcontext(protocol=ssl_version) 397s 397s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 397s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenthread.py:272: DeprecationWarning: capitalize_response_headers is disabled. 397s Please, make sure you know what you are doing. 397s HTTP headers names are case-insensitive per RFC standard. 397s Most likely, you need to fix HTTP parsing in your client software. 397s result = function(*args, **kwargs) 397s 397s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 397s ================ 630 passed, 89 skipped, 51 warnings in 35.21s ================= 398s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated 398s !! 398s 398s ******************************************************************************** 398s 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). 398s 398s By 2026-Feb-18, you need to update your project and remove deprecated calls 398s or your builds will no longer be supported. 398s 398s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 398s ******************************************************************************** 398s 398s !! 398s corresp(dist, value, root_dir) 398s /usr/lib/python3/dist-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated. 398s !! 398s 398s ******************************************************************************** 398s Please consider removing the following classifiers in favor of a SPDX license expression: 398s 398s License :: OSI Approved :: MIT License 398s 398s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 398s ******************************************************************************** 398s 398s !! 398s dist._finalize_license_expression() 398s /usr/lib/python3/dist-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. 398s !! 398s 398s ******************************************************************************** 398s Please consider removing the following classifiers in favor of a SPDX license expression: 398s 398s License :: OSI Approved :: MIT License 398s 398s See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. 398s ******************************************************************************** 398s 398s !! 398s self._finalize_license_expression() 398s running install 398s /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:90: SetuptoolsDeprecationWarning: setup.py install is deprecated. 398s !! 398s 398s ******************************************************************************** 398s Please avoid running ``setup.py`` directly. 398s Instead, use pypa/build, pypa/installer or other 398s standards-based tools. 398s 398s See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. 398s ******************************************************************************** 398s 398s !! 398s self.initialize_options() 398s running build 398s running build_py 398s running egg_info 398s writing eventlet.egg-info/PKG-INFO 398s writing dependency_links to eventlet.egg-info/dependency_links.txt 398s writing requirements to eventlet.egg-info/requires.txt 398s writing top-level names to eventlet.egg-info/top_level.txt 398s reading manifest file 'eventlet.egg-info/SOURCES.txt' 398s reading manifest template 'MANIFEST.in' 398s warning: no files found matching 'Makefile' under directory 'doc' 398s adding license file 'LICENSE' 398s adding license file 'AUTHORS' 398s writing manifest file 'eventlet.egg-info/SOURCES.txt' 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green' to be distributed and are 398s already explicitly excluding 'eventlet.green' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.OpenSSL' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.OpenSSL' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.OpenSSL' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.OpenSSL' to be distributed and are 398s already explicitly excluding 'eventlet.green.OpenSSL' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.OpenSSL.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.OpenSSL.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.OpenSSL.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.OpenSSL.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.green.OpenSSL.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.green.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.http' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.http' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.http' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.http' to be distributed and are 398s already explicitly excluding 'eventlet.green.http' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.http.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.http.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.http.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.http.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.green.http.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.urllib' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.urllib' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.urllib' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.urllib' to be distributed and are 398s already explicitly excluding 'eventlet.green.urllib' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.green.urllib.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.green.urllib.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.green.urllib.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.green.urllib.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.green.urllib.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.greenio' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.greenio' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.greenio' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.greenio' to be distributed and are 398s already explicitly excluding 'eventlet.greenio' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.greenio.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.greenio.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.greenio.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.greenio.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.greenio.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.hubs' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.hubs' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.hubs' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.hubs' to be distributed and are 398s already explicitly excluding 'eventlet.hubs' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s creating build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/_version.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/asyncio.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/backdoor.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/convenience.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/corolocal.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/dagpool.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/db_pool.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/debug.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/event.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/greenpool.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/greenthread.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/lock.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/patcher.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/pools.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/queue.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/semaphore.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/timeout.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/tpool.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/websocket.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s copying eventlet/__pycache__/wsgi.cpython-313.pyc -> build/lib/eventlet/__pycache__ 398s creating build/lib/eventlet/green/OpenSSL/__pycache__ 398s copying eventlet/green/OpenSSL/__pycache__/SSL.cpython-313.pyc -> build/lib/eventlet/green/OpenSSL/__pycache__ 398s copying eventlet/green/OpenSSL/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/green/OpenSSL/__pycache__ 398s copying eventlet/green/OpenSSL/__pycache__/crypto.cpython-313.pyc -> build/lib/eventlet/green/OpenSSL/__pycache__ 398s copying eventlet/green/OpenSSL/__pycache__/tsafe.cpython-313.pyc -> build/lib/eventlet/green/OpenSSL/__pycache__ 398s copying eventlet/green/OpenSSL/__pycache__/version.cpython-313.pyc -> build/lib/eventlet/green/OpenSSL/__pycache__ 398s creating build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/BaseHTTPServer.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/MySQLdb.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/Queue.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/SocketServer.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/_socket_nodns.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/builtin.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/ftplib.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.hubs.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.hubs.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.hubs.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.hubs.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.hubs.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.support' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.support' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.support' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.support' to be distributed and are 398s already explicitly excluding 'eventlet.support' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.support.__pycache__' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.support.__pycache__' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.support.__pycache__' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.support.__pycache__' to be distributed and are 398s already explicitly excluding 'eventlet.support.__pycache__' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.zipkin' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.zipkin' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.zipkin' to be distributed and are 398s already explicitly excluding 'eventlet.zipkin' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.zipkin._thrift' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.zipkin._thrift' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.zipkin._thrift' to be distributed and are 398s already explicitly excluding 'eventlet.zipkin._thrift' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin._thrift.zipkinCore' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.zipkin._thrift.zipkinCore' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.zipkin._thrift.zipkinCore' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.zipkin._thrift.zipkinCore' to be distributed and are 398s already explicitly excluding 'eventlet.zipkin._thrift.zipkinCore' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s /usr/lib/python3/dist-packages/setuptools/command/build_py.py:212: _Warning: Package 'eventlet.zipkin.example' is absent from the `packages` configuration. 398s !! 398s 398s ******************************************************************************** 398s ############################ 398s # Package would be ignored # 398s ############################ 398s Python recognizes 'eventlet.zipkin.example' as an importable package[^1], 398s but it is absent from setuptools' `packages` configuration. 398s 398s This leads to an ambiguous overall configuration. If you want to distribute this 398s package, please make sure that 'eventlet.zipkin.example' is explicitly added 398s to the `packages` configuration field. 398s 398s Alternatively, you can also rely on setuptools' discovery methods 398s (for example by using `find_namespace_packages(...)`/`find_namespace:` 398s instead of `find_packages(...)`/`find:`). 398s 398s You can read more about "package discovery" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html 398s 398s If you don't want 'eventlet.zipkin.example' to be distributed and are 398s already explicitly excluding 'eventlet.zipkin.example' via 398s `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`, 398s you can try to use `exclude_package_data`, or `include-package-data=False` in 398s combination with a more fine grained `package-data` configuration. 398s 398s You can read more about "package data files" on setuptools documentation page: 398s 398s - https://setuptools.pypa.io/en/latest/userguide/datafiles.html 398s 398s 398s [^1]: For Python, any directory (with suitable naming) can be imported, 398s even if it does not contain any `.py` files. 398s On the other hand, currently there is no concept of package data 398s directory, all directories are treated like packages. 398s ******************************************************************************** 398s 398s !! 398s check.warn(importable) 398s copying eventlet/green/__pycache__/httplib.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/os.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/profile.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/select.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/selectors.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/socket.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/ssl.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/subprocess.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/thread.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/threading.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/time.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s copying eventlet/green/__pycache__/zmq.cpython-313.pyc -> build/lib/eventlet/green/__pycache__ 398s creating build/lib/eventlet/green/http/__pycache__ 398s copying eventlet/green/http/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/green/http/__pycache__ 398s copying eventlet/green/http/__pycache__/client.cpython-313.pyc -> build/lib/eventlet/green/http/__pycache__ 398s creating build/lib/eventlet/green/urllib/__pycache__ 398s copying eventlet/green/urllib/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/green/urllib/__pycache__ 398s copying eventlet/green/urllib/__pycache__/error.cpython-313.pyc -> build/lib/eventlet/green/urllib/__pycache__ 398s copying eventlet/green/urllib/__pycache__/parse.cpython-313.pyc -> build/lib/eventlet/green/urllib/__pycache__ 398s copying eventlet/green/urllib/__pycache__/request.cpython-313.pyc -> build/lib/eventlet/green/urllib/__pycache__ 398s copying eventlet/green/urllib/__pycache__/response.cpython-313.pyc -> build/lib/eventlet/green/urllib/__pycache__ 398s creating build/lib/eventlet/greenio/__pycache__ 398s copying eventlet/greenio/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/greenio/__pycache__ 398s copying eventlet/greenio/__pycache__/base.cpython-313.pyc -> build/lib/eventlet/greenio/__pycache__ 398s copying eventlet/greenio/__pycache__/py3.cpython-313.pyc -> build/lib/eventlet/greenio/__pycache__ 398s creating build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/asyncio.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/epolls.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/hub.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/kqueue.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/poll.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/selects.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s copying eventlet/hubs/__pycache__/timer.cpython-313.pyc -> build/lib/eventlet/hubs/__pycache__ 398s creating build/lib/eventlet/support/__pycache__ 398s copying eventlet/support/__pycache__/__init__.cpython-313.pyc -> build/lib/eventlet/support/__pycache__ 398s copying eventlet/support/__pycache__/greendns.cpython-313.pyc -> build/lib/eventlet/support/__pycache__ 398s copying eventlet/support/__pycache__/greenlets.cpython-313.pyc -> build/lib/eventlet/support/__pycache__ 398s copying eventlet/support/__pycache__/psycopg2_patcher.cpython-313.pyc -> build/lib/eventlet/support/__pycache__ 398s running install_lib 398s copying build/lib/eventlet/green/__pycache__/select.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/os.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/subprocess.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/ftplib.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/BaseHTTPServer.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/selectors.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/threading.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/Queue.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/httplib.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/SocketServer.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/builtin.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/_socket_nodns.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/profile.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/ssl.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/thread.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/MySQLdb.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/time.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/zmq.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/__pycache__/socket.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__pycache__ 398s copying build/lib/eventlet/green/http/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/__pycache__ 398s copying build/lib/eventlet/green/http/__pycache__/client.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/__pycache__ 398s copying build/lib/eventlet/green/urllib/__pycache__/request.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__pycache__ 398s copying build/lib/eventlet/green/urllib/__pycache__/parse.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__pycache__ 398s copying build/lib/eventlet/green/urllib/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__pycache__ 398s copying build/lib/eventlet/green/urllib/__pycache__/error.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__pycache__ 398s copying build/lib/eventlet/green/urllib/__pycache__/response.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__pycache__ 398s copying build/lib/eventlet/green/OpenSSL/__pycache__/version.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__pycache__ 398s copying build/lib/eventlet/green/OpenSSL/__pycache__/tsafe.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__pycache__ 398s copying build/lib/eventlet/green/OpenSSL/__pycache__/crypto.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__pycache__ 398s copying build/lib/eventlet/green/OpenSSL/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__pycache__ 398s copying build/lib/eventlet/green/OpenSSL/__pycache__/SSL.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__pycache__ 398s copying build/lib/eventlet/support/__pycache__/greenlets.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__pycache__ 398s copying build/lib/eventlet/support/__pycache__/psycopg2_patcher.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__pycache__ 398s copying build/lib/eventlet/support/__pycache__/greendns.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__pycache__ 398s copying build/lib/eventlet/support/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__pycache__ 398s copying build/lib/eventlet/__pycache__/websocket.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/greenpool.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/patcher.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/wsgi.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/dagpool.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/backdoor.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/convenience.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/corolocal.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/_version.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/semaphore.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/timeout.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/greenthread.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/event.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/tpool.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/lock.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/db_pool.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/pools.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/queue.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/debug.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/__pycache__/asyncio.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/poll.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/selects.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/kqueue.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/epolls.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/hub.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/timer.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/hubs/__pycache__/asyncio.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__pycache__ 398s copying build/lib/eventlet/greenio/__pycache__/base.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__pycache__ 398s copying build/lib/eventlet/greenio/__pycache__/py3.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__pycache__ 398s copying build/lib/eventlet/greenio/__pycache__/__init__.cpython-313.pyc -> /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__pycache__ 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/thread.py to thread.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asynchat.py to asynchat.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ftplib.py to ftplib.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/ssl.py to ssl.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/time.py to time.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/zmq.py to zmq.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/profile.py to profile.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/threading.py to threading.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/selectors.py to selectors.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/client.py to client.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/server.py to server.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookies.py to cookies.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/cookiejar.py to cookiejar.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/http/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/MySQLdb.py to MySQLdb.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/asyncore.py to asyncore.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/_socket_nodns.py to _socket_nodns.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/os.py to os.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/BaseHTTPServer.py to BaseHTTPServer.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib2.py to urllib2.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/request.py to request.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/response.py to response.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/parse.py to parse.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/urllib/error.py to error.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/socket.py to socket.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/builtin.py to builtin.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/select.py to select.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/httplib.py to httplib.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/tsafe.py to tsafe.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/version.py to version.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/crypto.py to crypto.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/OpenSSL/SSL.py to SSL.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/CGIHTTPServer.py to CGIHTTPServer.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SocketServer.py to SocketServer.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/subprocess.py to subprocess.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/Queue.py to Queue.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/green/SimpleHTTPServer.py to SimpleHTTPServer.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/debug.py to debug.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/dagpool.py to dagpool.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/semaphore.py to semaphore.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesspypys.py to stacklesspypys.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/psycopg2_patcher.py to psycopg2_patcher.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greendns.py to greendns.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/greenlets.py to greenlets.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/pylib.py to pylib.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/stacklesss.py to stacklesss.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/support/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/queue.py to queue.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/pools.py to pools.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/_version.py to _version.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/asyncio.py to asyncio.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/corolocal.py to corolocal.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/websocket.py to websocket.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/convenience.py to convenience.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/http.py to http.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/client.py to client.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/ttypes.py to ttypes.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/constants.py to constants.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/zipkinCore/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/_thrift/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/api.py to api.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/greenthread.py to greenthread.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/log.py to log.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/wsgi.py to wsgi.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/zipkin/patcher.py to patcher.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/pyevent.py to pyevent.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/poll.py to poll.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/asyncio.py to asyncio.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/selects.py to selects.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/hub.py to hub.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/kqueue.py to kqueue.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/timer.py to timer.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/hubs/epolls.py to epolls.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/tpool.py to tpool.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/base.py to base.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/py3.py to py3.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenio/__init__.py to __init__.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenpool.py to greenpool.cpython-314.pyc 398s /usr/lib/python3/dist-packages/eventlet/greenpool.py:95: SyntaxWarning: 'return' in a 'finally' block 398s return 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/coros.py to coros.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/greenthread.py to greenthread.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/lock.py to lock.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/wsgi.py to wsgi.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/db_pool.py to db_pool.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/backdoor.py to backdoor.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/event.py to event.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/patcher.py to patcher.cpython-314.pyc 398s byte-compiling /debian/tmp/usr/lib/python3/dist-packages/eventlet/timeout.py to timeout.cpython-314.pyc 398s running install_egg_info 398s removing '/debian/tmp/usr/lib/python3/dist-packages/eventlet-0.0.0.egg-info' (and everything under it) 398s Copying eventlet.egg-info to /debian/tmp/usr/lib/python3/dist-packages/eventlet-0.0.0.egg-info 398s Skipping SOURCES.txt 398s running install_scripts 400s ============================= test session starts ============================== 400s platform linux -- Python 3.14.2, pytest-9.0.2, pluggy-1.6.0 -- /usr/bin/python3.14 400s cachedir: .pytest_cache 400s rootdir: /tmp/autopkgtest.f44HyH/build.faM/src 400s configfile: pyproject.toml 400s plugins: typeguard-4.4.4, xdist-3.8.0 400s created: 2/2 workers 400s 2 workers [717 items] 400s 400s scheduling tests via LoadScheduling 400s 400s tests/api_test.py::TestApi::test_001_trampoline_timeout 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connection_is_clean_after_put 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_create_cursor 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_cursor_works_as_context_manager 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_doesnt_double_wrap 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_put_none 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_raising_create 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 400s [gw1] [ 0%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_returns_immediately 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_bad_query 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_run_query 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_safe_close 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_set_isolation_level 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_unwrap_connection 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_visibility_from_other_connections 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 400s [gw1] [ 1%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_waiters_get_woken 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_age 400s tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_zero_max_idle 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_bool 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_close_does_a_put 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connecting 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_connection_is_clean_after_put 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 400s [gw1] [ 2%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_create_cursor 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_cursor_works_as_context_manager 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_doesnt_double_wrap 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_put_none 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_raising_create 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_returns_immediately 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_bad_query 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 400s [gw1] [ 3%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_run_query 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_safe_close 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_set_isolation_level 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_unwrap_connection 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_visibility_from_other_connections 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_waiters_get_woken 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_age 400s tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 400s [gw1] [ 4%] SKIPPED tests/db_pool_test.py::Test02Psycopg2Raw::test_zero_max_idle 400s tests/debug_test.py::TestSpew::test_line 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line 400s tests/debug_test.py::TestSpew::test_line_global 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_global 400s tests/debug_test.py::TestSpew::test_line_nofile 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nofile 400s tests/debug_test.py::TestSpew::test_line_nooutput 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_nooutput 400s tests/debug_test.py::TestSpew::test_line_novalue 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_line_novalue 400s tests/debug_test.py::TestSpew::test_spew 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_spew 400s tests/debug_test.py::TestSpew::test_unspew 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestSpew::test_unspew 400s tests/debug_test.py::TestDebug::test_everything 400s [gw1] [ 5%] PASSED tests/debug_test.py::TestDebug::test_everything 400s tests/debug_test.py::TestDebug::test_hub_exceptions 400s [gw1] [ 6%] PASSED tests/debug_test.py::TestDebug::test_hub_exceptions 400s tests/env_test.py::test_hub_selects 400s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_001_trampoline_timeout 400s tests/api_test.py::TestApi::test_connect_ssl 400s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_ssl 400s tests/api_test.py::TestApi::test_connect_tcp 400s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_connect_tcp 400s tests/api_test.py::TestApi::test_killing_dormant 400s [gw1] [ 6%] PASSED tests/env_test.py::test_hub_selects 400s tests/env_test.py::test_tpool_dns 400s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_killing_dormant 401s tests/api_test.py::TestApi::test_nested_with_timeout 401s [gw0] [ 6%] PASSED tests/api_test.py::TestApi::test_nested_with_timeout 401s tests/api_test.py::TestApi::test_tcp_listener 401s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_tcp_listener 401s tests/api_test.py::TestApi::test_timeout_cancel 401s [gw0] [ 7%] PASSED tests/api_test.py::TestApi::test_timeout_cancel 401s tests/api_test.py::test_wrap_is_timeout 401s [gw0] [ 7%] PASSED tests/api_test.py::test_wrap_is_timeout 401s tests/api_test.py::test_timeouterror_deprecated 401s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_dns 401s tests/env_test.py::test_tpool_size 401s [gw0] [ 7%] PASSED tests/api_test.py::test_timeouterror_deprecated 401s tests/api_test.py::test_zero_second_sleep 401s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_size 401s tests/env_test.py::test_tpool_negative 401s [gw1] [ 7%] PASSED tests/env_test.py::test_tpool_negative 401s tests/env_test.py::test_tpool_zero 401s [gw0] [ 8%] PASSED tests/api_test.py::test_zero_second_sleep 401s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 401s [gw0] [ 8%] PASSED tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 401s tests/backdoor_test.py::BackdoorTest::test_server 401s [gw1] [ 8%] PASSED tests/env_test.py::test_tpool_zero 401s tests/event_test.py::TestEvent::test_double_exception 401s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_double_exception 401s tests/event_test.py::TestEvent::test_multiple_waiters 401s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters 401s tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 401s [gw1] [ 8%] PASSED tests/event_test.py::TestEvent::test_multiple_waiters_with_exception 401s tests/event_test.py::TestEvent::test_reset 401s [gw0] [ 8%] PASSED tests/backdoor_test.py::BackdoorTest::test_server 401s tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 401s [gw1] [ 9%] PASSED tests/event_test.py::TestEvent::test_reset 401s tests/event_test.py::TestEvent::test_waiting_for_event 401s [gw0] [ 9%] SKIPPED tests/backdoor_test.py::BackdoorTest::test_server_on_ipv6_socket 401s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 401s [gw1] [ 9%] PASSED tests/event_test.py::TestEvent::test_waiting_for_event 402s tests/event_test.py::test_wait_timeout_ok 402s [gw1] [ 9%] PASSED tests/event_test.py::test_wait_timeout_ok 402s tests/event_test.py::test_wait_timeout_exceed 402s [gw0] [ 9%] PASSED tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 402s tests/convenience_test.py::TestServe::test_blocking 402s [gw0] [ 9%] PASSED tests/convenience_test.py::TestServe::test_blocking 402s tests/convenience_test.py::TestServe::test_called_for_each_connection 402s [gw0] [ 9%] PASSED tests/convenience_test.py::TestServe::test_called_for_each_connection 402s tests/convenience_test.py::TestServe::test_concurrency 402s [gw1] [ 10%] PASSED tests/event_test.py::test_wait_timeout_exceed 402s tests/green_http_test.py::test_green_http_doesnt_change_original_module 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_concurrency 402s tests/convenience_test.py::TestServe::test_excepting_server 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_excepting_server 402s tests/convenience_test.py::TestServe::test_excepting_server_already_closed 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_excepting_server_already_closed 402s tests/convenience_test.py::TestServe::test_exiting_server 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_exiting_server 402s tests/convenience_test.py::TestServe::test_raising_stopserve 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_raising_stopserve 402s tests/convenience_test.py::TestServe::test_wrap_ssl 402s [gw0] [ 10%] PASSED tests/convenience_test.py::TestServe::test_wrap_ssl 402s tests/convenience_test.py::test_socket_reuse 402s [gw0] [ 11%] PASSED tests/convenience_test.py::test_socket_reuse 402s tests/convenience_test.py::test_reuse_random_port_warning 402s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuse_random_port_warning 402s tests/convenience_test.py::test_reuseport_oserror 402s [gw0] [ 11%] PASSED tests/convenience_test.py::test_reuseport_oserror 402s tests/dagpool_test.py::test_check_no_suspend 402s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_check_no_suspend 402s tests/dagpool_test.py::test_init 402s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_init 402s tests/dagpool_test.py::test_wait_each_empty 402s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_empty 402s tests/dagpool_test.py::test_wait_each_preload 402s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_preload 402s tests/dagpool_test.py::test_wait_each_posted 402s [gw0] [ 11%] PASSED tests/dagpool_test.py::test_wait_each_posted 402s tests/dagpool_test.py::test_wait_posted 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_posted 402s tests/dagpool_test.py::test_spawn_collision_preload 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_preload 402s tests/dagpool_test.py::test_spawn_collision_post 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_post 402s tests/dagpool_test.py::test_spawn_collision_spawn 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_collision_spawn 402s tests/dagpool_test.py::test_spawn_multiple 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_multiple 402s tests/dagpool_test.py::test_spawn_many 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_spawn_many 402s tests/dagpool_test.py::test_wait_each_all 402s [gw0] [ 12%] PASSED tests/dagpool_test.py::test_wait_each_all 402s tests/dagpool_test.py::test_kill 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_kill 402s tests/dagpool_test.py::test_post_collision_preload 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_preload 402s tests/dagpool_test.py::test_post_collision_post 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_post 402s tests/dagpool_test.py::test_post_collision_spawn 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_collision_spawn 402s tests/dagpool_test.py::test_post_replace 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_post_replace 402s tests/dagpool_test.py::test_getitem 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_getitem 402s tests/dagpool_test.py::test_waitall_exc 402s [gw0] [ 13%] PASSED tests/dagpool_test.py::test_waitall_exc 402s tests/dagpool_test.py::test_propagate_exc 402s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_propagate_exc 402s tests/dagpool_test.py::test_wait_each_exc 402s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_wait_each_exc 402s tests/dagpool_test.py::test_post_get_exc 402s [gw0] [ 14%] PASSED tests/dagpool_test.py::test_post_get_exc 402s tests/db_pool_test.py::test_raw_pool_issue_125 402s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_issue_125 402s tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 402s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_ok 402s tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 402s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_arg_error 402s tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 402s [gw0] [ 14%] PASSED tests/db_pool_test.py::test_raw_pool_custom_cleanup_fatal 402s tests/db_pool_test.py::test_raw_pool_clear_update_current_size 402s [gw0] [ 15%] PASSED tests/db_pool_test.py::test_raw_pool_clear_update_current_size 402s tests/db_pool_test.py::Test01MysqlTpool::test_bool 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_bool 402s tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_close_does_a_put 402s tests/db_pool_test.py::Test01MysqlTpool::test_connecting 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connecting 402s tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_connection_is_clean_after_put 402s tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_create_cursor 402s tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 402s [gw0] [ 15%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_doesnt_double_wrap 402s tests/db_pool_test.py::Test01MysqlTpool::test_put_none 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_put_none 402s tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_raising_create 402s tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_returns_immediately 402s tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_bad_query 402s tests/db_pool_test.py::Test01MysqlTpool::test_run_query 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_run_query 402s tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_safe_close 402s tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 402s [gw0] [ 16%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_unwrap_connection 402s tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_visibility_from_other_connections 402s tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_waiters_get_woken 402s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_age 402s tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test01MysqlTpool::test_zero_max_idle 402s tests/db_pool_test.py::Test02MysqlRaw::test_bool 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_bool 402s tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_close_does_a_put 402s tests/db_pool_test.py::Test02MysqlRaw::test_connecting 402s [gw0] [ 17%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connecting 402s tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 402s [gw1] [ 17%] PASSED tests/green_http_test.py::test_green_http_doesnt_change_original_module 402s tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_connection_is_clean_after_put 402s tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_create_cursor 402s tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_doesnt_double_wrap 402s tests/db_pool_test.py::Test02MysqlRaw::test_put_none 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_put_none 402s tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_raising_create 402s tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_returns_immediately 402s tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 402s [gw0] [ 18%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_bad_query 402s tests/db_pool_test.py::Test02MysqlRaw::test_run_query 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_run_query 402s tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_safe_close 402s tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_unwrap_connection 402s tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_visibility_from_other_connections 402s tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_waiters_get_woken 402s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_age 402s tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 402s [gw0] [ 19%] SKIPPED tests/db_pool_test.py::Test02MysqlRaw::test_zero_max_idle 402s tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 402s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_bool 402s tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 402s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_close_does_a_put 402s tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 402s [gw0] [ 20%] SKIPPED tests/db_pool_test.py::Test01Psycopg2Tpool::test_connecting 402s tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 402s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_del_closes_socket 402s tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 402s [gw0] [ 20%] PASSED tests/greenio_test.py::TestGreenSocket::test_dup_nonblocking 402s tests/greenio_test.py::TestGreenSocket::test_full_duplex 402s [gw1] [ 20%] PASSED tests/green_http_test.py::test_green_httplib_doesnt_change_original_module 402s tests/green_http_test.py::test_http_request_encode_chunked_kwarg 402s [gw1] [ 20%] PASSED tests/green_http_test.py::test_http_request_encode_chunked_kwarg 402s tests/green_profile_test.py::test_green_profile_basic 402s [gw1] [ 21%] PASSED tests/green_profile_test.py::test_green_profile_basic 402s tests/green_select_test.py::test_select_mark_file_as_reopened 402s [gw1] [ 21%] PASSED tests/green_select_test.py::test_select_mark_file_as_reopened 402s tests/greendns_test.py::TestHostsResolver::test_default_fname 402s [gw1] [ 21%] PASSED tests/greendns_test.py::TestHostsResolver::test_default_fname 402s tests/greendns_test.py::TestHostsResolver::test_getaliases 402s [gw1] [ 21%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases 402s tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 402s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_full_duplex 402s tests/greenio_test.py::TestGreenSocket::test_invalid_connection 402s [gw1] [ 21%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_fqdn 402s tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 402s [gw0] [ 21%] PASSED tests/greenio_test.py::TestGreenSocket::test_invalid_connection 402s tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 402s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_getaliases_unknown 402s tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 402s [gw0] [ 22%] PASSED tests/greenio_test.py::TestGreenSocket::test_nonblocking_accept_mark_as_reopened 402s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_hosts_case_insensitive 402s tests/greendns_test.py::TestHostsResolver::test_load_no_contents 402s tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 402s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_no_contents 402s tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 402s [gw0] [ 22%] PASSED tests/greenio_test.py::TestGreenSocket::test_raised_multiple_readers 402s tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 402s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v4_v6_cname_aliases 402s tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 402s [gw1] [ 22%] PASSED tests/greendns_test.py::TestHostsResolver::test_load_v6_link_local 402s tests/greendns_test.py::TestHostsResolver::test_query_A 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_A 402s tests/greendns_test.py::TestHostsResolver::test_query_AAAA 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_AAAA 402s tests/greendns_test.py::TestHostsResolver::test_query_CNAME 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_CNAME 402s tests/greendns_test.py::TestHostsResolver::test_query_ans_types 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_ans_types 402s tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 402s [gw0] [ 23%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_into_timeout 402s tests/greenio_test.py::TestGreenSocket::test_recv_timeout 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_no_raise 402s tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_raises 402s tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 402s [gw1] [ 23%] PASSED tests/greendns_test.py::TestHostsResolver::test_query_unknown_type 403s tests/greendns_test.py::TestHostsResolver::test_readlines_lines 403s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_lines 403s tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 403s [gw1] [ 24%] PASSED tests/greendns_test.py::TestHostsResolver::test_readlines_missing_file 403s tests/greendns_test.py::TestUdp::test_udp_ipv4 403s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4 403s tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 403s [gw0] [ 24%] PASSED tests/greenio_test.py::TestGreenSocket::test_recv_timeout 403s tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 403s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_timeout 403s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 403s [gw1] [ 24%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr 403s tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 403s [gw0] [ 24%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_into_timeout 403s tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 403s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv4_wrong_addr_ignore 403s tests/greendns_test.py::TestUdp::test_udp_ipv6 403s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6 405s tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 405s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_addr_zeroes 405s tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 405s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_timeout 405s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 405s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_recvfrom_timeout 405s tests/greenio_test.py::TestGreenSocket::test_send_timeout 405s [gw1] [ 25%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr 405s tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 405s [gw0] [ 25%] PASSED tests/greenio_test.py::TestGreenSocket::test_send_timeout 405s tests/greenio_test.py::TestGreenSocket::test_sendall 405s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall 405s tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 405s [gw1] [ 26%] PASSED tests/greendns_test.py::TestUdp::test_udp_ipv6_wrong_addr_ignore 405s tests/greendns_test.py::TestProxyResolver::test_getaliases 405s [gw1] [ 26%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases 405s tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 405s [gw1] [ 26%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_fqdn 405s tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 405s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_sendall_timeout 405s tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 405s [gw1] [ 26%] PASSED tests/greendns_test.py::TestProxyResolver::test_getaliases_nxdomain 405s tests/greendns_test.py::TestProxyResolver::test_hosts 405s [gw0] [ 26%] PASSED tests/greenio_test.py::TestGreenSocket::test_shutdown_safe 405s tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 405s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts 405s tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 405s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_skip_nonblocking 405s tests/greenio_test.py::TestGreenSocket::test_socketpair_select 405s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_hosts_noanswer 405s tests/greendns_test.py::TestProxyResolver::test_noanswer 405s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_socketpair_select 405s tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 405s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer 405s tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 405s [gw0] [ 27%] PASSED tests/greenio_test.py::TestGreenSocket::test_sockopt_interface 405s tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 405s [gw1] [ 27%] PASSED tests/greendns_test.py::TestProxyResolver::test_noanswer_hosts 405s tests/greendns_test.py::TestProxyResolver::test_nxdomain 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_nxdomain 405s tests/greendns_test.py::TestProxyResolver::test_resolver 405s [gw0] [ 28%] PASSED tests/greenio_test.py::TestGreenSocket::test_timeout_and_final_write 405s tests/greenio_test.py::TestGreenSocket::test_wrap_socket 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestProxyResolver::test_resolver 405s tests/greendns_test.py::TestResolve::test_A 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_A 405s tests/greendns_test.py::TestResolve::test_AAAA 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_AAAA 405s tests/greendns_test.py::TestResolve::test_exc 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_exc 405s tests/greendns_test.py::TestResolve::test_noraise_noanswer 405s [gw1] [ 28%] PASSED tests/greendns_test.py::TestResolve::test_noraise_noanswer 405s tests/greendns_test.py::TestResolve::test_noraise_nxdomain 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_noraise_nxdomain 405s tests/greendns_test.py::TestResolve::test_timeout 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_timeout 405s tests/greendns_test.py::TestResolve::test_unknown_rdtype 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolve::test_unknown_rdtype 405s tests/greendns_test.py::TestResolveCname::test_no_answer 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_no_answer 405s tests/greendns_test.py::TestResolveCname::test_nodata 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_nodata 405s tests/greendns_test.py::TestResolveCname::test_success 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_success 405s tests/greendns_test.py::TestResolveCname::test_timeout 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestResolveCname::test_timeout 405s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 405s [gw1] [ 29%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG 405s tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_AI_ADDRCONFIG_noaddr 405s tests/greendns_test.py::TestGetaddrinfo::test_canonname 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_canonname 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_bytes 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_error 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_ans_with_timeout 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 405s [gw1] [ 30%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_dns_error 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 405s [gw0] [ 31%] PASSED tests/greenio_test.py::TestGreenSocket::test_wrap_socket 405s tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_hosts_only_timeout 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_idn 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_inet6 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_a_ans 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 405s [gw1] [ 31%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_only_aaaa_ans 405s tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_getaddrinfo_type_parameter 405s tests/greendns_test.py::TestGetaddrinfo::test_host_none 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none 405s tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_host_none_passive 405s tests/greendns_test.py::TestGetaddrinfo::test_noport 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_noport 405s tests/greendns_test.py::TestGetaddrinfo::test_numerichost 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numerichost 405s tests/greendns_test.py::TestGetaddrinfo::test_numericserv 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_numericserv 405s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 405s [gw1] [ 32%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped 405s tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 405s [gw1] [ 33%] PASSED tests/greendns_test.py::TestGetaddrinfo::test_v4mapped_all 405s tests/greendns_test.py::TestIsIpAddr::test_isv4 405s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4 405s tests/greendns_test.py::TestIsIpAddr::test_isv4_false 405s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_false 405s tests/greendns_test.py::TestIsIpAddr::test_isv4_none 405s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv4_none 405s tests/greendns_test.py::TestIsIpAddr::test_isv6 405s [gw0] [ 33%] PASSED tests/greenio_test.py::TestGreenSocket::test_zero_timeout_and_back 405s tests/greenio_test.py::test_get_fileno_of_a_socket_works 405s [gw0] [ 33%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_works 405s tests/greenio_test.py::test_get_fileno_of_an_int_works 405s [gw1] [ 33%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6 405s tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 405s [gw0] [ 34%] PASSED tests/greenio_test.py::test_get_fileno_of_an_int_works 405s tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 405s [gw0] [ 34%] PASSED tests/greenio_test.py::test_get_fileno_of_wrong_type_fails 405s tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 405s [gw0] [ 34%] PASSED tests/greenio_test.py::test_get_fileno_of_a_socket_with_fileno_returning_wrong_type_fails 405s tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 405s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_invalid 405s tests/greendns_test.py::TestIsIpAddr::test_isv6_none 405s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_isv6_none 405s tests/greendns_test.py::TestIsIpAddr::test_none 405s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_none 405s tests/greendns_test.py::TestIsIpAddr::test_v4 405s [gw1] [ 34%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4 405s tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v4_illegal 405s tests/greendns_test.py::TestIsIpAddr::test_v6_addr 405s [gw0] [ 35%] FAILED tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end 405s tests/greenio_test.py::TestGreenPipe::test_pipe 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestIsIpAddr::test_v6_addr 405s tests/greendns_test.py::TestGethostbyname::test_ipaddr 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname::test_ipaddr 405s tests/greendns_test.py::TestGethostbyname::test_name 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname::test_name 405s tests/greendns_test.py::TestGetaliases::test_getaliases 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGetaliases::test_getaliases 405s tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_ipaddr 405s tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 405s [gw1] [ 35%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_multiple_addrs 405s tests/greendns_test.py::TestGethostbyname_ex::test_name 405s [gw1] [ 36%] PASSED tests/greendns_test.py::TestGethostbyname_ex::test_name 405s tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 405s [gw1] [ 36%] PASSED tests/greendns_test.py::TestRaiseErrors::test_raise_new_error 405s tests/greendns_test.py::test_reverse_name 405s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe 405s tests/greenio_test.py::TestGreenPipe::test_pipe_read 405s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_read 405s tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 405s [gw0] [ 36%] PASSED tests/greenio_test.py::TestGreenPipe::test_pipe_read_unbuffered 405s tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 405s [gw0] [ 36%] FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 405s tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 405s [gw0] [ 36%] PASSED tests/greenio_test.py::TestGreenPipe::test_seek_on_buffered_pipe 405s tests/greenio_test.py::TestGreenPipe::test_truncate 405s [gw0] [ 37%] PASSED tests/greenio_test.py::TestGreenPipe::test_truncate 405s tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 405s [gw1] [ 37%] PASSED tests/greendns_test.py::test_reverse_name 405s tests/greendns_test.py::test_proxy_resolve_unqualified 405s [gw1] [ 37%] PASSED tests/greendns_test.py::test_proxy_resolve_unqualified 405s tests/greendns_test.py::test_hosts_priority 405s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_priority 405s tests/greendns_test.py::test_hosts_no_network 405s [gw1] [ 37%] PASSED tests/greendns_test.py::test_hosts_no_network 405s tests/greendns_test.py::test_import_rdtypes_then_eventlet 405s [gw1] [ 37%] PASSED tests/greendns_test.py::test_import_rdtypes_then_eventlet 405s tests/greenio_test.py::TestGreenSocket::test_accept_timeout 405s [gw1] [ 37%] PASSED tests/greenio_test.py::TestGreenSocket::test_accept_timeout 405s tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 405s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_blocking_accept_mark_as_reopened 405s tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 405s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_close_with_makefile 405s tests/greenio_test.py::TestGreenSocket::test_closure 405s [gw1] [ 38%] SKIPPED tests/greenio_test.py::TestGreenSocket::test_closure 405s tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 405s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_datagram_socket_operations_work 405s tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 405s [gw1] [ 38%] PASSED tests/greenio_test.py::TestGreenSocket::test_default_nonblocking 405s tests/hub_test.py::test_use_hub_class 405s [gw1] [ 38%] PASSED tests/hub_test.py::test_use_hub_class 405s tests/hub_test.py::test_kqueue_unsupported 405s [gw1] [ 38%] PASSED tests/hub_test.py::test_kqueue_unsupported 405s tests/mysqldb_test.py::TestMySQLdb::test_connecting 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting 405s tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_connecting_annoyingly 405s tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_create_cursor 405s tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_module_attributes 405s tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_bad_query 405s tests/mysqldb_test.py::TestMySQLdb::test_run_query 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_run_query 405s tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 405s [gw1] [ 39%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_visibility_from_other_connections 405s tests/mysqldb_test.py::TestMySQLdb::test_yields 405s [gw1] [ 40%] SKIPPED tests/mysqldb_test.py::TestMySQLdb::test_yields 405s tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 405s [gw1] [ 40%] SKIPPED tests/mysqldb_test.py::TestMonkeyPatch::test_monkey_patching 405s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 405s [gw1] [ 40%] PASSED tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 405s tests/openssl_test.py::test_import 405s [gw1] [ 40%] PASSED tests/openssl_test.py::test_import 405s tests/os_test.py::test_pathlib_open_issue_534 405s [gw1] [ 40%] PASSED tests/os_test.py::test_pathlib_open_issue_534 405s tests/os_test.py::test_os_read_nonblocking 405s [gw1] [ 40%] PASSED tests/os_test.py::test_os_read_nonblocking 408s tests/os_test.py::test_os_write_nonblocking 408s [gw1] [ 40%] PASSED tests/os_test.py::test_os_write_nonblocking 408s tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 408s [gw1] [ 41%] SKIPPED tests/patcher_psycopg_test.py::PatchingPsycopg::test_psycopg_patched 408s tests/patcher_test.py::ImportPatched::test_patch_a_module 408s [gw1] [ 41%] PASSED tests/patcher_test.py::ImportPatched::test_patch_a_module 408s tests/patcher_test.py::test_import_patched_handles_sub_modules 408s [gw1] [ 41%] PASSED tests/patcher_test.py::test_import_patched_handles_sub_modules 408s tests/patcher_test.py::MonkeyPatch::test_boolean 408s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean 409s tests/patcher_test.py::MonkeyPatch::test_boolean_all 409s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all 409s tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 409s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_negative 409s tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 409s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_all_single 409s tests/patcher_test.py::MonkeyPatch::test_boolean_double 409s [gw1] [ 41%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_double 410s tests/patcher_test.py::MonkeyPatch::test_boolean_negative 410s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative 410s tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 410s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_negative2 410s tests/patcher_test.py::MonkeyPatch::test_boolean_single 410s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_boolean_single 411s tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 411s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_conflicting_specifications 411s tests/patcher_test.py::MonkeyPatch::test_early_patching 411s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_early_patching 411s tests/patcher_test.py::MonkeyPatch::test_late_patching 411s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_late_patching 412s tests/patcher_test.py::MonkeyPatch::test_patched_modules 412s [gw1] [ 42%] PASSED tests/patcher_test.py::MonkeyPatch::test_patched_modules 412s tests/patcher_test.py::MonkeyPatch::test_typeerror 412s [gw1] [ 43%] PASSED tests/patcher_test.py::MonkeyPatch::test_typeerror 413s tests/patcher_test.py::Tpool::test_patched_thread 413s [gw1] [ 43%] PASSED tests/patcher_test.py::Tpool::test_patched_thread 413s tests/patcher_test.py::Tpool::test_simple 413s [gw0] [ 43%] PASSED tests/greenio_test.py::TestGreenIoLong::test_multiple_readers 413s tests/greenio_test.py::test_set_nonblocking 413s [gw0] [ 43%] PASSED tests/greenio_test.py::test_set_nonblocking 413s tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 413s [gw0] [ 43%] PASSED tests/greenio_test.py::test_socket_del_fails_gracefully_when_not_fully_initialized 413s tests/greenio_test.py::test_double_close_219 413s [gw1] [ 43%] PASSED tests/patcher_test.py::Tpool::test_simple 413s tests/patcher_test.py::Tpool::test_unpatched_thread 413s [gw0] [ 43%] PASSED tests/greenio_test.py::test_double_close_219 413s tests/greenio_test.py::test_partial_write_295 413s [gw0] [ 44%] PASSED tests/greenio_test.py::test_partial_write_295 413s tests/greenio_test.py::test_socket_file_read_non_int 413s [gw0] [ 44%] PASSED tests/greenio_test.py::test_socket_file_read_non_int 413s tests/greenio_test.py::test_pipe_context 413s [gw0] [ 44%] FAILED tests/greenio_test.py::test_pipe_context 413s tests/greenio_test.py::test_greenpipe_write 413s [gw0] [ 44%] FAILED tests/greenio_test.py::test_greenpipe_write 413s tests/greenio_test.py::test_greenpipe_append 413s [gw0] [ 44%] FAILED tests/greenio_test.py::test_greenpipe_append 413s tests/greenio_test.py::test_greenpipe_read_overwrite 413s [gw0] [ 44%] FAILED tests/greenio_test.py::test_greenpipe_read_overwrite 414s tests/greenio_test.py::test_greenpipe_write_plus 414s [gw0] [ 44%] FAILED tests/greenio_test.py::test_greenpipe_write_plus 414s tests/greenio_test.py::test_greenpipe_append_plus 414s [gw0] [ 45%] FAILED tests/greenio_test.py::test_greenpipe_append_plus 414s tests/greenpool_test.py::GreenPool::test_empty_imap 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_empty_imap 414s tests/greenpool_test.py::GreenPool::test_exceptions 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_exceptions 414s tests/greenpool_test.py::GreenPool::test_imap 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap 414s tests/greenpool_test.py::GreenPool::test_imap_multi_args 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_multi_args 414s tests/greenpool_test.py::GreenPool::test_imap_nonefunc 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_nonefunc 414s tests/greenpool_test.py::GreenPool::test_imap_raises 414s [gw0] [ 45%] PASSED tests/greenpool_test.py::GreenPool::test_imap_raises 414s tests/greenpool_test.py::GreenPool::test_multiple_coros 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_multiple_coros 414s tests/greenpool_test.py::GreenPool::test_pool_smash 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_pool_smash 414s tests/greenpool_test.py::GreenPool::test_recursive_waitall 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_recursive_waitall 414s tests/greenpool_test.py::GreenPool::test_reentrant 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_reentrant 414s tests/greenpool_test.py::GreenPool::test_resize 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_resize 414s tests/greenpool_test.py::GreenPool::test_spawn 414s [gw1] [ 46%] PASSED tests/patcher_test.py::Tpool::test_unpatched_thread 414s tests/patcher_test.py::test_subprocess_after_monkey_patch 414s [gw0] [ 46%] PASSED tests/greenpool_test.py::GreenPool::test_spawn 414s tests/greenpool_test.py::GreenPool::test_spawn_n 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n 414s tests/greenpool_test.py::GreenPool::test_spawn_n_2 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_spawn_n_2 414s tests/greenpool_test.py::GreenPool::test_starmap 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_starmap 414s tests/greenpool_test.py::GreenPool::test_timer_cancel 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_timer_cancel 414s tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_waitall_on_nothing 414s tests/greenpool_test.py::GreenPool::test_waiting 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPool::test_waiting 414s tests/greenpool_test.py::GreenPile::test_constructing_from_pool 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_constructing_from_pool 414s tests/greenpool_test.py::GreenPile::test_empty_pile 414s [gw0] [ 47%] PASSED tests/greenpool_test.py::GreenPile::test_empty_pile 414s tests/greenpool_test.py::GreenPile::test_pile 414s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPile::test_pile 414s tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 414s [gw0] [ 48%] PASSED tests/greenpool_test.py::GreenPile::test_pile_spawn_times_out 414s tests/greenpool_test.py::test_greenpool_type_check 414s [gw0] [ 48%] PASSED tests/greenpool_test.py::test_greenpool_type_check 414s tests/greenpool_test.py::Stress::test_imap_50 414s [gw1] [ 48%] PASSED tests/patcher_test.py::test_subprocess_after_monkey_patch 415s tests/patcher_test.py::Threading::test_greenlet 415s [gw1] [ 48%] PASSED tests/patcher_test.py::Threading::test_greenlet 415s tests/patcher_test.py::Threading::test_greenthread 415s [gw1] [ 48%] PASSED tests/patcher_test.py::Threading::test_greenthread 415s tests/patcher_test.py::Threading::test_keyerror 415s [gw1] [ 48%] PASSED tests/patcher_test.py::Threading::test_keyerror 416s tests/patcher_test.py::Threading::test_tpool 416s [gw1] [ 49%] PASSED tests/patcher_test.py::Threading::test_tpool 416s tests/patcher_test.py::Os::test_waitpid 416s [gw1] [ 49%] PASSED tests/patcher_test.py::Os::test_waitpid 416s tests/patcher_test.py::GreenThreadWrapper::test_ident 416s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_ident 416s tests/patcher_test.py::GreenThreadWrapper::test_is_alive 416s [gw0] [ 49%] PASSED tests/greenpool_test.py::Stress::test_imap_50 417s tests/greenpool_test.py::Stress::test_imap_500 417s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_alive 417s tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 417s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_is_daemon 417s tests/patcher_test.py::GreenThreadWrapper::test_join 417s [gw1] [ 49%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_join 418s tests/patcher_test.py::GreenThreadWrapper::test_name 418s [gw1] [ 50%] PASSED tests/patcher_test.py::GreenThreadWrapper::test_name 418s tests/patcher_test.py::test_patcher_existing_locks_early 418s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_early 418s tests/patcher_test.py::test_patcher_existing_locks_late 418s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_locks_late 418s tests/patcher_test.py::test_patcher_existing_locks_unlocked 418s [gw1] [ 50%] SKIPPED tests/patcher_test.py::test_patcher_existing_locks_unlocked 419s tests/patcher_test.py::test_patcher_existing_logging_module_lock 419s [gw1] [ 50%] PASSED tests/patcher_test.py::test_patcher_existing_logging_module_lock 419s tests/patcher_test.py::test_importlib_lock 419s [gw1] [ 50%] PASSED tests/patcher_test.py::test_importlib_lock 419s tests/patcher_test.py::test_threading_condition 419s [gw0] [ 50%] PASSED tests/greenpool_test.py::Stress::test_imap_500 419s tests/greenpool_test.py::Stress::test_ordering_5 419s [gw1] [ 51%] PASSED tests/patcher_test.py::test_threading_condition 420s tests/patcher_test.py::test_threading_join 420s [gw0] [ 51%] PASSED tests/greenpool_test.py::Stress::test_ordering_5 420s tests/greenpool_test.py::Stress::test_ordering_50 420s [gw0] [ 51%] PASSED tests/greenpool_test.py::Stress::test_ordering_50 420s tests/greenpool_test.py::Stress::test_with_intpool 420s [gw0] [ 51%] PASSED tests/greenpool_test.py::Stress::test_with_intpool 420s tests/greenthread_test.py::Spawn::test_kill 420s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill 420s tests/greenthread_test.py::Spawn::test_kill_meth 420s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill_meth 420s tests/greenthread_test.py::Spawn::test_kill_n 420s [gw0] [ 51%] PASSED tests/greenthread_test.py::Spawn::test_kill_n 420s tests/greenthread_test.py::Spawn::test_link 420s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_link 420s tests/greenthread_test.py::Spawn::test_link_after_exited 420s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_link_after_exited 420s tests/greenthread_test.py::Spawn::test_link_relinks 420s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_link_relinks 420s tests/greenthread_test.py::Spawn::test_n 420s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_n 420s tests/greenthread_test.py::Spawn::test_simple 420s [gw0] [ 52%] PASSED tests/greenthread_test.py::Spawn::test_simple 420s tests/greenthread_test.py::SpawnAfter::test_basic 420s [gw1] [ 52%] PASSED tests/patcher_test.py::test_threading_join 421s tests/patcher_test.py::test_socketserver_selectors 421s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_basic 421s tests/greenthread_test.py::SpawnAfter::test_cancel 421s [gw0] [ 52%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel 421s tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_cancel_already_started 421s tests/greenthread_test.py::SpawnAfter::test_kill 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill 421s tests/greenthread_test.py::SpawnAfter::test_kill_already_started 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_already_started 421s tests/greenthread_test.py::SpawnAfter::test_kill_meth 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_meth 421s tests/greenthread_test.py::SpawnAfter::test_kill_n 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_kill_n 421s tests/greenthread_test.py::SpawnAfter::test_link 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_link 421s tests/greenthread_test.py::SpawnAfter::test_link_after_exited 421s [gw0] [ 53%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_after_exited 421s tests/greenthread_test.py::SpawnAfter::test_link_relinks 421s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfter::test_link_relinks 421s tests/greenthread_test.py::SpawnAfter::test_n 421s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfter::test_n 421s tests/greenthread_test.py::SpawnAfter::test_simple 421s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfter::test_simple 421s tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 421s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_spawn_is_not_cancelled 421s tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 421s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_cancelled_upon_greenlet_exit 421s tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 421s [gw1] [ 54%] PASSED tests/patcher_test.py::test_socketserver_selectors 422s tests/patcher_test.py::test_blocking_select_methods_are_deleted 422s [gw0] [ 54%] PASSED tests/greenthread_test.py::SpawnAfterLocal::test_timer_fired 422s tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 422s [gw1] [ 55%] PASSED tests/patcher_test.py::test_blocking_select_methods_are_deleted 422s tests/patcher_test.py::test_regular_file_readall 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_accumulated 422s tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestTimerCleanup::test_cancel_immediate 422s tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestMultipleListenersCleanup::test_cleanup 422s tests/hub_test.py::TestScheduleCall::test_global 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_global 422s tests/hub_test.py::TestScheduleCall::test_local 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_local 422s tests/hub_test.py::TestScheduleCall::test_ordering 422s [gw0] [ 55%] PASSED tests/hub_test.py::TestScheduleCall::test_ordering 422s tests/hub_test.py::TestDebug::test_debug_listeners 422s [gw0] [ 56%] PASSED tests/hub_test.py::TestDebug::test_debug_listeners 422s tests/hub_test.py::TestDebug::test_timer_exceptions 422s [gw0] [ 56%] PASSED tests/hub_test.py::TestDebug::test_timer_exceptions 422s tests/hub_test.py::TestExceptionInMainloop::test_sleep 422s [gw0] [ 56%] PASSED tests/hub_test.py::TestExceptionInMainloop::test_sleep 422s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 422s [gw0] [ 56%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionleaks 422s tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 422s [gw0] [ 56%] PASSED tests/hub_test.py::TestExceptionInGreenthread::test_exceptionpreservation 422s tests/hub_test.py::TestHubBlockingDetector::test_block_detect 422s [gw1] [ 56%] FAILED tests/patcher_test.py::test_regular_file_readall 422s tests/patcher_test.py::test_threading_current 422s [gw1] [ 56%] PASSED tests/patcher_test.py::test_threading_current 423s tests/patcher_test.py::test_threadpoolexecutor 423s [gw1] [ 57%] PASSED tests/patcher_test.py::test_threadpoolexecutor 423s tests/patcher_test.py::test_builtin 423s [gw1] [ 57%] PASSED tests/patcher_test.py::test_builtin 423s tests/patcher_test.py::test_open_kwargs 423s [gw0] [ 57%] PASSED tests/hub_test.py::TestHubBlockingDetector::test_block_detect 423s tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 423s [gw0] [ 57%] SKIPPED tests/hub_test.py::TestHubBlockingDetector::test_block_detect_with_itimer 423s tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 423s [gw1] [ 57%] PASSED tests/patcher_test.py::test_open_kwargs 423s tests/patcher_test.py::test_patcher_existing_locks 423s [gw1] [ 57%] PASSED tests/patcher_test.py::test_patcher_existing_locks 424s tests/patcher_test.py::test_patcher_existing_locks_exception 424s [gw1] [ 57%] PASSED tests/patcher_test.py::test_patcher_existing_locks_exception 424s tests/patcher_test.py::test_patcher_threading_subclass_done 424s [gw0] [ 58%] PASSED tests/hub_test.py::TestSuspend::test_suspend_doesnt_crash 424s tests/hub_test.py::test_repeated_select_bad_fd 424s [gw0] [ 58%] PASSED tests/hub_test.py::test_repeated_select_bad_fd 424s tests/hub_test.py::test_fork 424s [gw0] [ 58%] PASSED tests/hub_test.py::test_fork 424s tests/hub_test.py::test_fork_simple 424s [gw1] [ 58%] PASSED tests/patcher_test.py::test_patcher_threading_subclass_done 424s tests/pools_test.py::TestIntPool::test_blocks_on_pool 424s [gw1] [ 58%] PASSED tests/pools_test.py::TestIntPool::test_blocks_on_pool 424s tests/pools_test.py::TestIntPool::test_create_contention 424s [gw1] [ 58%] PASSED tests/pools_test.py::TestIntPool::test_create_contention 424s tests/pools_test.py::TestIntPool::test_exhaustion 424s [gw1] [ 58%] PASSED tests/pools_test.py::TestIntPool::test_exhaustion 424s tests/pools_test.py::TestIntPool::test_free 424s [gw1] [ 58%] PASSED tests/pools_test.py::TestIntPool::test_free 424s tests/pools_test.py::TestIntPool::test_integers 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool::test_integers 424s tests/pools_test.py::TestIntPool::test_ordering 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool::test_ordering 424s tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool::test_put_with_timed_out_getters 424s tests/pools_test.py::TestIntPool::test_putting_to_queue 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool::test_putting_to_queue 424s tests/pools_test.py::TestIntPool::test_resize 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool::test_resize 424s tests/pools_test.py::TestAbstract::test_abstract 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestAbstract::test_abstract 424s tests/pools_test.py::TestIntPool2::test_something 424s [gw1] [ 59%] PASSED tests/pools_test.py::TestIntPool2::test_something 424s tests/pools_test.py::TestOrderAsStack::test_ordering 424s [gw1] [ 60%] PASSED tests/pools_test.py::TestOrderAsStack::test_ordering 424s tests/pools_test.py::TestCreateRaises::test_it 424s [gw1] [ 60%] PASSED tests/pools_test.py::TestCreateRaises::test_it 424s tests/queue_test.py::TestQueue::test_channel_send 424s [gw1] [ 60%] PASSED tests/queue_test.py::TestQueue::test_channel_send 424s tests/queue_test.py::TestQueue::test_channel_sender_timing_out 424s [gw1] [ 60%] PASSED tests/queue_test.py::TestQueue::test_channel_sender_timing_out 424s tests/queue_test.py::TestQueue::test_channel_wait 424s [gw1] [ 60%] PASSED tests/queue_test.py::TestQueue::test_channel_wait 424s tests/queue_test.py::TestQueue::test_channel_waiters 424s [gw1] [ 60%] PASSED tests/queue_test.py::TestQueue::test_channel_waiters 424s tests/queue_test.py::TestQueue::test_getting_before_sending 424s [gw1] [ 60%] PASSED tests/queue_test.py::TestQueue::test_getting_before_sending 424s tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 424s [gw1] [ 61%] PASSED tests/queue_test.py::TestQueue::test_join_doesnt_block_when_queue_is_already_empty 424s tests/queue_test.py::TestQueue::test_max_size 424s [gw1] [ 61%] PASSED tests/queue_test.py::TestQueue::test_max_size 424s tests/queue_test.py::TestQueue::test_multiple_waiters 424s [gw1] [ 61%] PASSED tests/queue_test.py::TestQueue::test_multiple_waiters 424s tests/queue_test.py::TestQueue::test_resize_down 424s [gw1] [ 61%] PASSED tests/queue_test.py::TestQueue::test_resize_down 424s tests/queue_test.py::TestQueue::test_resize_to_Unlimited 424s [gw1] [ 61%] PASSED tests/queue_test.py::TestQueue::test_resize_to_Unlimited 424s tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 424s [gw1] [ 61%] PASSED tests/ssl_test.py::SSLTest::test_recv_after_ssl_connect 424s tests/ssl_test.py::SSLTest::test_regression_gh_17 424s [gw1] [ 61%] PASSED tests/ssl_test.py::SSLTest::test_regression_gh_17 424s tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 424s [gw0] [ 62%] PASSED tests/hub_test.py::test_fork_simple 424s tests/hub_test.py::TestDeadRunLoop::test_kill 424s [gw1] [ 62%] PASSED tests/ssl_test.py::SSLTest::test_sendall_cpu_usage 425s tests/ssl_test.py::SSLTest::test_ssl_close 425s [gw1] [ 62%] PASSED tests/ssl_test.py::SSLTest::test_ssl_close 425s tests/ssl_test.py::SSLTest::test_ssl_connect 425s [gw1] [ 62%] PASSED tests/ssl_test.py::SSLTest::test_ssl_connect 425s tests/ssl_test.py::SSLTest::test_ssl_context 425s [gw1] [ 62%] PASSED tests/ssl_test.py::SSLTest::test_ssl_context 425s tests/ssl_test.py::SSLTest::test_ssl_unwrap 425s [gw1] [ 62%] PASSED tests/ssl_test.py::SSLTest::test_ssl_unwrap 425s tests/subprocess_test.py::test_subprocess_wait 425s [gw1] [ 62%] PASSED tests/subprocess_test.py::test_subprocess_wait 425s tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 425s [gw1] [ 63%] PASSED tests/subprocess_test.py::test_close_popen_stdin_with_close_fds 425s tests/subprocess_test.py::test_universal_lines 425s [gw1] [ 63%] FAILED tests/subprocess_test.py::test_universal_lines 425s tests/subprocess_test.py::test_patched_communicate_290 425s [gw0] [ 63%] PASSED tests/hub_test.py::TestDeadRunLoop::test_kill 425s tests/hub_test.py::TestDeadRunLoop::test_parent 425s [gw1] [ 63%] PASSED tests/subprocess_test.py::test_patched_communicate_290 425s tests/subprocess_test.py::test_check_call_without_timeout_works 425s [gw1] [ 63%] PASSED tests/subprocess_test.py::test_check_call_without_timeout_works 425s tests/subprocess_test.py::test_exception_identity 425s [gw0] [ 63%] PASSED tests/hub_test.py::TestDeadRunLoop::test_parent 425s tests/queue_test.py::TestQueue::test_resize_up 425s [gw0] [ 63%] PASSED tests/queue_test.py::TestQueue::test_resize_up 425s [gw1] [ 64%] PASSED tests/subprocess_test.py::test_exception_identity 425s tests/queue_test.py::TestQueue::test_send_first 425s tests/test__event.py::TestEvent::test_send 425s [gw0] [ 64%] PASSED tests/queue_test.py::TestQueue::test_send_first 425s tests/queue_test.py::TestQueue::test_send_last 425s [gw1] [ 64%] PASSED tests/test__event.py::TestEvent::test_send 425s tests/test__event.py::TestEvent::test_send_exc 425s [gw0] [ 64%] PASSED tests/queue_test.py::TestQueue::test_send_last 425s tests/queue_test.py::TestQueue::test_task_done 425s [gw1] [ 64%] PASSED tests/test__event.py::TestEvent::test_send_exc 425s tests/test__refcount.py::test_clean_exit 425s [gw0] [ 64%] PASSED tests/queue_test.py::TestQueue::test_task_done 425s tests/queue_test.py::TestQueue::test_two_bogus_waiters 425s [gw0] [ 64%] PASSED tests/queue_test.py::TestQueue::test_two_bogus_waiters 425s tests/queue_test.py::TestQueue::test_two_waiters_one_dies 425s [gw0] [ 64%] PASSED tests/queue_test.py::TestQueue::test_two_waiters_one_dies 425s tests/queue_test.py::TestQueue::test_waiters_that_cancel 425s [gw0] [ 65%] PASSED tests/queue_test.py::TestQueue::test_waiters_that_cancel 426s tests/queue_test.py::TestQueue::test_waiting 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestQueue::test_waiting 426s tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestQueue::test_zero_length_queue_nonblocking_put 426s tests/queue_test.py::TestQueue::test_zero_max_size 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestQueue::test_zero_max_size 426s tests/queue_test.py::TestNoWait::test_get_nowait_simple 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_simple 426s tests/queue_test.py::TestNoWait::test_get_nowait_unlock 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestNoWait::test_get_nowait_unlock 426s tests/queue_test.py::TestNoWait::test_put_nowait_simple 426s [gw0] [ 65%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_simple 426s tests/queue_test.py::TestNoWait::test_put_nowait_unlock 426s [gw0] [ 66%] PASSED tests/queue_test.py::TestNoWait::test_put_nowait_unlock 426s tests/queue_test.py::TestNoWait::test_wait_except 426s [gw0] [ 66%] PASSED tests/queue_test.py::TestNoWait::test_wait_except 426s tests/semaphore_test.py::TestSemaphore::test_bounded 426s [gw0] [ 66%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded 426s tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 426s [gw0] [ 66%] PASSED tests/semaphore_test.py::TestSemaphore::test_bounded_with_zero_limit 426s tests/semaphore_test.py::TestSemaphore::test_non_blocking 426s [gw0] [ 66%] PASSED tests/semaphore_test.py::TestSemaphore::test_non_blocking 426s tests/semaphore_test.py::TestSemaphore::test_timeout 426s [gw0] [ 66%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout 426s tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 426s [gw1] [ 66%] PASSED tests/test__refcount.py::test_clean_exit 426s tests/test__refcount.py::test_timeout_exit 426s [gw0] [ 67%] PASSED tests/semaphore_test.py::TestSemaphore::test_timeout_non_blocking 426s tests/semaphore_test.py::test_semaphore_contention 426s [gw1] [ 67%] PASSED tests/test__refcount.py::test_timeout_exit 426s tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 426s [gw1] [ 67%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_connection_refused 426s tests/test__socket_errors.py::TestSocketErrors::test_timeout 426s [gw0] [ 67%] PASSED tests/semaphore_test.py::test_semaphore_contention 426s tests/semaphore_test.py::test_semaphore_type_check 426s [gw0] [ 67%] PASSED tests/semaphore_test.py::test_semaphore_type_check 427s tests/socket_test.py::test_recv_type 427s [gw0] [ 67%] PASSED tests/socket_test.py::test_recv_type 427s tests/socket_test.py::test_recv_into_type 427s [gw0] [ 67%] PASSED tests/socket_test.py::test_recv_into_type 427s tests/socket_test.py::test_socket_api_family 427s [gw0] [ 68%] PASSED tests/socket_test.py::test_socket_api_family 427s tests/socket_test.py::test_getaddrinfo_ipv6_scope 427s [gw0] [ 68%] PASSED tests/socket_test.py::test_getaddrinfo_ipv6_scope 427s tests/socket_test.py::test_error_is_timeout 427s [gw0] [ 68%] PASSED tests/socket_test.py::test_error_is_timeout 427s tests/socket_test.py::test_connect_ex_success 427s [gw0] [ 68%] PASSED tests/socket_test.py::test_connect_ex_success 427s tests/ssl_test.py::SSLTest::test_client_check_hostname 427s [gw0] [ 68%] PASSED tests/ssl_test.py::SSLTest::test_client_check_hostname 427s tests/ssl_test.py::SSLTest::test_context_version_setters 427s [gw0] [ 68%] PASSED tests/ssl_test.py::SSLTest::test_context_version_setters 427s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 427s [gw0] [ 68%] PASSED tests/ssl_test.py::SSLTest::test_context_wrapped_accept 427s tests/ssl_test.py::SSLTest::test_duplex_response 427s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_duplex_response 427s tests/ssl_test.py::SSLTest::test_explicit_keys_accept 427s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_explicit_keys_accept 427s tests/ssl_test.py::SSLTest::test_greensslobject 427s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_greensslobject 427s tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 427s [gw1] [ 69%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout 428s tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 428s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_no_handshake_block_accept_loop 428s tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 428s [gw0] [ 69%] PASSED tests/ssl_test.py::SSLTest::test_receiving_doesnt_block_if_there_is_already_decrypted_buffered_data 428s tests/tpool_test.py::TestTpool::test_wrap_dict 428s [gw0] [ 69%] PASSED tests/tpool_test.py::TestTpool::test_wrap_dict 428s tests/tpool_test.py::TestTpool::test_wrap_eq 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_eq 428s tests/tpool_test.py::TestTpool::test_wrap_getitem 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_getitem 428s tests/tpool_test.py::TestTpool::test_wrap_hash 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_hash 428s tests/tpool_test.py::TestTpool::test_wrap_ints 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_ints 428s tests/tpool_test.py::TestTpool::test_wrap_iterator 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator 428s tests/tpool_test.py::TestTpool::test_wrap_iterator2 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_iterator2 428s tests/tpool_test.py::TestTpool::test_wrap_module_class 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_module_class 428s tests/tpool_test.py::TestTpool::test_wrap_nonzero 428s [gw0] [ 70%] PASSED tests/tpool_test.py::TestTpool::test_wrap_nonzero 428s tests/tpool_test.py::TestTpool::test_wrap_setitem 428s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_wrap_setitem 428s tests/tpool_test.py::TestTpool::test_wrap_string 428s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_wrap_string 428s tests/tpool_test.py::TestTpool::test_wrap_tuple 428s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_wrap_tuple 428s tests/tpool_test.py::TestTpool::test_wrap_uniterable 428s [gw0] [ 71%] PASSED tests/tpool_test.py::TestTpool::test_wrap_uniterable 428s tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 428s [gw1] [ 71%] PASSED tests/test__socket_errors.py::TestSocketErrors::test_timeout_real_socket 428s tests/test__socket_errors.py::test_create_connection_refused 428s [gw1] [ 71%] PASSED tests/test__socket_errors.py::test_create_connection_refused 428s tests/test_infrastructure_tests.py::test_run_python_timeout 428s [gw1] [ 71%] PASSED tests/test_infrastructure_tests.py::test_run_python_timeout 428s tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 428s [gw1] [ 72%] PASSED tests/test_infrastructure_tests.py::test_run_python_pythonpath_extend 429s tests/thread_test.py::Locals::test_assignment 429s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_assignment 429s tests/thread_test.py::Locals::test_calling_methods 429s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_calling_methods 429s tests/thread_test.py::Locals::test_calls_init 429s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_calls_init 429s tests/thread_test.py::Locals::test_no_leaking 429s [gw1] [ 72%] PASSED tests/thread_test.py::Locals::test_no_leaking 429s tests/thread_test.py::test_compat_lock_release 429s [gw1] [ 72%] PASSED tests/thread_test.py::test_compat_lock_release 429s tests/thread_test.py::test_reinit 429s [gw1] [ 72%] PASSED tests/thread_test.py::test_reinit 429s tests/thread_test.py::test_can_use_eventlet_in_os_threads 429s [gw0] [ 73%] PASSED tests/tpool_test.py::TpoolLongTests::test_a_buncha_stuff 429s tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 429s [gw0] [ 73%] PASSED tests/tpool_test.py::TpoolLongTests::test_leakage_from_tracebacks 429s tests/tpool_test.py::test_isolate_from_socket_default_timeout 429s [gw1] [ 73%] PASSED tests/thread_test.py::test_can_use_eventlet_in_os_threads 429s tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 429s [gw1] [ 73%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_class 429s tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 429s [gw1] [ 73%] PASSED tests/timeout_test.py::TestDirectRaise::test_direct_raise_instance 429s tests/timeout_test.py::TestDirectRaise::test_repr 429s [gw1] [ 73%] PASSED tests/timeout_test.py::TestDirectRaise::test_repr 429s tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 429s [gw1] [ 73%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_outer_timer 430s tests/timeout_test.py::TestWithTimeout::test_with_timeout 430s [gw1] [ 74%] PASSED tests/timeout_test.py::TestWithTimeout::test_with_timeout 430s tests/timeout_test.py::test_is_timeout_attribute 430s [gw1] [ 74%] PASSED tests/timeout_test.py::test_is_timeout_attribute 430s tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 430s [gw1] [ 74%] PASSED tests/timeout_with_statement_test.py::Test::test_cancel_timer_inside_block 430s tests/timeout_with_statement_test.py::Test::test_cancellation 430s [gw1] [ 74%] PASSED tests/timeout_with_statement_test.py::Test::test_cancellation 430s tests/timeout_with_statement_test.py::Test::test_dummy_timer 430s [gw0] [ 74%] PASSED tests/tpool_test.py::test_isolate_from_socket_default_timeout 430s tests/tpool_test.py::test_exception_leak 430s [gw1] [ 74%] PASSED tests/timeout_with_statement_test.py::Test::test_dummy_timer 430s tests/timeout_with_statement_test.py::Test::test_nested_timeout 430s [gw1] [ 74%] PASSED tests/timeout_with_statement_test.py::Test::test_nested_timeout 430s tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_custom_exception 430s tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exc_tuple 430s tests/timeout_with_statement_test.py::Test::test_raising_exception_class 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_exception_class 430s tests/timeout_with_statement_test.py::Test::test_raising_self 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self 430s tests/timeout_with_statement_test.py::Test::test_raising_self_true 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_raising_self_true 430s tests/timeout_with_statement_test.py::Test::test_ref 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_ref 430s tests/timeout_with_statement_test.py::Test::test_silent_block 430s [gw1] [ 75%] PASSED tests/timeout_with_statement_test.py::Test::test_silent_block 430s tests/timer_test.py::TestTimer::test_copy 430s [gw1] [ 76%] PASSED tests/timer_test.py::TestTimer::test_copy 430s tests/timer_test.py::TestTimer::test_schedule 430s [gw1] [ 76%] PASSED tests/timer_test.py::TestTimer::test_schedule 430s tests/tpool_test.py::TestTpool::test_autowrap 430s [gw0] [ 76%] PASSED tests/tpool_test.py::test_exception_leak 430s tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 430s [gw1] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_autowrap 430s tests/tpool_test.py::TestTpool::test_autowrap_both 430s [gw1] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_both 430s [gw0] [ 76%] PASSED tests/websocket_new_test.py::TestWebSocket::test_breaking_the_connection_13 430s tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 430s tests/tpool_test.py::TestTpool::test_autowrap_names 430s [gw0] [ 76%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_closing_connection_13 430s tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 430s [gw1] [ 76%] PASSED tests/tpool_test.py::TestTpool::test_autowrap_names 430s tests/tpool_test.py::TestTpool::test_callable 430s [gw0] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_client_invalid_packet_13 430s tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 430s [gw0] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_correct_upgrade_request_13 430s tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 430s [gw1] [ 77%] PASSED tests/tpool_test.py::TestTpool::test_callable 430s tests/tpool_test.py::TestTpool::test_callable_iterator 430s [gw0] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_incomplete_headers_13 430s tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 430s [gw1] [ 77%] PASSED tests/tpool_test.py::TestTpool::test_callable_iterator 430s tests/tpool_test.py::TestTpool::test_contention 430s [gw0] [ 77%] PASSED tests/websocket_new_test.py::TestWebSocket::test_send_recv_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 430s [gw1] [ 77%] PASSED tests/tpool_test.py::TestTpool::test_contention 430s tests/tpool_test.py::TestTpool::test_eventlet_timeout 430s [gw0] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_basic_deflate_ext_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 430s [gw1] [ 78%] PASSED tests/tpool_test.py::TestTpool::test_eventlet_timeout 430s tests/tpool_test.py::TestTpool::test_killall 430s [gw0] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_context_takeover_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 430s [gw0] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_accept_deflate_ext_window_max_bits_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 430s [gw1] [ 78%] PASSED tests/tpool_test.py::TestTpool::test_killall 430s tests/tpool_test.py::TestTpool::test_killall_remaining_results 430s [gw0] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_no_context_takeover_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 430s [gw0] [ 78%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_client_compress_with_context_takeover_13 430s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 430s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_both_no_context_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_client_no_context_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_compressed_send_recv_server_no_context_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_compressed_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_large_frame_size_uncompressed_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 431s [gw0] [ 79%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_reject_max_window_bits_out_of_range_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 431s [gw0] [ 80%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_send_uncompressed_msg_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 431s [gw0] [ 80%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_no_context_takeover_13 431s tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 431s [gw0] [ 80%] PASSED tests/websocket_new_test.py::TestWebSocketWithCompression::test_server_compress_with_context_takeover_13 431s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 431s [gw0] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_75 431s tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 431s [gw0] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_app_socket_errors_76 431s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 431s [gw0] [ 80%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_75 431s tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 431s [gw1] [ 80%] PASSED tests/tpool_test.py::TestTpool::test_killall_remaining_results 431s tests/tpool_test.py::TestTpool::test_multiple_wraps 431s [gw1] [ 81%] PASSED tests/tpool_test.py::TestTpool::test_multiple_wraps 431s tests/tpool_test.py::TestTpool::test_raising_exceptions 431s [gw0] [ 81%] PASSED tests/websocket_test.py::TestWebSocket::test_breaking_the_connection_76 431s tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 431s [gw0] [ 81%] PASSED tests/websocket_test.py::TestWebSocket::test_client_closing_connection_76 431s tests/websocket_test.py::TestWebSocketObject::test_recieve 431s [gw0] [ 81%] PASSED tests/websocket_test.py::TestWebSocketObject::test_recieve 431s tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 431s [gw1] [ 81%] PASSED tests/tpool_test.py::TestTpool::test_raising_exceptions 431s tests/tpool_test.py::TestTpool::test_timeout 431s [gw0] [ 81%] PASSED tests/websocket_test.py::TestWebSocketObject::test_send_to_ws 431s tests/wsgi_test.py::TestHttpd::test_001_server 431s [gw0] [ 81%] PASSED tests/wsgi_test.py::TestHttpd::test_001_server 431s tests/wsgi_test.py::TestHttpd::test_002_keepalive 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_002_keepalive 431s tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_004_close_keepalive 431s tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_006_reject_long_urls 431s tests/wsgi_test.py::TestHttpd::test_007_get_arg 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_007_get_arg 431s tests/wsgi_test.py::TestHttpd::test_008_correctresponse 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_008_correctresponse 431s tests/wsgi_test.py::TestHttpd::test_009_chunked_response 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_009_chunked_response 431s tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_010_no_chunked_http_1_0 431s tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 431s [gw0] [ 82%] PASSED tests/wsgi_test.py::TestHttpd::test_011_multiple_chunks 431s tests/wsgi_test.py::TestHttpd::test_012_ssl_server 431s [gw0] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_012_ssl_server 431s tests/wsgi_test.py::TestHttpd::test_013_empty_return 431s [gw0] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_013_empty_return 431s tests/wsgi_test.py::TestHttpd::test_014_chunked_post 431s [gw0] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_014_chunked_post 431s tests/wsgi_test.py::TestHttpd::test_015_write 431s [gw0] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_015_write 431s tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 431s [gw0] [ 83%] PASSED tests/wsgi_test.py::TestHttpd::test_016_repeated_content_length 431s [gw1] [ 83%] PASSED tests/tpool_test.py::TestTpool::test_timeout 431s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 431s tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 431s [gw1] [ 83%] PASSED tests/tpool_test.py::TestTpool::test_tpool_set_num_threads 431s tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 431s [gw0] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 431s tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 431s [gw1] [ 84%] PASSED tests/tpool_test.py::TestTpool::test_variable_and_keyword_arguments_with_function_calls 431s tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 431s [gw0] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_018_http_10_keepalive 431s tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 431s [gw1] [ 84%] PASSED tests/websocket_test.py::TestWebSocket::test_client_invalid_packet_76 431s tests/websocket_test.py::TestWebSocket::test_close_idle 431s [gw0] [ 84%] PASSED tests/wsgi_test.py::TestHttpd::test_018b_http_10_keepalive_framing 431s tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 431s [gw0] [ 84%] SKIPPED tests/wsgi_test.py::TestHttpd::test_019_fieldstorage_compat 431s tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 431s [gw1] [ 84%] PASSED tests/websocket_test.py::TestWebSocket::test_close_idle 431s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 431s [gw0] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_020_x_forwarded_for 432s tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 432s [gw1] [ 85%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_75 432s tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 432s [gw0] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_021_environ_clobbering 432s tests/wsgi_test.py::TestHttpd::test_022_custom_pool 432s [gw1] [ 85%] PASSED tests/websocket_test.py::TestWebSocket::test_correct_upgrade_request_76 432s tests/websocket_test.py::TestWebSocket::test_empty_query_string 432s [gw0] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_022_custom_pool 432s tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 432s [gw1] [ 85%] PASSED tests/websocket_test.py::TestWebSocket::test_empty_query_string 432s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 432s [gw0] [ 85%] PASSED tests/wsgi_test.py::TestHttpd::test_023_bad_content_length 432s tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_024_expect_100_continue 432s tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_024a_expect_100_continue_with_headers 432s tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_024b_expect_100_continue_with_headers_multiple_chunked 432s tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 432s [gw1] [ 86%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_75 432s tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_024c_expect_100_continue_with_headers_multiple_nonchunked 432s tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_024d_expect_100_continue_with_eager_app_chunked 432s tests/wsgi_test.py::TestHttpd::test_025_accept_errors 432s [gw0] [ 86%] PASSED tests/wsgi_test.py::TestHttpd::test_025_accept_errors 432s tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 432s [gw0] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_026_http_10_nokeepalive 432s tests/wsgi_test.py::TestHttpd::test_026_log_format 432s [gw0] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_026_log_format 432s tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 432s [gw1] [ 87%] PASSED tests/websocket_test.py::TestWebSocket::test_getting_messages_from_websocket_76 432s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 432s [gw0] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_026b_http_10_zero_keepalive 432s tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 432s [gw1] [ 87%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_75 432s tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 432s [gw0] [ 87%] PASSED tests/wsgi_test.py::TestHttpd::test_027_keepalive_chunked 432s tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 432s [gw1] [ 87%] PASSED tests/websocket_test.py::TestWebSocket::test_incomplete_headers_76 432s tests/websocket_test.py::TestWebSocket::test_incorrect_headers 432s [gw0] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_028_ssl_handshake_errors 432s tests/wsgi_test.py::TestHttpd::test_029_posthooks 432s [gw1] [ 88%] PASSED tests/websocket_test.py::TestWebSocket::test_incorrect_headers 432s tests/websocket_test.py::TestWebSocket::test_query_string 432s [gw0] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_029_posthooks 432s tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 432s [gw1] [ 88%] PASSED tests/websocket_test.py::TestWebSocket::test_query_string 432s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 432s [gw0] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_030_reject_long_header_lines 432s tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 432s [gw0] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_031_reject_large_headers 432s tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 432s [gw0] [ 88%] PASSED tests/wsgi_test.py::TestHttpd::test_032_wsgi_input_as_iterable 432s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 432s [gw1] [ 88%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_75 432s tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 432s [gw0] [ 89%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post 432s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 432s [gw0] [ 89%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_bad_chunks 432s tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 432s [gw0] [ 89%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_chunked_post_between_chunks 432s tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 432s [gw1] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_sending_messages_to_websocket_76 432s tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 432s [gw0] [ 89%] PASSED tests/wsgi_test.py::TestHttpd::test_aborted_post_io_error 432s tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 432s [gw1] [ 89%] PASSED tests/websocket_test.py::TestWebSocket::test_server_closing_connect_76 432s tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 432s [gw0] [ 89%] PASSED tests/wsgi_test.py::TestHttpd::test_chunked_response_when_app_yields_empty_string 432s tests/wsgi_test.py::TestHttpd::test_client_disconnect 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_client_disconnect 432s tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_close_chunked_with_1_0_client 432s tests/wsgi_test.py::TestHttpd::test_close_idle_connections 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections 432s tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_close_idle_connections_listen_socket_closed 432s tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_configurable_url_length_limit 432s tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 432s [gw1] [ 90%] PASSED tests/websocket_test.py::TestWebSocket::test_wrapped_wsgi 432s tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 432s [gw0] [ 90%] PASSED tests/wsgi_test.py::TestHttpd::test_content_length_and_transfer_encoding_escape_hatch 432s tests/wsgi_test.py::TestHttpd::test_ipv6 432s [gw0] [ 91%] SKIPPED tests/wsgi_test.py::TestHttpd::test_ipv6 432s tests/wsgi_test.py::TestHttpd::test_log_disable 432s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_log_disable 432s tests/wsgi_test.py::TestHttpd::test_log_unix_address 432s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_log_unix_address 432s tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 432s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_minimum_chunk_size_parameter_leaves_httpprotocol_class_member_intact 432s tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 432s [gw1] [ 91%] PASSED tests/websocket_test.py::TestWebSocketSSL::test_ssl_sending_messages 432s tests/websocket_test.py::TestWebSocketObject::test_close_ws 432s [gw0] [ 91%] PASSED tests/wsgi_test.py::TestHttpd::test_no_content_length_or_transfer_encoding 432s tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 432s [gw1] [ 91%] PASSED tests/websocket_test.py::TestWebSocketObject::test_close_ws 432s tests/wsgi_test.py::TestHttpd::test_debug 432s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_no_transfer_encoding_in_empty_response 432s tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 432s [gw1] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_debug 432s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 432s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_partial_writes_are_handled 432s tests/wsgi_test.py::TestHttpd::test_path_info_decoding 432s [gw1] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 432s tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 432s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_decoding 432s tests/wsgi_test.py::TestHttpd::test_path_info_latin1 432s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_path_info_latin1 432s tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 432s [gw0] [ 92%] PASSED tests/wsgi_test.py::TestHttpd::test_rfc9112_reject_bad_request 433s tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_as_timeout 433s tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_keepalive_sent_in_headers 433s tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_server_socket_timeout 433s tests/wsgi_test.py::TestHttpd::test_socket_remains_open 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_socket_remains_open 433s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_call 433s tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_timeouts_in_app_iter 433s tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 433s [gw0] [ 93%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_nonascii_characters_raises_error 433s tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_unicode_with_only_ascii_characters_works 433s tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestHttpd::test_zero_length_chunked_response 433s tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::IterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 433s tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::ProxiedIterableAlreadyHandledTest::test_iterable_app_keeps_socket_open_unless_connection_close_sent 433s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline 433s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_from_input 433s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_not_override_minimum_chunk_size 433s tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 433s [gw0] [ 94%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readline_wsgi_override_minimum_chunk_size 433s tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_chunked_readlines_from_input 433s tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_close_before_finished 433s tests/wsgi_test.py::TestChunkedInput::test_dirt 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_dirt 433s tests/wsgi_test.py::TestChunkedInput::test_short_read 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read 433s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_content_length 433s tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 433s [gw0] [ 95%] PASSED tests/wsgi_test.py::TestChunkedInput::test_short_read_with_zero_content_length 434s tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 434s [gw0] [ 95%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_change_subscription 434s tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_during_recv 434s tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_linger 434s tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_socket_raises_enotsup 434s tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_close_xsocket_raises_enotsup 434s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_bind 434s tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_cpu_usage_after_pub_send_or_dealer_recv 434s tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 434s [gw0] [ 96%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_getsockopt_events 434s tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 434s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_during_send 434s tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 434s [gw1] [ 97%] PASSED tests/wsgi_test.py::TestHttpd::test_do_not_close_non_idle_connections 434s tests/wsgi_test.py::TestHttpd::test_env_header_stripping 434s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_multipart_bug68 434s tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 434s [gw1] [ 97%] PASSED tests/wsgi_test.py::TestHttpd::test_env_header_stripping 435s tests/wsgi_test.py::TestHttpd::test_env_headers 435s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_noblock_bug76 435s tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 435s [gw1] [ 97%] PASSED tests/wsgi_test.py::TestHttpd::test_env_headers 435s tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 435s [gw0] [ 97%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_recv_spawned_before_send_is_non_blocking 435s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 435s [gw1] [ 98%] PASSED tests/wsgi_test.py::TestHttpd::test_error_in_chunked_closes_connection 435s tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 435s [gw1] [ 98%] PASSED tests/wsgi_test.py::TestHttpd::test_exceptions_close_connection 435s tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 435s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_push_pull 435s tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 435s [gw1] [ 98%] PASSED tests/wsgi_test.py::TestHttpd::test_header_name_capitalization 435s tests/wsgi_test.py::TestHttpd::test_headers_raw 435s [gw1] [ 98%] PASSED tests/wsgi_test.py::TestHttpd::test_headers_raw 435s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 435s [gw1] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv_multipart 435s tests/zmq_test.py::TestQueueLock::test_count 435s [gw0] [ 98%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_1k_req_rep 435s tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 435s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_count 435s tests/zmq_test.py::TestQueueLock::test_errors 435s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_errors 435s tests/zmq_test.py::TestQueueLock::test_queue_lock_order 435s [gw0] [ 99%] PASSED tests/zmq_test.py::TestUpstreamDownStream::test_send_during_recv 435s tests/zmq_test.py::TestQueueLock::test_nested_acquire 435s [gw1] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_queue_lock_order 435s tests/zmq_test.py::TestBlockedThread::test_block 435s [gw0] [ 99%] PASSED tests/zmq_test.py::TestQueueLock::test_nested_acquire 435s tests/zmq_test.py::test_recv_json_no_args 435s [gw0] [ 99%] PASSED tests/zmq_test.py::test_recv_json_no_args 435s [gw1] [ 99%] PASSED tests/zmq_test.py::TestBlockedThread::test_block 435s tests/zmq_test.py::test_recv_timeout 435s [gw1] [100%] PASSED tests/zmq_test.py::test_recv_timeout 435s 435s ==================================== ERRORS ==================================== 435s __________________ ERROR collecting tests/test__greenness.py ___________________ 435s tests/test__greenness.py:8: in 435s from eventlet.green.urllib.request import urlopen 435s eventlet/green/urllib/request.py:40: in 435s URLopener.open_ftp = patcher.patch_function(URLopener.open_ftp, *to_patch_in_functions) 435s ^^^^^^^^^ 435s E NameError: name 'URLopener' is not defined 435s __________________ ERROR collecting tests/test__greenness.py ___________________ 435s tests/test__greenness.py:8: in 435s from eventlet.green.urllib.request import urlopen 435s eventlet/green/urllib/request.py:40: in 435s URLopener.open_ftp = patcher.patch_function(URLopener.open_ftp, *to_patch_in_functions) 435s ^^^^^^^^^ 435s E NameError: name 'URLopener' is not defined 435s =================================== FAILURES =================================== 435s ____________________ TestGreenPipe.test_pip_read_until_end _____________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s self = 435s 435s def test_pip_read_until_end(self): 435s # similar to test_pip_read above but reading until eof 435s r, w = os.pipe() 435s 435s > r = greenio.GreenPipe(r, 'rb') 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:757: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s ___________________________ TestGreenPipe.test_pipe ____________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s self = 435s 435s def test_pipe(self): 435s r, w = os.pipe() 435s > rf = greenio.GreenPipe(r, 'rb') 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:706: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s _________________________ TestGreenPipe.test_pipe_read _________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s self = 435s 435s def test_pipe_read(self): 435s # ensure that 'readline' works properly on GreenPipes when data is not 435s # immediately available (fd is nonblocking, was raising EAGAIN) 435s # also ensures that readline() terminates on '\n' and '\r\n' 435s r, w = os.pipe() 435s 435s > r = greenio.GreenPipe(r, 'rb') 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:729: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s ________________ TestGreenPipe.test_pipe_writes_large_messages _________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s self = 435s 435s def test_pipe_writes_large_messages(self): 435s r, w = os.pipe() 435s 435s > r = greenio.GreenPipe(r, 'rb') 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:786: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 15, mode = 'rb', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s ______________________________ test_pipe_context _______________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_pipe_context(): 435s # ensure using a pipe as a context actually closes it. 435s r, w = os.pipe() 435s > r = greenio.GreenPipe(r) 435s ^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:997: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 29, mode = 'r', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s _____________________________ test_greenpipe_write _____________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_greenpipe_write(): 435s expected = b"initial" 435s with tempfile.NamedTemporaryFile() as f: 435s > with greenio.GreenPipe(f.name, "wb") as writer: 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:1012: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = '/tmp/tmpjp8chm6h', mode = 'wb', buffering = -1, encoding = None 435s errors = None, newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s ____________________________ test_greenpipe_append _____________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_greenpipe_append(): 435s old_data = b"existing data..." 435s new_data = b"append with mode=a" 435s expected = old_data + new_data 435s with tempfile.NamedTemporaryFile() as f: 435s with open(f.name, "wb") as fw: 435s fw.write(old_data) 435s 435s > with greenio.GreenPipe(f.name, "ab") as writer: 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:1027: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = '/tmp/tmp1o74iwdm', mode = 'ab', buffering = -1, encoding = None 435s errors = None, newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s ________________________ test_greenpipe_read_overwrite _________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_greenpipe_read_overwrite(): 435s old_data = b"existing data..." 435s new_data = b"overwrite with mode=r+" 435s with tempfile.NamedTemporaryFile() as f: 435s > with greenio.GreenPipe(f.name, "wb") as writer: 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:1038: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = '/tmp/tmpy8n4kka7', mode = 'wb', buffering = -1, encoding = None 435s errors = None, newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s __________________________ test_greenpipe_write_plus ___________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_greenpipe_write_plus(): 435s expected = "write with mode=w+" 435s with tempfile.NamedTemporaryFile() as f: 435s > with greenio.GreenPipe(f.name, "w+") as writer: 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:1051: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = '/tmp/tmpswqt7a45', mode = 'w+', buffering = -1, encoding = None 435s errors = None, newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s __________________________ test_greenpipe_append_plus __________________________ 435s [gw0] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_greenpipe_append_plus(): 435s expected = "append with mode=a+" 435s with tempfile.NamedTemporaryFile() as f: 435s > with greenio.GreenPipe(f.name, "a+") as writer: 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s 435s tests/greenio_test.py:1061: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = '/tmp/tmpsmf49hc4', mode = 'a+', buffering = -1, encoding = None 435s errors = None, newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s __________________________ test_regular_file_readall ___________________________ 435s [gw1] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_regular_file_readall(): 435s > tests.run_isolated('regular_file_readall.py') 435s 435s tests/patcher_test.py:499: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s tests/__init__.py:365: in run_isolated 435s run_python(prefix + path, **kwargs) 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s path = '/tmp/autopkgtest.f44HyH/build.faM/src/tests/isolated/regular_file_readall.py' 435s env = None, args = None, timeout = 10, pythonpath_extend = None 435s expect_pass = True 435s 435s def run_python(path, env=None, args=None, timeout=None, pythonpath_extend=None, expect_pass=False): 435s new_argv = [sys.executable] 435s new_env = os.environ.copy() 435s new_env.setdefault('eventlet_test_in_progress', 'yes') 435s src_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 435s if path: 435s path = os.path.abspath(path) 435s new_argv.append(path) 435s new_env['PYTHONPATH'] = os.pathsep.join(sys.path + [src_dir]) 435s if env: 435s new_env.update(env) 435s if pythonpath_extend: 435s new_path = [p for p in new_env.get('PYTHONPATH', '').split(os.pathsep) if p] 435s new_path.extend( 435s p if os.path.isabs(p) else os.path.join(src_dir, p) for p in pythonpath_extend 435s ) 435s new_env['PYTHONPATH'] = os.pathsep.join(new_path) 435s if args: 435s new_argv.extend(args) 435s p = subprocess.Popen( 435s new_argv, 435s env=new_env, 435s stderr=subprocess.STDOUT, 435s stdin=subprocess.PIPE, 435s stdout=subprocess.PIPE, 435s ) 435s if timeout is None: 435s timeout = 10 435s try: 435s output, _ = p.communicate(timeout=timeout) 435s except subprocess.TimeoutExpired: 435s p.kill() 435s output, _ = p.communicate(timeout=timeout) 435s if expect_pass: 435s sys.stderr.write('Program {} output:\n---\n{}\n---\n'.format(path, output.decode())) 435s assert False, 'timed out' 435s return '{}\nFAIL - timed out'.format(output).encode() 435s 435s if expect_pass: 435s if output.startswith(b'skip'): 435s parts = output.rstrip().split(b':', 1) 435s skip_args = [] 435s if len(parts) > 1: 435s skip_args.append(parts[1]) 435s raise SkipTest(*skip_args) 435s lines = output.splitlines() 435s ok = lines[-1].rstrip() == b'pass' 435s if not ok or len(lines) > 1: 435s sys.stderr.write('Program {} output:\n---\n{}\n---\n'.format(path, output.decode(errors="backslashreplace"))) 435s > assert ok, 'Expected single line "pass" in stdout' 435s ^^ 435s E AssertionError: Expected single line "pass" in stdout 435s 435s tests/__init__.py:358: AssertionError 435s ----------------------------- Captured stderr call ----------------------------- 435s Program /tmp/autopkgtest.f44HyH/build.faM/src/tests/isolated/regular_file_readall.py output: 435s --- 435s Traceback (most recent call last): 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/tests/isolated/regular_file_readall.py", line 17, in 435s fp = os.fdopen(fd, "rb") 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/os.py", line 29, in fdopen 435s return greenio.GreenPipe(fd, *args, **kw) 435s ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^ 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/py3.py", line 216, in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s File "/usr/lib/python3.14/_pyio.py", line 242, in open 435s if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s --- 435s _____________________________ test_universal_lines _____________________________ 435s [gw1] linux -- Python 3.14.2 /usr/bin/python3.14 435s 435s def test_universal_lines(): 435s > p = subprocess.Popen( 435s [sys.executable, '--version'], 435s shell=False, 435s stdout=subprocess.PIPE, 435s universal_newlines=True) 435s 435s tests/subprocess_test.py:52: 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s eventlet/green/subprocess.py:73: in __init__ 435s wrapped_pipe = greenio.GreenPipe(pipe, mode, bufsize) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s eventlet/greenio/py3.py:216: in GreenPipe 435s return _open(name, mode, buffering, encoding, errors, newline, closefd, opener) 435s ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 435s 435s file = 15, mode = 'r', buffering = -1, encoding = None, errors = None 435s newline = None, closefd = True, opener = None 435s 435s @staticmethod 435s def open(file, mode="r", buffering=-1, encoding=None, errors=None, 435s newline=None, closefd=True, opener=None): 435s 435s r"""Open file and return a stream. Raise OSError upon failure. 435s 435s file is either a text or byte string giving the name (and the path 435s if the file isn't in the current working directory) of the file to 435s be opened or an integer file descriptor of the file to be 435s wrapped. (If a file descriptor is given, it is closed when the 435s returned I/O object is closed, unless closefd is set to False.) 435s 435s mode is an optional string that specifies the mode in which the file is 435s opened. It defaults to 'r' which means open for reading in text mode. Other 435s common values are 'w' for writing (truncating the file if it already 435s exists), 'x' for exclusive creation of a new file, and 'a' for appending 435s (which on some Unix systems, means that all writes append to the end of the 435s file regardless of the current seek position). In text mode, if encoding is 435s not specified the encoding used is platform dependent. (For reading and 435s writing raw bytes use binary mode and leave encoding unspecified.) The 435s available modes are: 435s 435s ========= =============================================================== 435s Character Meaning 435s --------- --------------------------------------------------------------- 435s 'r' open for reading (default) 435s 'w' open for writing, truncating the file first 435s 'x' create a new file and open it for writing 435s 'a' open for writing, appending to the end of the file if it exists 435s 'b' binary mode 435s 't' text mode (default) 435s '+' open a disk file for updating (reading and writing) 435s ========= =============================================================== 435s 435s The default mode is 'rt' (open for reading text). For binary random 435s access, the mode 'w+b' opens and truncates the file to 0 bytes, while 435s 'r+b' opens the file without truncation. The 'x' mode implies 'w' and 435s raises an `FileExistsError` if the file already exists. 435s 435s Python distinguishes between files opened in binary and text modes, 435s even when the underlying operating system doesn't. Files opened in 435s binary mode (appending 'b' to the mode argument) return contents as 435s bytes objects without any decoding. In text mode (the default, or when 435s 't' is appended to the mode argument), the contents of the file are 435s returned as strings, the bytes having been first decoded using a 435s platform-dependent encoding or using the specified encoding if given. 435s 435s buffering is an optional integer used to set the buffering policy. 435s Pass 0 to switch buffering off (only allowed in binary mode), 1 to select 435s line buffering (only usable in text mode), and an integer > 1 to indicate 435s the size of a fixed-size chunk buffer. When no buffering argument is 435s given, the default buffering policy works as follows: 435s 435s * Binary files are buffered in fixed-size chunks; the size of the buffer 435s is max(min(blocksize, 8 MiB), DEFAULT_BUFFER_SIZE) 435s when the device block size is available. 435s On most systems, the buffer will typically be 128 kilobytes long. 435s 435s * "Interactive" text files (files for which isatty() returns True) 435s use line buffering. Other text files use the policy described above 435s for binary files. 435s 435s encoding is the str name of the encoding used to decode or encode the 435s file. This should only be used in text mode. The default encoding is 435s platform dependent, but any encoding supported by Python can be 435s passed. See the codecs module for the list of supported encodings. 435s 435s errors is an optional string that specifies how encoding errors are to 435s be handled---this argument should not be used in binary mode. Pass 435s 'strict' to raise a ValueError exception if there is an encoding error 435s (the default of None has the same effect), or pass 'ignore' to ignore 435s errors. (Note that ignoring encoding errors can lead to data loss.) 435s See the documentation for codecs.register for a list of the permitted 435s encoding error strings. 435s 435s newline is a string controlling how universal newlines works (it only 435s applies to text mode). It can be None, '', '\n', '\r', and '\r\n'. It works 435s as follows: 435s 435s * On input, if newline is None, universal newlines mode is 435s enabled. Lines in the input can end in '\n', '\r', or '\r\n', and 435s these are translated into '\n' before being returned to the 435s caller. If it is '', universal newline mode is enabled, but line 435s endings are returned to the caller untranslated. If it has any of 435s the other legal values, input lines are only terminated by the given 435s string, and the line ending is returned to the caller untranslated. 435s 435s * On output, if newline is None, any '\n' characters written are 435s translated to the system default line separator, os.linesep. If 435s newline is '', no translation takes place. If newline is any of the 435s other legal values, any '\n' characters written are translated to 435s the given string. 435s 435s closedfd is a bool. If closefd is False, the underlying file descriptor will 435s be kept open when the file is closed. This does not work when a file name is 435s given and must be True in that case. 435s 435s The newly created file is non-inheritable. 435s 435s A custom opener can be used by passing a callable as *opener*. The 435s underlying file descriptor for the file object is then obtained by calling 435s *opener* with (*file*, *flags*). *opener* must return an open file 435s descriptor (passing os.open as *opener* results in functionality similar to 435s passing None). 435s 435s open() returns a file object whose type depends on the mode, and 435s through which the standard file operations such as reading and writing 435s are performed. When open() is used to open a file in a text mode ('w', 435s 'r', 'wt', 'rt', etc.), it returns a TextIOWrapper. When used to open 435s a file in a binary mode, the returned class varies: in read binary 435s mode, it returns a BufferedReader; in write binary and append binary 435s modes, it returns a BufferedWriter, and in read/write mode, it returns 435s a BufferedRandom. 435s 435s It is also possible to use a string or bytearray as a file for both 435s reading and writing. For strings StringIO can be used like a file 435s opened in a text mode, and for bytes a BytesIO can be used like a file 435s opened in a binary mode. 435s """ 435s if not isinstance(file, int): 435s file = os.fspath(file) 435s if not isinstance(file, (str, bytes, int)): 435s raise TypeError("invalid file: %r" % file) 435s if not isinstance(mode, str): 435s raise TypeError("invalid mode: %r" % mode) 435s if not isinstance(buffering, int): 435s raise TypeError("invalid buffering: %r" % buffering) 435s if encoding is not None and not isinstance(encoding, str): 435s raise TypeError("invalid encoding: %r" % encoding) 435s if errors is not None and not isinstance(errors, str): 435s raise TypeError("invalid errors: %r" % errors) 435s modes = set(mode) 435s if modes - set("axrwb+t") or len(mode) > len(modes): 435s raise ValueError("invalid mode: %r" % mode) 435s creating = "x" in modes 435s reading = "r" in modes 435s writing = "w" in modes 435s appending = "a" in modes 435s updating = "+" in modes 435s text = "t" in modes 435s binary = "b" in modes 435s if text and binary: 435s raise ValueError("can't have text and binary mode at once") 435s if creating + reading + writing + appending > 1: 435s raise ValueError("can't have read/write/append mode at once") 435s if not (creating or reading or writing or appending): 435s raise ValueError("must have exactly one of read/write/append mode") 435s if binary and encoding is not None: 435s raise ValueError("binary mode doesn't take an encoding argument") 435s if binary and errors is not None: 435s raise ValueError("binary mode doesn't take an errors argument") 435s if binary and newline is not None: 435s raise ValueError("binary mode doesn't take a newline argument") 435s if binary and buffering == 1: 435s import warnings 435s warnings.warn("line buffering (buffering=1) isn't supported in binary " 435s "mode, the default buffer size will be used", 435s RuntimeWarning, 2) 435s raw = FileIO(file, 435s (creating and "x" or "") + 435s (reading and "r" or "") + 435s (writing and "w" or "") + 435s (appending and "a" or "") + 435s (updating and "+" or ""), 435s closefd, opener=opener) 435s result = raw 435s try: 435s line_buffering = False 435s > if buffering == 1 or buffering < 0 and raw._isatty_open_only(): 435s ^^^^^^^^^^^^^^^^^^^^^ 435s E AttributeError: 'GreenFileIO' object has no attribute '_isatty_open_only' 435s 435s /usr/lib/python3.14/_pyio.py:242: AttributeError 435s =============================== warnings summary =============================== 435s eventlet/greenpool.py:95 435s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenpool.py:95: SyntaxWarning: 'return' in a 'finally' block 435s return 435s 435s tests/api_test.py: 2 warnings 435s tests/convenience_test.py: 2 warnings 435s tests/greenio_test.py: 1 warning 435s tests/ssl_test.py: 26 warnings 435s tests/wsgi_test.py: 9 warnings 435s tests/websocket_test.py: 2 warnings 435s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 435s context = _original_sslcontext(protocol=ssl_version) 435s 435s tests/backdoor_test.py::BackdoorTest::test_quick_client_disconnect 435s tests/backdoor_test.py::BackdoorTest::test_server 435s tests/backdoor_test.py::BackdoorTest::test_server_on_unix_socket 435s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored while finalizing file <_io.TextIOWrapper mode='rw' encoding='UTF-8'>: None 435s 435s Traceback (most recent call last): 435s File "/usr/lib/python3.14/socket.py", line 743, in write 435s return self._sock.send(b) 435s ~~~~~~~~~~~~~~~^^^ 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 383, in send 435s return self._send_loop(self.fd.send, data, flags) 435s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 370, in _send_loop 435s return send_method(data, *args) 435s BrokenPipeError: [Errno 32] Broken pipe 435s 435s During handling of the above exception, another exception occurred: 435s 435s Traceback (most recent call last): 435s File "/usr/lib/python3.14/socket.py", line 743, in write 435s return self._sock.send(b) 435s ~~~~~~~~~~~~~~~^^^ 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 383, in send 435s return self._send_loop(self.fd.send, data, flags) 435s ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ 435s File "/tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenio/base.py", line 370, in _send_loop 435s return send_method(data, *args) 435s BrokenPipeError: [Errno 32] Broken pipe 435s 435s 435s warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) 435s 435s tests/not_asyncio_test.py::test_spawn_from_coroutine_errors 435s /tmp/autopkgtest.f44HyH/build.faM/src/tests/not_asyncio_test.py:22: RuntimeWarning: coroutine 'test_spawn_from_coroutine_errors..go' was never awaited 435s with pytest.raises(RuntimeError): 435s Enable tracemalloc to get traceback where the object was allocated. 435s See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. 435s 435s tests/openssl_test.py::test_import 435s tests/openssl_test.py::test_import 435s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/OpenSSL/crypto.py:1: DeprecationWarning: CSR support in pyOpenSSL is deprecated. You should use the APIs in cryptography. 435s from OpenSSL.crypto import * 435s 435s tests/ssl_test.py::SSLTest::test_context_wrapped_accept 435s /tmp/autopkgtest.f44HyH/build.faM/src/tests/ssl_test.py:333: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated 435s context = ssl.SSLContext(ssl.PROTOCOL_TLS) 435s 435s tests/wsgi_test.py::TestHttpd::test_017_ssl_zeroreturnerror 435s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/green/ssl.py:97: DeprecationWarning: ssl.PROTOCOL_TLSv1_2 is deprecated 435s context = _original_sslcontext(protocol=ssl_version) 435s 435s tests/wsgi_test.py::TestHttpd::test_disable_header_name_capitalization 435s /tmp/autopkgtest.f44HyH/build.faM/src/eventlet/greenthread.py:272: DeprecationWarning: capitalize_response_headers is disabled. 435s Please, make sure you know what you are doing. 435s HTTP headers names are case-insensitive per RFC standard. 435s Most likely, you need to fix HTTP parsing in your client software. 435s result = function(*args, **kwargs) 435s 435s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 435s =========================== short test summary info ============================ 435s FAILED tests/greenio_test.py::TestGreenPipe::test_pip_read_until_end - Attrib... 435s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe - AttributeError: 'Gre... 435s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_read - AttributeError:... 435s FAILED tests/greenio_test.py::TestGreenPipe::test_pipe_writes_large_messages 435s FAILED tests/greenio_test.py::test_pipe_context - AttributeError: 'GreenFileI... 435s FAILED tests/greenio_test.py::test_greenpipe_write - AttributeError: 'GreenFi... 435s FAILED tests/greenio_test.py::test_greenpipe_append - AttributeError: 'GreenF... 435s FAILED tests/greenio_test.py::test_greenpipe_read_overwrite - AttributeError:... 435s FAILED tests/greenio_test.py::test_greenpipe_write_plus - AttributeError: 'Gr... 435s FAILED tests/greenio_test.py::test_greenpipe_append_plus - AttributeError: 'G... 435s FAILED tests/patcher_test.py::test_regular_file_readall - AssertionError: Exp... 435s FAILED tests/subprocess_test.py::test_universal_lines - AttributeError: 'Gree... 435s ERROR tests/test__greenness.py - NameError: name 'URLopener' is not defined 435s ERROR tests/test__greenness.py - NameError: name 'URLopener' is not defined 435s ====== 12 failed, 617 passed, 89 skipped, 52 warnings, 2 errors in 36.50s ====== 436s autopkgtest [20:54:04]: test unittests: -----------------------] 436s unittests FAIL non-zero exit status 1 436s autopkgtest [20:54:04]: test unittests: - - - - - - - - - - results - - - - - - - - - - 436s autopkgtest [20:54:04]: @@@@@@@@@@@@@@@@@@@@ summary 436s listen3 PASS 436s unittests FAIL non-zero exit status 1