0s autopkgtest [17:46:16]: starting date and time: 2025-10-20 17:46:16+0000 0s autopkgtest [17:46:16]: git checkout: 4b346b80 nova: make wait_reboot return success even when a no-op 0s autopkgtest [17:46:16]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.9dl62k6l/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --apt-pocket=proposed=src:pytest,src:python-pluggy --apt-upgrade waitress --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 '--env=ADT_TEST_TRIGGERS=pytest/8.4.2-1 python-pluggy/1.6.0-1' -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest-s390x --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos03-s390x-1.secgroup --name adt-resolute-s390x-waitress-20251020-174616-juju-7f2275-prod-proposed-migration-environment-2-aefdd3f8-a02d-4178-8bb0-0e09e73d2313 --image adt/ubuntu-resolute-s390x-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration-s390x -e TERM=linux --mirror=http://ftpmaster.internal/ubuntu/ 5s Creating nova instance adt-resolute-s390x-waitress-20251020-174616-juju-7f2275-prod-proposed-migration-environment-2-aefdd3f8-a02d-4178-8bb0-0e09e73d2313 from image adt/ubuntu-resolute-s390x-server-20251020.img (UUID af6042e7-5f94-4102-8fd4-5557e2338897)... 48s autopkgtest [17:47:04]: testbed dpkg architecture: s390x 48s autopkgtest [17:47:04]: testbed apt version: 3.1.8ubuntu1 48s autopkgtest [17:47:04]: @@@@@@@@@@@@@@@@@@@@ test bed setup 48s autopkgtest [17:47:04]: testbed release detected to be: None 49s autopkgtest [17:47:05]: updating testbed package index (apt update) 50s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 50s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 50s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 50s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 50s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 50s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [14.3 kB] 50s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [646 kB] 50s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [59.3 kB] 50s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [108 kB] 50s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 50s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [395 kB] 50s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [3812 B] 50s Fetched 1316 kB in 1s (1288 kB/s) 51s Reading package lists... 52s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 52s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 52s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 52s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 53s Reading package lists... 53s Reading package lists... 53s Building dependency tree... 53s Reading state information... 53s Calculating upgrade... 53s The following packages will be upgraded: 53s libbrotli1 libjson-c5 python3-inflect python3-oauthlib python3-zipp 54s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 54s Need to get 554 kB of archives. 54s After this operation, 31.7 kB of additional disk space will be used. 54s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjson-c5 s390x 0.18+ds-1.1 [36.8 kB] 54s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libbrotli1 s390x 1.1.0-2build6 [379 kB] 54s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x python3-inflect all 7.5.0-1 [33.9 kB] 54s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x python3-oauthlib all 3.3.1-1 [93.5 kB] 54s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-zipp all 3.23.0-1 [10.4 kB] 54s dpkg-preconfigure: unable to re-open stdin: No such file or directory 54s Fetched 554 kB in 1s (853 kB/s) 54s (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 ... 56857 files and directories currently installed.) 54s Preparing to unpack .../libjson-c5_0.18+ds-1.1_s390x.deb ... 54s Unpacking libjson-c5:s390x (0.18+ds-1.1) over (0.18+ds-1) ... 55s Preparing to unpack .../libbrotli1_1.1.0-2build6_s390x.deb ... 55s Unpacking libbrotli1:s390x (1.1.0-2build6) over (1.1.0-2build5) ... 55s Preparing to unpack .../python3-inflect_7.5.0-1_all.deb ... 55s Unpacking python3-inflect (7.5.0-1) over (7.3.1-2) ... 55s Preparing to unpack .../python3-oauthlib_3.3.1-1_all.deb ... 55s Unpacking python3-oauthlib (3.3.1-1) over (3.2.2-3) ... 55s Preparing to unpack .../python3-zipp_3.23.0-1_all.deb ... 55s Unpacking python3-zipp (3.23.0-1) over (3.21.0-1) ... 55s Setting up libbrotli1:s390x (1.1.0-2build6) ... 55s Setting up python3-zipp (3.23.0-1) ... 55s Setting up python3-inflect (7.5.0-1) ... 55s Setting up python3-oauthlib (3.3.1-1) ... 55s Setting up libjson-c5:s390x (0.18+ds-1.1) ... 55s Processing triggers for libc-bin (2.42-0ubuntu3) ... 55s autopkgtest [17:47:11]: upgrading testbed (apt dist-upgrade and autopurge) 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 56s Calculating upgrade... 56s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 56s Reading package lists... 56s Building dependency tree... 56s Reading state information... 56s Solving dependencies... 56s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 59s autopkgtest [17:47:15]: testbed running kernel: Linux 6.17.0-5-generic #5-Ubuntu SMP Mon Sep 22 08:56:47 UTC 2025 60s autopkgtest [17:47:16]: @@@@@@@@@@@@@@@@@@@@ apt-source waitress 62s Get:1 http://ftpmaster.internal/ubuntu resolute/universe waitress 3.0.2-1 (dsc) [2410 B] 62s Get:2 http://ftpmaster.internal/ubuntu resolute/universe waitress 3.0.2-1 (tar) [174 kB] 62s Get:3 http://ftpmaster.internal/ubuntu resolute/universe waitress 3.0.2-1 (diff) [8276 B] 62s gpgv: Signature made Wed Nov 20 10:10:47 2024 UTC 62s gpgv: using RSA key AC0A4FF12611B6FCCF01C111393587D97D86500B 62s gpgv: Can't check signature: No public key 62s dpkg-source: warning: cannot verify inline signature for ./waitress_3.0.2-1.dsc: no acceptable signature found 62s autopkgtest [17:47:18]: testing package waitress version 3.0.2-1 62s autopkgtest [17:47:18]: build not needed 65s autopkgtest [17:47:21]: test unittests: preparing testbed 65s Reading package lists... 65s Building dependency tree... 65s Reading state information... 65s Solving dependencies... 65s The following NEW packages will be installed: 65s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 65s libjs-jquery-metadata libjs-jquery-tablesorter 65s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore 65s python-waitress-doc python3-all python3-coverage python3-iniconfig 65s python3-packaging python3-pluggy python3-pytest python3-pytest-cov 65s python3-waitress 66s 0 upgraded, 17 newly installed, 0 to remove and 0 not upgraded. 66s Need to get 1342 kB of archives. 66s After this operation, 5851 kB of additional disk space will be used. 66s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 66s Get:2 http://ftpmaster.internal/ubuntu resolute/universe s390x libjs-jquery-metadata all 12-4 [6582 B] 66s Get:3 http://ftpmaster.internal/ubuntu resolute/universe s390x libjs-jquery-tablesorter all 1:2.31.3+dfsg1-4 [192 kB] 66s Get:4 http://ftpmaster.internal/ubuntu resolute/universe s390x libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 66s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 66s Get:6 http://ftpmaster.internal/ubuntu resolute/main s390x libjs-sphinxdoc all 8.2.3-1ubuntu2 [28.0 kB] 66s Get:7 http://ftpmaster.internal/ubuntu resolute/universe s390x python-waitress-doc all 3.0.2-1 [67.9 kB] 66s Get:8 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 66s Get:9 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-coverage s390x 7.8.2+dfsg1-1 [156 kB] 66s Get:10 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-iniconfig all 1.1.1-2 [6024 B] 66s Get:11 http://ftpmaster.internal/ubuntu resolute/main s390x python3-packaging all 25.0-1 [52.8 kB] 66s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pluggy all 1.6.0-1 [21.0 kB] 66s Get:13 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x python3-pytest all 8.4.2-1 [268 kB] 66s Get:14 http://ftpmaster.internal/ubuntu resolute/universe s390x libjs-jquery-hotkeys all 0.2.0-1 [13.3 kB] 66s Get:15 http://ftpmaster.internal/ubuntu resolute/universe s390x libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 66s Get:16 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-pytest-cov all 5.0.0-1 [21.3 kB] 66s Get:17 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-waitress all 3.0.2-1 [46.3 kB] 66s Fetched 1342 kB in 1s (1756 kB/s) 66s Selecting previously unselected package libjs-jquery. 66s (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 ... 56867 files and directories currently installed.) 66s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 66s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 66s Selecting previously unselected package libjs-jquery-metadata. 66s Preparing to unpack .../01-libjs-jquery-metadata_12-4_all.deb ... 66s Unpacking libjs-jquery-metadata (12-4) ... 66s Selecting previously unselected package libjs-jquery-tablesorter. 66s Preparing to unpack .../02-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-4_all.deb ... 66s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 66s Selecting previously unselected package libjs-jquery-throttle-debounce. 66s Preparing to unpack .../03-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 66s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 66s Selecting previously unselected package libjs-underscore. 66s Preparing to unpack .../04-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 66s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 66s Selecting previously unselected package libjs-sphinxdoc. 66s Preparing to unpack .../05-libjs-sphinxdoc_8.2.3-1ubuntu2_all.deb ... 66s Unpacking libjs-sphinxdoc (8.2.3-1ubuntu2) ... 66s Selecting previously unselected package python-waitress-doc. 66s Preparing to unpack .../06-python-waitress-doc_3.0.2-1_all.deb ... 66s Unpacking python-waitress-doc (3.0.2-1) ... 67s Selecting previously unselected package python3-all. 67s Preparing to unpack .../07-python3-all_3.13.7-1_s390x.deb ... 67s Unpacking python3-all (3.13.7-1) ... 67s Selecting previously unselected package python3-coverage. 67s Preparing to unpack .../08-python3-coverage_7.8.2+dfsg1-1_s390x.deb ... 67s Unpacking python3-coverage (7.8.2+dfsg1-1) ... 67s Selecting previously unselected package python3-iniconfig. 67s Preparing to unpack .../09-python3-iniconfig_1.1.1-2_all.deb ... 67s Unpacking python3-iniconfig (1.1.1-2) ... 67s Selecting previously unselected package python3-packaging. 67s Preparing to unpack .../10-python3-packaging_25.0-1_all.deb ... 67s Unpacking python3-packaging (25.0-1) ... 67s Selecting previously unselected package python3-pluggy. 67s Preparing to unpack .../11-python3-pluggy_1.6.0-1_all.deb ... 67s Unpacking python3-pluggy (1.6.0-1) ... 67s Selecting previously unselected package python3-pytest. 67s Preparing to unpack .../12-python3-pytest_8.4.2-1_all.deb ... 67s Unpacking python3-pytest (8.4.2-1) ... 67s Selecting previously unselected package libjs-jquery-hotkeys. 67s Preparing to unpack .../13-libjs-jquery-hotkeys_0.2.0-1_all.deb ... 67s Unpacking libjs-jquery-hotkeys (0.2.0-1) ... 67s Selecting previously unselected package libjs-jquery-isonscreen. 67s Preparing to unpack .../14-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 67s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 67s Selecting previously unselected package python3-pytest-cov. 67s Preparing to unpack .../15-python3-pytest-cov_5.0.0-1_all.deb ... 67s Unpacking python3-pytest-cov (5.0.0-1) ... 67s Selecting previously unselected package python3-waitress. 67s Preparing to unpack .../16-python3-waitress_3.0.2-1_all.deb ... 67s Unpacking python3-waitress (3.0.2-1) ... 67s Setting up python3-iniconfig (1.1.1-2) ... 67s Setting up python3-waitress (3.0.2-1) ... 67s Setting up python3-all (3.13.7-1) ... 67s Setting up python3-coverage (7.8.2+dfsg1-1) ... 67s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 67s Setting up python3-packaging (25.0-1) ... 67s Setting up python3-pluggy (1.6.0-1) ... 67s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 67s Setting up libjs-jquery-hotkeys (0.2.0-1) ... 67s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 67s Setting up python3-pytest (8.4.2-1) ... 67s Setting up libjs-jquery-metadata (12-4) ... 67s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 67s Setting up libjs-sphinxdoc (8.2.3-1ubuntu2) ... 67s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-4) ... 67s Setting up python-waitress-doc (3.0.2-1) ... 67s Setting up python3-pytest-cov (5.0.0-1) ... 67s Processing triggers for man-db (2.13.1-1) ... 69s autopkgtest [17:47:25]: test unittests: [----------------------- 69s 69s *************************** 69s *** Testing with python3.13 69s *************************** 69s 69s Content of current working folder: 69s 69s total 16 69s drwxr-xr-x 3 ubuntu ubuntu 4096 Oct 20 17:47 . 69s drwxrwxrwx 5 root root 4096 Oct 20 17:47 .. 69s -rw-rw-r-- 1 ubuntu ubuntu 1944 Nov 16 2024 setup.cfg 69s drwxrwxr-x 3 ubuntu ubuntu 4096 Nov 16 2024 tests 69s Running tests... 69s 70s ============================= test session starts ============================== 70s platform linux -- Python 3.13.7, pytest-8.4.2, pluggy-1.6.0 -- /usr/bin/python3.13 70s cachedir: .pytest_cache 70s rootdir: /tmp/autopkgtest.PZw2Du/autopkgtest_tmp 70s configfile: setup.cfg 70s plugins: cov-5.0.0, typeguard-4.4.2 70s collecting ... collected 797 items 70s 70s tests/test_adjustments.py::Test_asbool::test_s_is_1 PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_False PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_None PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_True PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_false PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_on PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_true PASSED 70s tests/test_adjustments.py::Test_asbool::test_s_is_yes PASSED 70s tests/test_adjustments.py::Test_as_socket_list::test_not_only_sockets_in_list PASSED 70s tests/test_adjustments.py::Test_as_socket_list::test_only_sockets_in_list PASSED 70s tests/test_adjustments.py::TestAdjustments::test_bad_port PASSED 70s tests/test_adjustments.py::TestAdjustments::test_badvar PASSED 70s tests/test_adjustments.py::TestAdjustments::test_default_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_deprecated_send_bytes PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_forwarded_with_x_forwarded PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_host_port_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_host_port PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_unix_socket PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_unix_socket_and_host_port PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_mix_unix_socket_and_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_dont_use_unsupported_socket_types PASSED 70s tests/test_adjustments.py::TestAdjustments::test_good_sockets PASSED 70s tests/test_adjustments.py::TestAdjustments::test_goodvar_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_goodvars PASSED 70s tests/test_adjustments.py::TestAdjustments::test_ipv4_disabled PASSED 70s tests/test_adjustments.py::TestAdjustments::test_ipv6_disabled PASSED 70s tests/test_adjustments.py::TestAdjustments::test_ipv6_no_port PASSED 70s tests/test_adjustments.py::TestAdjustments::test_multiple_listen PASSED 70s tests/test_adjustments.py::TestAdjustments::test_no_trusted_proxy_headers_trusted_proxy PASSED 70s tests/test_adjustments.py::TestAdjustments::test_server_header_removable PASSED 70s tests/test_adjustments.py::TestAdjustments::test_service_port PASSED 70s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_count_no_trusted_proxy PASSED 70s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_no_trusted_proxy PASSED 70s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_string_list PASSED 70s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_string_list_newlines PASSED 70s tests/test_adjustments.py::TestAdjustments::test_unknown_trusted_proxy_header PASSED 70s tests/test_adjustments.py::TestAdjustments::test_wildcard_listen PASSED 70s tests/test_adjustments.py::TestCLI::test_bad_param PASSED 70s tests/test_adjustments.py::TestCLI::test_both PASSED 70s tests/test_adjustments.py::TestCLI::test_call PASSED 70s tests/test_adjustments.py::TestCLI::test_cast_params PASSED 70s tests/test_adjustments.py::TestCLI::test_help PASSED 70s tests/test_adjustments.py::TestCLI::test_listen_params PASSED 70s tests/test_adjustments.py::TestCLI::test_multiple_listen_params PASSED 70s tests/test_adjustments.py::TestCLI::test_negative_boolean PASSED 70s tests/test_adjustments.py::TestCLI::test_noargs PASSED 70s tests/test_adjustments.py::TestCLI::test_positive_boolean PASSED 70s tests/test_adjustments.py::TestUnixSocket::test_dont_mix_internet_and_unix_sockets PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test___len__ PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test___nonzero__ PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_append PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_close PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_ctor_from_buffer PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_ctor_from_buffer_None PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_bytes_less_than_zero PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_false PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_true PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_newfile PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_notzero PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_zero_tell_notzero PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_zero_tell_zero PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_skip_remain_gt_bytes PASSED 70s tests/test_buffers.py::TestFileBasedBuffer::test_skip_remain_lt_bytes PASSED 70s tests/test_buffers.py::TestTempfileBasedBuffer::test_newfile PASSED 70s tests/test_buffers.py::TestBytesIOBasedBuffer::test_ctor_from_buffer_None PASSED 70s tests/test_buffers.py::TestBytesIOBasedBuffer::test_ctor_from_buffer_not_None PASSED 70s tests/test_buffers.py::TestBytesIOBasedBuffer::test_newfile PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test___iter__ PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_append PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_gt_remain PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_gt_remain_withskip PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_lt_remain PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_lt_remain_withskip PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_neg_one PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_not_seekable PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_not_seekable_closeable PASSED 70s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_seekable_closeable PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test___len__buf_is_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test___len__buf_is_not_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test___nonzero__ PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test___nonzero___on_int_overflow_buffer PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test__create_buffer_large PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test__create_buffer_small PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_append_buf_None_longer_than_strbuf_limit PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_append_buf_None_not_longer_than_srtbuf_limit PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_append_overflow PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_append_sz_gt_overflow PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_append_with_len_more_than_max_int PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_close_nobuf PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_close_withbuf PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_get_buf_None_skip_False PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_get_buf_None_skip_True PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_getfile_buf_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_getfile_buf_not_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_prune_buf_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buf PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buf_overflow PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buflen_more_than_max_int PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_skip_buf_None PASSED 70s tests/test_buffers.py::TestOverflowableBuffer::test_skip_buf_None_allow_prune_True PASSED 70s tests/test_channel.py::TestHTTPChannel::test__flush_some_empty_outbuf PASSED 70s tests/test_channel.py::TestHTTPChannel::test__flush_some_full_outbuf_socket_returns_nonzero PASSED 70s tests/test_channel.py::TestHTTPChannel::test__flush_some_full_outbuf_socket_returns_zero PASSED 70s tests/test_channel.py::TestHTTPChannel::test__flush_some_outbuf_len_gt_sys_maxint PASSED 70s tests/test_channel.py::TestHTTPChannel::test_add_channel PASSED 70s tests/test_channel.py::TestHTTPChannel::test_cancel_no_requests PASSED 70s tests/test_channel.py::TestHTTPChannel::test_cancel_with_requests PASSED 70s tests/test_channel.py::TestHTTPChannel::test_ctor PASSED 70s tests/test_channel.py::TestHTTPChannel::test_del_channel PASSED 70s tests/test_channel.py::TestHTTPChannel::test_flush_some_multiple_buffers_close_raises PASSED 70s tests/test_channel.py::TestHTTPChannel::test_flush_some_multiple_buffers_first_empty PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_close_outbuf_raises_on_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_read_error PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_read_no_error PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_close_when_flushed PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_notify_after_flush PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_request_with_outbuf PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_requests_no_outbuf_will_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_requests_outbuf_gt_send_bytes PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_not_connected PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_notify_after_flush PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_outbuf_raises_othererror PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_outbuf_raises_socketerror PASSED 70s tests/test_channel.py::TestHTTPChannel::test_handle_write_with_requests PASSED 70s tests/test_channel.py::TestHTTPChannel::test_readable_no_requests_not_will_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_readable_no_requests_will_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_readable_with_requests PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_false PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_true PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_true_sent_true PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_no_chunk PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_preq_completed_connection_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_preq_completed_empty PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_preq_error PASSED 70s tests/test_channel.py::TestHTTPChannel::test_received_preq_not_completed PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_multiple_requests PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_one_error_request PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_one_request PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_request_error_raises_disconnect PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_request_raises PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_request_raises_disconnect PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_already_wrote_header PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_didnt_write_header PASSED 70s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_didnt_write_header_expose_tbs PASSED 70s tests/test_channel.py::TestHTTPChannel::test_total_outbufs_len_an_outbuf_size_gt_sys_maxint PASSED 70s tests/test_channel.py::TestHTTPChannel::test_writable_nothing_in_outbuf PASSED 70s tests/test_channel.py::TestHTTPChannel::test_writable_nothing_in_outbuf_will_close PASSED 70s tests/test_channel.py::TestHTTPChannel::test_writable_something_in_outbuf PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_attempts_flush_high_water_and_exception PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_disconnected PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_disconnected_while_over_watermark PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_empty_byte PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_filewrapper PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_flush_and_exception PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_nonempty_byte PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_rotates_outbuf_on_overflow PASSED 70s tests/test_channel.py::TestHTTPChannel::test_write_soon_waits_on_backpressure PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_empty_outbuf PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_full_outbuf_socket_returns_nonzero PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_full_outbuf_socket_returns_zero PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_outbuf_len_gt_sys_maxint PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test_add_channel PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test_cancel_no_requests PASSED 70s tests/test_channel.py::TestHTTPChannelLookahead::test_cancel_with_requests PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_client_disconnect PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_client_disconnect_immediate PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_ctor PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_del_channel PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_flush_some_multiple_buffers_close_raises PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_flush_some_multiple_buffers_first_empty PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_close_outbuf_raises_on_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_read_error PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_read_no_error PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_close_when_flushed PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_notify_after_flush PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_request_with_outbuf PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_requests_no_outbuf_will_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_requests_outbuf_gt_send_bytes PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_not_connected PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_notify_after_flush PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_outbuf_raises_othererror PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_outbuf_raises_socketerror PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_with_requests PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_lookahead_bad_request_drop_extra_data PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_lookahead_continue PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_no_requests_not_will_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_no_requests_will_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_with_requests PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_false PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_true PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_true_sent_true PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_no_chunk PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_completed_connection_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_completed_empty PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_error PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_not_completed PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_multiple_requests PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_one_error_request PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_one_request PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_error_raises_disconnect PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_raises PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_raises_disconnect PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_already_wrote_header PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_didnt_write_header PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_didnt_write_header_expose_tbs PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_total_outbufs_len_an_outbuf_size_gt_sys_maxint PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_nothing_in_outbuf PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_nothing_in_outbuf_will_close PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_something_in_outbuf PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_attempts_flush_high_water_and_exception PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_disconnected PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_disconnected_while_over_watermark PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_empty_byte PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_filewrapper PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_flush_and_exception PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_nonempty_byte PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_rotates_outbuf_on_overflow PASSED 71s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_waits_on_backpressure PASSED 74s tests/test_functional.py::SleepyThreadTests::test_it PASSED 74s tests/test_functional.py::TcpEchoTests::test_bad_host_header PASSED 74s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding PASSED 74s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_invalid_extension PASSED 74s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_invalid_hex PASSED 75s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_missing_chunk_end PASSED 75s tests/test_functional.py::TcpEchoTests::test_chunking_request_with_content PASSED 75s tests/test_functional.py::TcpEchoTests::test_chunking_request_without_content PASSED 75s tests/test_functional.py::TcpEchoTests::test_date_and_server PASSED 75s tests/test_functional.py::TcpEchoTests::test_keepalive_http10_explicit PASSED 75s tests/test_functional.py::TcpEchoTests::test_keepalive_http11_connclose PASSED 75s tests/test_functional.py::TcpEchoTests::test_keepalive_http11_explicit PASSED 75s tests/test_functional.py::TcpEchoTests::test_keepalive_http_10 PASSED 75s tests/test_functional.py::TcpEchoTests::test_keepalive_http_11 PASSED 75s tests/test_functional.py::TcpEchoTests::test_large_body PASSED 75s tests/test_functional.py::TcpEchoTests::test_many_clients PASSED 75s tests/test_functional.py::TcpEchoTests::test_multiple_requests_with_body PASSED 75s tests/test_functional.py::TcpEchoTests::test_multiple_requests_without_body PASSED 75s tests/test_functional.py::TcpEchoTests::test_proxy_headers PASSED 75s tests/test_functional.py::TcpEchoTests::test_send_empty_body PASSED 75s tests/test_functional.py::TcpEchoTests::test_send_with_body PASSED 75s tests/test_functional.py::TcpEchoTests::test_without_crlf PASSED 75s tests/test_functional.py::TcpPipeliningTests::test_pipelining PASSED 75s tests/test_functional.py::TcpExpectContinueTests::test_expect_continue PASSED 75s tests/test_functional.py::TcpBadContentLengthTests::test_long_body PASSED 75s tests/test_functional.py::TcpBadContentLengthTests::test_short_body PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http10_generator PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http10_list PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http10_listlentwo PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http11_generator PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http11_list PASSED 75s tests/test_functional.py::TcpNoContentLengthTests::test_http11_listlentwo PASSED 75s tests/test_functional.py::TcpWriteCallbackTests::test_equal_body PASSED 75s tests/test_functional.py::TcpWriteCallbackTests::test_long_body PASSED 75s tests/test_functional.py::TcpWriteCallbackTests::test_no_content_length PASSED 76s tests/test_functional.py::TcpWriteCallbackTests::test_short_body PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_chunked_encoding PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http10 PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http10_keepalive PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http11 PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http11_connclose PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http10 PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http10_keepalive PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http11 PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http11_connclose PASSED 76s tests/test_functional.py::TcpTooLargeTests::test_request_headers_too_large_http11 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http10 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http11 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http11_close PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_after_write_cb PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_10 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_11 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_11_close PASSED 76s tests/test_functional.py::TcpInternalServerErrorTests::test_in_generator PASSED 76s tests/test_functional.py::TcpInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_10 PASSED 76s tests/test_functional.py::TcpInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_http10 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_longcl_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_nocl_http10 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_nocl_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_filelike_shortcl_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_http10 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_iobase_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_longcl_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_nocl_http10 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_nocl_http11 PASSED 76s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_shortcl_http11 PASSED 76s tests/test_functional.py::UnixEchoTests::test_bad_host_header PASSED 76s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding PASSED 76s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_invalid_extension PASSED 77s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_invalid_hex PASSED 77s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_missing_chunk_end PASSED 77s tests/test_functional.py::UnixEchoTests::test_chunking_request_with_content PASSED 77s tests/test_functional.py::UnixEchoTests::test_chunking_request_without_content PASSED 77s tests/test_functional.py::UnixEchoTests::test_date_and_server PASSED 77s tests/test_functional.py::UnixEchoTests::test_keepalive_http10_explicit PASSED 77s tests/test_functional.py::UnixEchoTests::test_keepalive_http11_connclose PASSED 77s tests/test_functional.py::UnixEchoTests::test_keepalive_http11_explicit PASSED 77s tests/test_functional.py::UnixEchoTests::test_keepalive_http_10 PASSED 77s tests/test_functional.py::UnixEchoTests::test_keepalive_http_11 PASSED 77s tests/test_functional.py::UnixEchoTests::test_large_body PASSED 77s tests/test_functional.py::UnixEchoTests::test_many_clients PASSED 77s tests/test_functional.py::UnixEchoTests::test_multiple_requests_with_body PASSED 77s tests/test_functional.py::UnixEchoTests::test_multiple_requests_without_body PASSED 77s tests/test_functional.py::UnixEchoTests::test_proxy_headers PASSED 77s tests/test_functional.py::UnixEchoTests::test_send_empty_body PASSED 77s tests/test_functional.py::UnixEchoTests::test_send_with_body PASSED 77s tests/test_functional.py::UnixEchoTests::test_without_crlf PASSED 77s tests/test_functional.py::UnixPipeliningTests::test_pipelining PASSED 77s tests/test_functional.py::UnixExpectContinueTests::test_expect_continue PASSED 77s tests/test_functional.py::UnixBadContentLengthTests::test_long_body PASSED 77s tests/test_functional.py::UnixBadContentLengthTests::test_short_body PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http10_generator PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http10_list PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http10_listlentwo PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http11_generator PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http11_list PASSED 77s tests/test_functional.py::UnixNoContentLengthTests::test_http11_listlentwo PASSED 77s tests/test_functional.py::UnixWriteCallbackTests::test_equal_body PASSED 77s tests/test_functional.py::UnixWriteCallbackTests::test_long_body PASSED 77s tests/test_functional.py::UnixWriteCallbackTests::test_no_content_length PASSED 77s tests/test_functional.py::UnixWriteCallbackTests::test_short_body PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_chunked_encoding PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http10 PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http10_keepalive PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http11 PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http11_connclose PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http10 PASSED 77s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http10_keepalive PASSED 78s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http11 PASSED 78s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http11_connclose PASSED 78s tests/test_functional.py::UnixTooLargeTests::test_request_headers_too_large_http11 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http10 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http11 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http11_close PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_after_write_cb PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_10 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_11 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_11_close PASSED 78s tests/test_functional.py::UnixInternalServerErrorTests::test_in_generator PASSED 78s tests/test_functional.py::UnixInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_10 PASSED 78s tests/test_functional.py::UnixInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_http10 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_longcl_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_nocl_http10 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_nocl_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_filelike_shortcl_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_http10 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_iobase_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_longcl_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_nocl_http10 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_nocl_http11 PASSED 78s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_shortcl_http11 PASSED 78s tests/test_init.py::Test_serve::test_it PASSED 78s tests/test_init.py::Test_serve_paste::test_it PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_close_with_body_rcv PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_close_with_no_body_rcv PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_get_body_stream_None PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_get_body_stream_nonNone PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_11_expect_continue PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_11_te_chunked PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length_minus PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length_plus PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_connection_close PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_cr_only PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_empty PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_extra_lf_in_first_line PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_extra_lf_in_header PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_gardenpath PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_backtrack_bad PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_chars PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_folding_spacing PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_no_colon PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_whitespace PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_whitespace_vtab PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_lf_only PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_content_length PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_extra_space PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_header_folded PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_header_folded_multiple PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_no_cr_in_headerplus PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_other_whitespace PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_short_values PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_multiple PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_unicode PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_whitespace PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_already_completed PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_bad_host_header PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_bad_transfer_encoding PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_body_too_large PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_chunked_completed_sets_content_length PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_cl_too_large PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_error_from_parser PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_get_no_headers PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_headers_not_too_large_multiple_chunks PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_headers_too_large PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_no_doublecr PASSED 78s tests/test_parser.py::TestHTTPRequestParser::test_received_nonsense_nothing PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_path PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_path_query PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_path_query_fragment PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_unicode_error_raises_parsing_error PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_unquoting_needed PASSED 78s tests/test_parser.py::Test_split_uri::test_split_uri_unquoting_unneeded PASSED 78s tests/test_parser.py::Test_split_uri::test_split_url_https PASSED 78s tests/test_parser.py::Test_split_uri::test_split_url_with_fragment PASSED 78s tests/test_parser.py::Test_split_uri::test_split_url_with_query PASSED 78s tests/test_parser.py::Test_split_uri::test_split_url_with_query_empty PASSED 78s tests/test_parser.py::Test_get_header_lines::test_get_header_lines PASSED 78s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_folded PASSED 78s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_malformed PASSED 78s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_tabbed PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_bad_method PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_bad_version PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_lowercase_method PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_matchok PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_missing_version PASSED 78s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_nomatch PASSED 78s tests/test_parser.py::TestHTTPRequestParserIntegration::testComplexGET PASSED 78s tests/test_parser.py::TestHTTPRequestParserIntegration::testDuplicateHeaders PASSED 78s tests/test_parser.py::TestHTTPRequestParserIntegration::testProxyGET PASSED 78s tests/test_parser.py::TestHTTPRequestParserIntegration::testSimpleGET PASSED 78s tests/test_parser.py::TestHTTPRequestParserIntegration::testSpoofedHeadersDropped PASSED 78s tests/test_parser.py::Test_unquote_bytes_to_wsgi::test_highorder PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_clears_headers_if_untrusted_proxy PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_contains_all_headers_including_untrusted PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_contains_only_trusted_headers PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_bogus_scheme_override PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_scheme_override_trusted PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_scheme_override_untrusted PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_warning_other_proxy_headers PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_empty_pair PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_for_bad_quote PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_host_bad_quote PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies_minimal PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies_trust_only_two PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_no_equals PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_token_whitespace PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_value_whitespace PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_port_wrong_proto_port_443 PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_port_wrong_proto_port_80 PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_warning_unknown_token PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_multiple_x_forwarded_port PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_multiple_x_forwarded_proto PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_no_valid_proxy_headers PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_for PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_for_v6_missing_brackets PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_multiple_with_forwarded_port PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_multiple_with_forwarded_port_limit_one_trusted PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_with_forwarded_port PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_with_port PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_without_port PASSED 78s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwared_for_multiple PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test___len__ PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test_getbuf PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test_getfile PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_gt_datalen PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_lt_1 PASSED 78s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_lte_datalen PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test___len__ PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_alreadycompleted PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_getbuf PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_getfile PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_chunk_is_properly_terminated PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_chunk_not_properly_terminated PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_all_chunks_not_received PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_all_chunks_received PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_garbage_in_input PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_notfinished PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_multiple_chunks PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_multiple_chunks_split PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_remain_gt_zero PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_finished PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_not_finished PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_startswith_crlf PASSED 78s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_startswith_lf PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[\n] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[invalid=] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[\r] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[invalid = true] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[test] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[valid=true] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[valid=true;other=true] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[0x04] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[+0x04] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[x04] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[+04] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[ 04] PASSED 78s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[ 0x04] PASSED 78s tests/test_regression.py::test_suite PASSED 78s tests/test_runner.py::Test_run::test_bad PASSED 78s tests/test_runner.py::Test_run::test_bad_app_module PASSED 78s tests/test_runner.py::Test_run::test_bad_app_object PASSED 78s tests/test_runner.py::Test_run::test_bad_apps_app PASSED 78s tests/test_runner.py::Test_run::test_cwd_added_to_path PASSED 78s tests/test_runner.py::Test_run::test_help PASSED 78s tests/test_runner.py::Test_run::test_multiple_apps_app PASSED 78s tests/test_runner.py::Test_run::test_no_app PASSED 78s tests/test_runner.py::Test_run::test_returned_app PASSED 78s tests/test_runner.py::Test_run::test_simple_call PASSED 78s tests/test_runner.py::Test_helper::test_exception_logging PASSED 78s tests/test_server.py::TestWSGIServer::test_add_task PASSED 78s tests/test_server.py::TestWSGIServer::test_backward_compatibility PASSED 78s tests/test_server.py::TestWSGIServer::test_create_with_multiple_tcp_sockets PASSED 78s tests/test_server.py::TestWSGIServer::test_create_with_one_socket_handle_accept_noerror PASSED 78s tests/test_server.py::TestWSGIServer::test_create_with_one_socket_should_not_bind_socket PASSED 78s tests/test_server.py::TestWSGIServer::test_create_with_one_tcp_socket PASSED 78s tests/test_server.py::TestWSGIServer::test_ctor_app_is_None PASSED 78s tests/test_server.py::TestWSGIServer::test_ctor_makes_dispatcher PASSED 78s tests/test_server.py::TestWSGIServer::test_ctor_start_false PASSED 78s tests/test_server.py::TestWSGIServer::test_ctor_start_true PASSED 78s tests/test_server.py::TestWSGIServer::test_get_server_multi PASSED 78s tests/test_server.py::TestWSGIServer::test_handle_accept_noerror PASSED 78s tests/test_server.py::TestWSGIServer::test_handle_accept_other_socket_error PASSED 78s tests/test_server.py::TestWSGIServer::test_handle_accept_wouldblock_socket_error PASSED 78s tests/test_server.py::TestWSGIServer::test_handle_connect PASSED 78s tests/test_server.py::TestWSGIServer::test_handle_read PASSED 78s tests/test_server.py::TestWSGIServer::test_maintenance PASSED 78s tests/test_server.py::TestWSGIServer::test_pull_trigger PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_maintenance_false PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_maintenance_true PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_maplen_gt_connection_limit PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_maplen_lt_connection_limit PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_maplen_toggles_connection_overflow PASSED 78s tests/test_server.py::TestWSGIServer::test_readable_not_accepting PASSED 78s tests/test_server.py::TestWSGIServer::test_run PASSED 78s tests/test_server.py::TestWSGIServer::test_run_base_server PASSED 78s tests/test_server.py::TestWSGIServer::test_writable PASSED 78s tests/test_server.py::TestUnixWSGIServer::test_create_with_unix_socket PASSED 78s tests/test_server.py::TestUnixWSGIServer::test_creates_new_sockinfo PASSED 78s tests/test_server.py::TestUnixWSGIServer::test_handle_accept PASSED 78s tests/test_server.py::TestUnixWSGIServer::test_unix PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_add_task_with_all_busy_threads PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_add_task_with_idle_threads PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_handler_thread_task_raises PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_decrease PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_increase PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_increase_with_existing PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_same PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_no_cancel_pending PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_no_threads PASSED 78s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_one_thread PASSED 78s tests/test_task.py::TestTask::test_build_response_header_bad_http_version PASSED 78s tests/test_task.py::TestTask::test_build_response_header_date_exists PASSED 78s tests/test_task.py::TestTask::test_build_response_header_preexisting_content_length PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v10_keepalive_no_content_length PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v10_keepalive_with_content_length PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_1xx_no_content_length_or_transfer_encoding PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_200_no_content_length PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_204_no_content_length_or_transfer_encoding PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_304_no_content_length_or_transfer_encoding PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_connection_closed_by_client PASSED 78s tests/test_task.py::TestTask::test_build_response_header_v11_connection_keepalive_by_client PASSED 78s tests/test_task.py::TestTask::test_build_response_header_via_added PASSED 78s tests/test_task.py::TestTask::test_ctor_version_not_in_known PASSED 78s tests/test_task.py::TestTask::test_finish_chunked_response PASSED 78s tests/test_task.py::TestTask::test_finish_didnt_write_header PASSED 78s tests/test_task.py::TestTask::test_finish_wrote_header PASSED 78s tests/test_task.py::TestTask::test_remove_content_length_header PASSED 78s tests/test_task.py::TestTask::test_remove_content_length_header_with_other PASSED 78s tests/test_task.py::TestTask::test_start PASSED 78s tests/test_task.py::TestTask::test_write_chunked_response PASSED 78s tests/test_task.py::TestTask::test_write_header_not_written PASSED 78s tests/test_task.py::TestTask::test_write_preexisting_content_length PASSED 78s tests/test_task.py::TestTask::test_write_start_response_uncalled PASSED 78s tests/test_task.py::TestTask::test_write_wrote_header PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_twice_wo_exc_info PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_exc_info_complete PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_excinf_headers_unwritten PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_excinf_headers_written PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_calls_write PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_head_with_content_length PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_closeable PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_empty_chunk_as_first PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True_badcl PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True_nocl PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_len1_chunk_without_cl PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_too_few_bytes PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_returns_too_many_bytes PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_without_body_204_logged PASSED 78s tests/test_task.py::TestWSGITask::test_execute_app_without_body_304_logged PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_header_key PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_header_name_control_characters PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_header_value PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_header_value_control_characters PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_status_control_characters PASSED 78s tests/test_task.py::TestWSGITask::test_execute_bad_status_value PASSED 78s tests/test_task.py::TestWSGITask::test_execute_hopbyhop_header PASSED 78s tests/test_task.py::TestWSGITask::test_execute_with_content_length_header PASSED 78s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_empty_path PASSED 78s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_hit PASSED 78s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_miss PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_already_cached PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_no_query PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_path_empty PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_path_startswith_more_than_one_slash PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_values PASSED 78s tests/test_task.py::TestWSGITask::test_get_environment_with_query PASSED 78s tests/test_task.py::TestWSGITask::test_preserve_header_value_order PASSED 78s tests/test_task.py::TestWSGITask::test_service PASSED 78s tests/test_task.py::TestWSGITask::test_service_server_raises_socket_error PASSED 78s tests/test_task.py::TestErrorTask::test_execute_http_10 PASSED 78s tests/test_task.py::TestErrorTask::test_execute_http_11 PASSED 78s tests/test_task.py::TestErrorTask::test_execute_http_11_close PASSED 78s tests/test_task.py::TestErrorTask::test_execute_http_11_keep_forces_close PASSED 78s tests/test_trigger.py::Test_trigger::test__close PASSED 78s tests/test_trigger.py::Test_trigger::test__physical_pull PASSED 78s tests/test_trigger.py::Test_trigger::test_close PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_close PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_connect PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_read_no_socket_error PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_read_socket_error PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_read_thunk PASSED 78s tests/test_trigger.py::Test_trigger::test_handle_read_thunk_error PASSED 78s tests/test_trigger.py::Test_trigger::test_pull_trigger_nothunk PASSED 78s tests/test_trigger.py::Test_trigger::test_pull_trigger_thunk PASSED 78s tests/test_trigger.py::Test_trigger::test_readable PASSED 78s tests/test_trigger.py::Test_trigger::test_writable PASSED 78s tests/test_utilities.py::Test_parse_http_date::test_neither PASSED 78s tests/test_utilities.py::Test_parse_http_date::test_rfc822 PASSED 78s tests/test_utilities.py::Test_parse_http_date::test_rfc850 PASSED 78s tests/test_utilities.py::Test_build_http_date::test_rountdrip PASSED 78s tests/test_utilities.py::Test_unpack_rfc850::test_it PASSED 78s tests/test_utilities.py::Test_unpack_rfc_822::test_it PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_double_crfl PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_double_linefeed PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_empty PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_mixed PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_one_crlf PASSED 78s tests/test_utilities.py::Test_find_double_newline::test_one_linefeed PASSED 78s tests/test_utilities.py::TestBadRequest::test_it PASSED 78s tests/test_utilities.py::Test_undquote::test_empty PASSED 78s tests/test_utilities.py::Test_undquote::test_invalid_quoting PASSED 78s tests/test_utilities.py::Test_undquote::test_invalid_quoting_single_quote PASSED 78s tests/test_utilities.py::Test_undquote::test_quoted PASSED 78s tests/test_utilities.py::Test_undquote::test_quoted_backslash_htab PASSED 78s tests/test_utilities.py::Test_undquote::test_quoted_backslash_invalid PASSED 78s tests/test_utilities.py::Test_undquote::test_quoted_backslash_quote PASSED 78s tests/test_utilities.py::Test_undquote::test_quoted_htab PASSED 78s tests/test_utilities.py::Test_undquote::test_unquoted PASSED 78s tests/test_wasyncore.py::HelperFunctionTests::test_closeall PASSED 78s tests/test_wasyncore.py::HelperFunctionTests::test_closeall_default PASSED 78s tests/test_wasyncore.py::HelperFunctionTests::test_compact_traceback PASSED 78s tests/test_wasyncore.py::HelperFunctionTests::test_readwrite PASSED 78s tests/test_wasyncore.py::HelperFunctionTests::test_readwriteexc PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_basic PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_log PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_log_info PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_repr PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_strerror PASSED 78s tests/test_wasyncore.py::DispatcherTests::test_unhandled PASSED 78s tests/test_wasyncore.py::FileWrapperTest::test_close_twice PASSED 78s tests/test_wasyncore.py::FileWrapperTest::test_dispatcher PASSED 78s tests/test_wasyncore.py::FileWrapperTest::test_recv PASSED 78s tests/test_wasyncore.py::FileWrapperTest::test_resource_warning PASSED 78s tests/test_wasyncore.py::FileWrapperTest::test_send PASSED 78s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_bind PASSED 78s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_connection_attributes PASSED 78s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_create_socket PASSED 78s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_accept PASSED 78s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_accepted PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_close PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_close_after_conn_broken PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_error PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_expt PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_read PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_write PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_quick_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_set_reuse_addr PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_bind PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_connection_attributes PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_create_socket PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_accept PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_accepted PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_close PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_close_after_conn_broken PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_error PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_expt PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_read PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_write PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_quick_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_set_reuse_addr PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_bind PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_connection_attributes PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_create_socket PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_accept PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_accepted PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_close PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_close_after_conn_broken PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_error PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_expt PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_read PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_write PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_quick_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_set_reuse_addr PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_bind PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_connection_attributes PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_create_socket PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_accept PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_accepted PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_close PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_close_after_conn_broken PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_connect PASSED 79s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_error PASSED 80s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_expt PASSED 80s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_read PASSED 80s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_write PASSED 80s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_quick_connect PASSED 80s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_set_reuse_addr PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_bind SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_connection_attributes PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_create_socket PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_accept PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_accepted PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_close PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_close_after_conn_broken PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_connect PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_error PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_expt SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_read PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_write PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_quick_connect SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_set_reuse_addr SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_bind SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_connection_attributes PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_create_socket PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_accept PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_accepted PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_close PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_close_after_conn_broken PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_connect PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_error PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_expt SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_read PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_write PASSED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_quick_connect SKIPPED 80s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_set_reuse_addr SKIPPED 80s tests/test_wasyncore.py::Test__strerror::test_gardenpath PASSED 80s tests/test_wasyncore.py::Test__strerror::test_unknown PASSED 80s tests/test_wasyncore.py::Test_read::test_gardenpath PASSED 80s tests/test_wasyncore.py::Test_read::test_non_reraised PASSED 80s tests/test_wasyncore.py::Test_read::test_reraised PASSED 80s tests/test_wasyncore.py::Test_write::test_gardenpath PASSED 80s tests/test_wasyncore.py::Test_write::test_non_reraised PASSED 80s tests/test_wasyncore.py::Test_write::test_reraised PASSED 80s tests/test_wasyncore.py::Test__exception::test_gardenpath PASSED 80s tests/test_wasyncore.py::Test__exception::test_non_reraised PASSED 80s tests/test_wasyncore.py::Test__exception::test_reraised PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_exception_in_reraised PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_exception_not_in_reraised PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_handle_close PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_handle_expt_event PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_handle_read_event PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_handle_write_event PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_socketerror_in_disconnected PASSED 80s tests/test_wasyncore.py::Test_readwrite::test_socketerror_not_in_disconnected PASSED 80s tests/test_wasyncore.py::Test_poll::test_nothing_writable_nothing_readable_but_map_not_empty PASSED 80s tests/test_wasyncore.py::Test_poll::test_select_raises_EINTR PASSED 80s tests/test_wasyncore.py::Test_poll::test_select_raises_non_EINTR PASSED 80s tests/test_wasyncore.py::Test_poll2::test_select_raises_EINTR PASSED 80s tests/test_wasyncore.py::Test_poll2::test_select_raises_non_EINTR PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test___repr__accepting PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test___repr__connected PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_accept_raise_TypeError PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_accept_raise_unexpected_socketerror PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_close_raises_unknown_socket_error PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_accepted PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_close PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_connect_event_getsockopt_returns_error PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_error_gardenpath PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_expt_event_getsockopt_returns_error PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_read_event_not_accepting_not_connected_connecting PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_handle_write_event_while_accepting PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_recv_raises_disconnect PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_send_raise_EWOULDBLOCK PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_send_raise_unexpected_socketerror PASSED 80s tests/test_wasyncore.py::Test_dispatcher::test_set_reuse_addr_with_socketerror PASSED 80s tests/test_wasyncore.py::Test_close_all::test_reraised_exc_on_close PASSED 80s tests/test_wasyncore.py::Test_close_all::test_socketerror_on_close_ebadf PASSED 80s tests/test_wasyncore.py::Test_close_all::test_socketerror_on_close_non_ebadf PASSED 82s tests/test_wasyncore.py::Test_close_all::test_unknown_exc_on_close PASSED 82s 82s =============================== warnings summary =============================== 82s tests/test_adjustments.py::TestAdjustments::test_goodvars 82s /usr/lib/python3/dist-packages/waitress/adjustments.py:312: DeprecationWarning: send_bytes will be removed in a future release 82s warnings.warn( 82s 82s tests/test_regression.py::test_suite 82s /usr/lib/python3/dist-packages/_pytest/python.py:161: PytestReturnNotNoneWarning: Test functions should return None, but tests/test_regression.py::test_suite returned . 82s Did you mean to use `assert` instead of `return`? 82s See https://docs.pytest.org/en/stable/how-to/assert.html#return-not-none for more information. 82s warnings.warn( 82s 82s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 82s 82s ---------- coverage: platform linux, python 3.13.7-final-0 ----------- 82s Name Stmts Miss Cover 82s ----------------------------------------------------------------------------------- 82s /etc/python3.13/sitecustomize.py 5 1 80% 82s /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 101 96 5% 82s /usr/lib/python3/dist-packages/_pytest/_argcomplete.py 36 35 3% 82s /usr/lib/python3/dist-packages/_pytest/_code/code.py 819 749 9% 82s /usr/lib/python3/dist-packages/_pytest/_code/source.py 150 148 1% 82s /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py 135 89 34% 82s /usr/lib/python3/dist-packages/_pytest/_io/wcwidth.py 26 17 35% 82s /usr/lib/python3/dist-packages/_pytest/_py/path.py 942 937 1% 82s /usr/lib/python3/dist-packages/_pytest/assertion/__init__.py 92 78 15% 82s /usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py 670 395 41% 82s /usr/lib/python3/dist-packages/_pytest/cacheprovider.py 325 271 17% 82s /usr/lib/python3/dist-packages/_pytest/capture.py 623 578 7% 82s /usr/lib/python3/dist-packages/_pytest/compat.py 107 76 29% 82s /usr/lib/python3/dist-packages/_pytest/config/__init__.py 935 790 16% 82s /usr/lib/python3/dist-packages/_pytest/config/argparsing.py 250 209 16% 82s /usr/lib/python3/dist-packages/_pytest/config/compat.py 45 24 47% 82s /usr/lib/python3/dist-packages/_pytest/debugging.py 240 230 4% 82s /usr/lib/python3/dist-packages/_pytest/deprecated.py 15 14 7% 82s /usr/lib/python3/dist-packages/_pytest/doctest.py 349 341 2% 82s /usr/lib/python3/dist-packages/_pytest/faulthandler.py 60 47 22% 82s /usr/lib/python3/dist-packages/_pytest/fixtures.py 924 599 35% 82s /usr/lib/python3/dist-packages/_pytest/helpconfig.py 133 123 8% 82s /usr/lib/python3/dist-packages/_pytest/junitxml.py 359 357 1% 82s /usr/lib/python3/dist-packages/_pytest/legacypath.py 214 191 11% 82s /usr/lib/python3/dist-packages/_pytest/logging.py 451 325 28% 82s /usr/lib/python3/dist-packages/_pytest/main.py 509 294 42% 82s /usr/lib/python3/dist-packages/_pytest/mark/__init__.py 141 126 11% 82s /usr/lib/python3/dist-packages/_pytest/mark/structures.py 273 188 31% 82s /usr/lib/python3/dist-packages/_pytest/monkeypatch.py 163 149 9% 82s /usr/lib/python3/dist-packages/_pytest/nodes.py 311 215 31% 82s /usr/lib/python3/dist-packages/_pytest/outcomes.py 98 89 9% 82s /usr/lib/python3/dist-packages/_pytest/pastebin.py 74 73 1% 82s /usr/lib/python3/dist-packages/_pytest/pathlib.py 484 400 17% 82s /usr/lib/python3/dist-packages/_pytest/python.py 785 450 43% 82s /usr/lib/python3/dist-packages/_pytest/reports.py 298 254 15% 82s /usr/lib/python3/dist-packages/_pytest/runner.py 304 175 42% 82s /usr/lib/python3/dist-packages/_pytest/scope.py 37 27 27% 82s /usr/lib/python3/dist-packages/_pytest/setuponly.py 58 50 14% 82s /usr/lib/python3/dist-packages/_pytest/setupplan.py 23 19 17% 82s /usr/lib/python3/dist-packages/_pytest/skipping.py 165 135 18% 82s /usr/lib/python3/dist-packages/_pytest/stash.py 35 24 31% 82s /usr/lib/python3/dist-packages/_pytest/stepwise.py 112 110 2% 82s /usr/lib/python3/dist-packages/_pytest/terminal.py 989 770 22% 82s /usr/lib/python3/dist-packages/_pytest/threadexception.py 86 65 24% 82s /usr/lib/python3/dist-packages/_pytest/timing.py 38 34 11% 82s /usr/lib/python3/dist-packages/_pytest/tmpdir.py 153 131 14% 82s /usr/lib/python3/dist-packages/_pytest/tracemalloc.py 14 12 14% 82s /usr/lib/python3/dist-packages/_pytest/unittest.py 285 182 36% 82s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py 92 71 23% 82s /usr/lib/python3/dist-packages/_pytest/warnings.py 65 38 42% 82s /usr/lib/python3/dist-packages/pluggy/_callers.py 98 49 50% 82s /usr/lib/python3/dist-packages/pluggy/_hooks.py 254 168 34% 82s /usr/lib/python3/dist-packages/pluggy/_manager.py 233 183 21% 82s /usr/lib/python3/dist-packages/pluggy/_result.py 52 44 15% 82s /usr/lib/python3/dist-packages/pluggy/_tracing.py 47 37 21% 82s /usr/lib/python3/dist-packages/pytest_cov/compat.py 12 8 33% 82s /usr/lib/python3/dist-packages/pytest_cov/embed.py 69 63 9% 82s /usr/lib/python3/dist-packages/pytest_cov/engine.py 247 226 9% 82s /usr/lib/python3/dist-packages/pytest_cov/plugin.py 225 207 8% 82s /usr/lib/python3/dist-packages/typeguard/_pytest_plugin.py 56 42 25% 82s /usr/lib/python3/dist-packages/waitress/__init__.py 11 0 100% 82s /usr/lib/python3/dist-packages/waitress/adjustments.py 180 0 100% 82s /usr/lib/python3/dist-packages/waitress/buffers.py 211 0 100% 82s /usr/lib/python3/dist-packages/waitress/channel.py 258 0 100% 82s /usr/lib/python3/dist-packages/waitress/compat.py 10 0 100% 82s /usr/lib/python3/dist-packages/waitress/parser.py 198 0 100% 82s /usr/lib/python3/dist-packages/waitress/proxy_headers.py 168 0 100% 82s /usr/lib/python3/dist-packages/waitress/receiver.py 110 0 100% 82s /usr/lib/python3/dist-packages/waitress/rfc7230.py 26 0 100% 82s /usr/lib/python3/dist-packages/waitress/runner.py 46 0 100% 82s /usr/lib/python3/dist-packages/waitress/server.py 177 0 100% 82s /usr/lib/python3/dist-packages/waitress/task.py 323 0 100% 82s /usr/lib/python3/dist-packages/waitress/trigger.py 56 0 100% 82s /usr/lib/python3/dist-packages/waitress/utilities.py 113 0 100% 82s /usr/lib/python3/dist-packages/waitress/wasyncore.py 349 0 100% 82s tests/__init__.py 0 0 100% 82s tests/fixtureapps/__init__.py 0 0 100% 82s tests/fixtureapps/badcl.py 0 0 100% 82s tests/fixtureapps/echo.py 7 0 100% 82s tests/fixtureapps/error.py 0 0 100% 82s tests/fixtureapps/error_traceback.py 0 0 100% 82s tests/fixtureapps/filewrapper.py 4 0 100% 82s tests/fixtureapps/getline.py 15 4 73% 82s tests/fixtureapps/nocl.py 0 0 100% 82s tests/fixtureapps/runner.py 0 0 100% 82s tests/fixtureapps/sleepy.py 1 0 100% 82s tests/fixtureapps/toolarge.py 0 0 100% 82s tests/fixtureapps/writecb.py 0 0 100% 82s tests/test_adjustments.py 240 0 100% 82s tests/test_buffers.py 421 0 100% 82s tests/test_channel.py 895 3 99% 82s tests/test_functional.py 1145 2 99% 82s tests/test_init.py 36 0 100% 82s tests/test_parser.py 440 0 100% 82s tests/test_proxy_headers.py 322 0 100% 82s tests/test_receiver.py 213 0 100% 82s tests/test_regression.py 4 0 100% 82s tests/test_runner.py 80 0 100% 82s tests/test_server.py 325 1 99% 82s tests/test_task.py 803 1 99% 82s tests/test_trigger.py 92 0 100% 82s tests/test_utilities.py 84 0 100% 82s tests/test_wasyncore.py 873 1 99% 82s ----------------------------------------------------------------------------------- 82s TOTAL 23127 11840 49% 82s 82s ================= 789 passed, 8 skipped, 2 warnings in 11.90s ================== 82s 82s autopkgtest [17:47:38]: test unittests: -----------------------] 83s unittests PASS 83s autopkgtest [17:47:39]: test unittests: - - - - - - - - - - results - - - - - - - - - - 83s autopkgtest [17:47:39]: test autodep8-python3: preparing testbed 105s Creating nova instance adt-resolute-s390x-waitress-20251020-174616-juju-7f2275-prod-proposed-migration-environment-2-aefdd3f8-a02d-4178-8bb0-0e09e73d2313 from image adt/ubuntu-resolute-s390x-server-20251020.img (UUID af6042e7-5f94-4102-8fd4-5557e2338897)... 141s autopkgtest [17:48:37]: testbed dpkg architecture: s390x 141s autopkgtest [17:48:37]: testbed apt version: 3.1.8ubuntu1 142s autopkgtest [17:48:38]: @@@@@@@@@@@@@@@@@@@@ test bed setup 142s autopkgtest [17:48:38]: testbed release detected to be: resolute 143s autopkgtest [17:48:39]: updating testbed package index (apt update) 143s Get:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease [83.3 kB] 143s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 143s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 143s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 143s Get:5 http://ftpmaster.internal/ubuntu resolute-proposed/restricted Sources [5028 B] 143s Get:6 http://ftpmaster.internal/ubuntu resolute-proposed/main Sources [59.3 kB] 143s Get:7 http://ftpmaster.internal/ubuntu resolute-proposed/universe Sources [646 kB] 144s Get:8 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse Sources [14.3 kB] 144s Get:9 http://ftpmaster.internal/ubuntu resolute-proposed/main s390x Packages [108 kB] 144s Get:10 http://ftpmaster.internal/ubuntu resolute-proposed/restricted s390x Packages [940 B] 144s Get:11 http://ftpmaster.internal/ubuntu resolute-proposed/universe s390x Packages [395 kB] 144s Get:12 http://ftpmaster.internal/ubuntu resolute-proposed/multiverse s390x Packages [3812 B] 144s Fetched 1316 kB in 1s (1300 kB/s) 145s Reading package lists... 146s Hit:1 http://ftpmaster.internal/ubuntu resolute-proposed InRelease 146s Hit:2 http://ftpmaster.internal/ubuntu resolute InRelease 146s Hit:3 http://ftpmaster.internal/ubuntu resolute-updates InRelease 146s Hit:4 http://ftpmaster.internal/ubuntu resolute-security InRelease 146s Reading package lists... 146s Reading package lists... 147s Building dependency tree... 147s Reading state information... 147s Calculating upgrade... 147s The following packages will be upgraded: 147s libbrotli1 libjson-c5 python3-inflect python3-oauthlib python3-zipp 147s 5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 147s Need to get 554 kB of archives. 147s After this operation, 31.7 kB of additional disk space will be used. 147s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x libjson-c5 s390x 0.18+ds-1.1 [36.8 kB] 147s Get:2 http://ftpmaster.internal/ubuntu resolute/main s390x libbrotli1 s390x 1.1.0-2build6 [379 kB] 147s Get:3 http://ftpmaster.internal/ubuntu resolute/main s390x python3-inflect all 7.5.0-1 [33.9 kB] 147s Get:4 http://ftpmaster.internal/ubuntu resolute/main s390x python3-oauthlib all 3.3.1-1 [93.5 kB] 147s Get:5 http://ftpmaster.internal/ubuntu resolute/main s390x python3-zipp all 3.23.0-1 [10.4 kB] 148s dpkg-preconfigure: unable to re-open stdin: No such file or directory 148s Fetched 554 kB in 1s (794 kB/s) 148s (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 ... 56857 files and directories currently installed.) 148s Preparing to unpack .../libjson-c5_0.18+ds-1.1_s390x.deb ... 148s Unpacking libjson-c5:s390x (0.18+ds-1.1) over (0.18+ds-1) ... 148s Preparing to unpack .../libbrotli1_1.1.0-2build6_s390x.deb ... 148s Unpacking libbrotli1:s390x (1.1.0-2build6) over (1.1.0-2build5) ... 148s Preparing to unpack .../python3-inflect_7.5.0-1_all.deb ... 148s Unpacking python3-inflect (7.5.0-1) over (7.3.1-2) ... 148s Preparing to unpack .../python3-oauthlib_3.3.1-1_all.deb ... 148s Unpacking python3-oauthlib (3.3.1-1) over (3.2.2-3) ... 148s Preparing to unpack .../python3-zipp_3.23.0-1_all.deb ... 148s Unpacking python3-zipp (3.23.0-1) over (3.21.0-1) ... 148s Setting up libbrotli1:s390x (1.1.0-2build6) ... 148s Setting up python3-zipp (3.23.0-1) ... 148s Setting up python3-inflect (7.5.0-1) ... 148s Setting up python3-oauthlib (3.3.1-1) ... 148s Setting up libjson-c5:s390x (0.18+ds-1.1) ... 148s Processing triggers for libc-bin (2.42-0ubuntu3) ... 149s autopkgtest [17:48:45]: upgrading testbed (apt dist-upgrade and autopurge) 149s Reading package lists... 149s Building dependency tree... 149s Reading state information... 149s Calculating upgrade... 149s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 149s Reading package lists... 149s Building dependency tree... 149s Reading state information... 149s Solving dependencies... 150s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 152s Reading package lists... 152s Building dependency tree... 152s Reading state information... 152s Solving dependencies... 153s The following NEW packages will be installed: 153s python3-all python3-waitress 153s 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. 153s Need to get 47.1 kB of archives. 153s After this operation, 211 kB of additional disk space will be used. 153s Get:1 http://ftpmaster.internal/ubuntu resolute/main s390x python3-all s390x 3.13.7-1 [886 B] 153s Get:2 http://ftpmaster.internal/ubuntu resolute/universe s390x python3-waitress all 3.0.2-1 [46.3 kB] 153s Fetched 47.1 kB in 0s (138 kB/s) 153s Selecting previously unselected package python3-all. 153s (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 ... 56867 files and directories currently installed.) 153s Preparing to unpack .../python3-all_3.13.7-1_s390x.deb ... 153s Unpacking python3-all (3.13.7-1) ... 153s Selecting previously unselected package python3-waitress. 153s Preparing to unpack .../python3-waitress_3.0.2-1_all.deb ... 153s Unpacking python3-waitress (3.0.2-1) ... 153s Setting up python3-waitress (3.0.2-1) ... 153s Setting up python3-all (3.13.7-1) ... 158s autopkgtest [17:48:54]: test autodep8-python3: set -e ; for py in $(py3versions -r 2>/dev/null) ; do cd "$AUTOPKGTEST_TMP" ; echo "Testing with $py:" ; $py -c "import waitress; print(waitress)" ; done 158s autopkgtest [17:48:54]: test autodep8-python3: [----------------------- 158s Testing with python3.13: 158s 158s autopkgtest [17:48:54]: test autodep8-python3: -----------------------] 159s autopkgtest [17:48:55]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - - 159s autodep8-python3 PASS (superficial) 159s autopkgtest [17:48:55]: @@@@@@@@@@@@@@@@@@@@ summary 159s unittests PASS 159s autodep8-python3 PASS (superficial)