0s autopkgtest [08:56:13]: starting date and time: 2024-03-24 08:56:13+0000 0s autopkgtest [08:56:13]: git checkout: 4a1cd702 l/adt_testbed: don't blame the testbed for unsolvable build deps 0s autopkgtest [08:56:13]: host juju-7f2275-prod-proposed-migration-environment-2; command line: /home/ubuntu/autopkgtest/runner/autopkgtest --output-dir /tmp/autopkgtest-work.7z7q4x1l/out --timeout-copy=6000 --setup-commands /home/ubuntu/autopkgtest-cloud/worker-config-production/setup-canonical.sh --setup-commands /home/ubuntu/autopkgtest/setup-commands/setup-testbed --apt-pocket=proposed=src:sphinx --apt-upgrade waitress --timeout-short=300 --timeout-copy=20000 --timeout-build=20000 --env=ADT_TEST_TRIGGERS=sphinx/7.2.6-6 -- ssh -s /home/ubuntu/autopkgtest/ssh-setup/nova -- --flavor autopkgtest --security-groups autopkgtest-juju-7f2275-prod-proposed-migration-environment-2@bos02-arm64-12.secgroup --name adt-noble-arm64-waitress-20240324-085613-juju-7f2275-prod-proposed-migration-environment-2 --image adt/ubuntu-noble-arm64-server --keyname testbed-juju-7f2275-prod-proposed-migration-environment-2 --net-id=net_prod-proposed-migration -e TERM=linux -e ''"'"'http_proxy=http://squid.internal:3128'"'"'' -e ''"'"'https_proxy=http://squid.internal:3128'"'"'' -e ''"'"'no_proxy=127.0.0.1,127.0.1.1,login.ubuntu.com,localhost,localdomain,novalocal,internal,archive.ubuntu.com,ports.ubuntu.com,security.ubuntu.com,ddebs.ubuntu.com,changelogs.ubuntu.com,launchpadlibrarian.net,launchpadcontent.net,launchpad.net,10.24.0.0/24,keystone.ps5.canonical.com,objectstorage.prodstack5.canonical.com'"'"'' --mirror=http://ftpmaster.internal/ubuntu/ 160s autopkgtest [08:58:53]: testbed dpkg architecture: arm64 160s autopkgtest [08:58:53]: testbed apt version: 2.7.12 160s autopkgtest [08:58:53]: @@@@@@@@@@@@@@@@@@@@ test bed setup 161s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 162s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3992 kB] 163s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 163s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 163s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 163s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [706 kB] 163s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 163s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 163s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 163s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4363 kB] 163s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 163s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 163s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 173s Fetched 9850 kB in 5s (1993 kB/s) 173s Reading package lists... 179s Reading package lists... 179s Building dependency tree... 179s Reading state information... 181s Calculating upgrade... 182s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 182s Reading package lists... 182s Building dependency tree... 182s Reading state information... 184s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 186s sh: Attempting to set up Debian/Ubuntu apt sources automatically 186s sh: Distribution appears to be Ubuntu 189s Reading package lists... 190s Building dependency tree... 190s Reading state information... 191s eatmydata is already the newest version (131-1). 191s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 191s Reading package lists... 192s Building dependency tree... 192s Reading state information... 193s dbus is already the newest version (1.14.10-4ubuntu1). 193s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 193s Reading package lists... 194s Building dependency tree... 194s Reading state information... 195s rng-tools-debian is already the newest version (2.4). 195s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 195s Reading package lists... 196s Building dependency tree... 196s Reading state information... 197s The following packages will be REMOVED: 197s cloud-init* python3-configobj* python3-debconf* 198s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 198s After this operation, 3256 kB disk space will be freed. 198s (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 ... 75911 files and directories currently installed.) 198s Removing cloud-init (24.1.2-0ubuntu1) ... 200s Removing python3-configobj (5.0.8-3) ... 201s Removing python3-debconf (1.5.86) ... 201s Processing triggers for man-db (2.12.0-3) ... 202s (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 ... 75522 files and directories currently installed.) 202s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 204s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 204s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 204s invoke-rc.d: policy-rc.d denied execution of try-restart. 205s Reading package lists... 205s Building dependency tree... 205s Reading state information... 207s linux-generic is already the newest version (6.8.0-11.11+1). 207s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 207s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 207s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 207s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 216s Reading package lists... 216s Reading package lists... 217s Building dependency tree... 217s Reading state information... 218s Calculating upgrade... 219s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 219s Reading package lists... 220s Building dependency tree... 220s Reading state information... 221s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 221s autopkgtest [08:59:54]: rebooting testbed after setup commands that affected boot 382s autopkgtest [09:02:35]: testbed running kernel: Linux 6.8.0-11-generic #11-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 14 02:53:31 UTC 2024 386s autopkgtest [09:02:39]: @@@@@@@@@@@@@@@@@@@@ apt-source waitress 389s Get:1 http://ftpmaster.internal/ubuntu noble/universe waitress 2.1.2-2 (dsc) [2297 B] 389s Get:2 http://ftpmaster.internal/ubuntu noble/universe waitress 2.1.2-2 (tar) [175 kB] 389s Get:3 http://ftpmaster.internal/ubuntu noble/universe waitress 2.1.2-2 (diff) [7772 B] 390s gpgv: Signature made Mon Nov 14 16:21:41 2022 UTC 390s gpgv: using RSA key B70DFC6F134FECFC011E62AA83016014251D1DB0 390s gpgv: issuer "c.schoenert@t-online.de" 390s gpgv: Can't check signature: No public key 390s dpkg-source: warning: cannot verify inline signature for ./waitress_2.1.2-2.dsc: no acceptable signature found 390s autopkgtest [09:02:43]: testing package waitress version 2.1.2-2 391s autopkgtest [09:02:44]: build not needed 392s autopkgtest [09:02:45]: test unittests: preparing testbed 394s Reading package lists... 394s Building dependency tree... 394s Reading state information... 395s Starting pkgProblemResolver with broken count: 0 396s Starting 2 pkgProblemResolver with broken count: 0 396s Done 397s The following additional packages will be installed: 397s libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 397s libjs-jquery-metadata libjs-jquery-tablesorter 397s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore 397s python-waitress-doc python3-all python3-coverage python3-iniconfig 397s python3-packaging python3-pluggy python3-pytest python3-pytest-cov 397s python3-waitress 397s Suggested packages: 397s python-coverage-doc 397s Recommended packages: 397s javascript-common 397s The following NEW packages will be installed: 397s autopkgtest-satdep libjs-jquery libjs-jquery-hotkeys libjs-jquery-isonscreen 397s libjs-jquery-metadata libjs-jquery-tablesorter 397s libjs-jquery-throttle-debounce libjs-sphinxdoc libjs-underscore 397s python-waitress-doc python3-all python3-coverage python3-iniconfig 397s python3-packaging python3-pluggy python3-pytest python3-pytest-cov 397s python3-waitress 397s 0 upgraded, 18 newly installed, 0 to remove and 0 not upgraded. 397s Need to get 1477 kB/1478 kB of archives. 397s After this operation, 5831 kB of additional disk space will be used. 397s Get:1 /tmp/autopkgtest.VRfbP5/1-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [740 B] 397s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-jquery all 3.6.1+dfsg+~3.5.14-1 [328 kB] 398s Get:3 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-hotkeys all 0~20130707+git2d51e3a9+dfsg-2ubuntu2 [11.5 kB] 398s Get:4 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-metadata all 12-4 [6582 B] 398s Get:5 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-tablesorter all 1:2.31.3+dfsg1-3 [193 kB] 398s Get:6 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-throttle-debounce all 1.1+dfsg.1-2 [12.5 kB] 398s Get:7 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-underscore all 1.13.4~dfsg+~1.11.4-3 [118 kB] 398s Get:8 http://ftpmaster.internal/ubuntu noble/main arm64 libjs-sphinxdoc all 7.2.6-4 [149 kB] 398s Get:9 http://ftpmaster.internal/ubuntu noble/universe arm64 python-waitress-doc all 2.1.2-2 [66.2 kB] 398s Get:10 http://ftpmaster.internal/ubuntu noble/main arm64 python3-all arm64 3.12.1-0ubuntu2 [906 B] 398s Get:11 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-coverage arm64 7.3.2-0ubuntu1 [147 kB] 398s Get:12 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-iniconfig all 1.1.1-2 [6024 B] 398s Get:13 http://ftpmaster.internal/ubuntu noble/main arm64 python3-packaging all 23.2-1 [40.6 kB] 398s Get:14 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pluggy all 1.4.0-1 [20.4 kB] 398s Get:15 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pytest all 7.4.4-1 [305 kB] 398s Get:16 http://ftpmaster.internal/ubuntu noble/universe arm64 libjs-jquery-isonscreen all 1.2.0-1.1 [3244 B] 398s Get:17 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-pytest-cov all 4.1.0-1 [21.5 kB] 398s Get:18 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-waitress all 2.1.2-2 [48.0 kB] 399s Fetched 1477 kB in 1s (2001 kB/s) 399s Selecting previously unselected package libjs-jquery. 399s (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 ... 75467 files and directories currently installed.) 399s Preparing to unpack .../00-libjs-jquery_3.6.1+dfsg+~3.5.14-1_all.deb ... 399s Unpacking libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 399s Selecting previously unselected package libjs-jquery-hotkeys. 399s Preparing to unpack .../01-libjs-jquery-hotkeys_0~20130707+git2d51e3a9+dfsg-2ubuntu2_all.deb ... 399s Unpacking libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 399s Selecting previously unselected package libjs-jquery-metadata. 399s Preparing to unpack .../02-libjs-jquery-metadata_12-4_all.deb ... 399s Unpacking libjs-jquery-metadata (12-4) ... 400s Selecting previously unselected package libjs-jquery-tablesorter. 400s Preparing to unpack .../03-libjs-jquery-tablesorter_1%3a2.31.3+dfsg1-3_all.deb ... 400s Unpacking libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 400s Selecting previously unselected package libjs-jquery-throttle-debounce. 400s Preparing to unpack .../04-libjs-jquery-throttle-debounce_1.1+dfsg.1-2_all.deb ... 400s Unpacking libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 400s Selecting previously unselected package libjs-underscore. 400s Preparing to unpack .../05-libjs-underscore_1.13.4~dfsg+~1.11.4-3_all.deb ... 400s Unpacking libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 400s Selecting previously unselected package libjs-sphinxdoc. 400s Preparing to unpack .../06-libjs-sphinxdoc_7.2.6-4_all.deb ... 400s Unpacking libjs-sphinxdoc (7.2.6-4) ... 400s Selecting previously unselected package python-waitress-doc. 400s Preparing to unpack .../07-python-waitress-doc_2.1.2-2_all.deb ... 400s Unpacking python-waitress-doc (2.1.2-2) ... 400s Selecting previously unselected package python3-all. 400s Preparing to unpack .../08-python3-all_3.12.1-0ubuntu2_arm64.deb ... 400s Unpacking python3-all (3.12.1-0ubuntu2) ... 400s Selecting previously unselected package python3-coverage. 400s Preparing to unpack .../09-python3-coverage_7.3.2-0ubuntu1_arm64.deb ... 400s Unpacking python3-coverage (7.3.2-0ubuntu1) ... 400s Selecting previously unselected package python3-iniconfig. 400s Preparing to unpack .../10-python3-iniconfig_1.1.1-2_all.deb ... 400s Unpacking python3-iniconfig (1.1.1-2) ... 401s Selecting previously unselected package python3-packaging. 401s Preparing to unpack .../11-python3-packaging_23.2-1_all.deb ... 401s Unpacking python3-packaging (23.2-1) ... 401s Selecting previously unselected package python3-pluggy. 401s Preparing to unpack .../12-python3-pluggy_1.4.0-1_all.deb ... 401s Unpacking python3-pluggy (1.4.0-1) ... 401s Selecting previously unselected package python3-pytest. 401s Preparing to unpack .../13-python3-pytest_7.4.4-1_all.deb ... 401s Unpacking python3-pytest (7.4.4-1) ... 401s Selecting previously unselected package libjs-jquery-isonscreen. 401s Preparing to unpack .../14-libjs-jquery-isonscreen_1.2.0-1.1_all.deb ... 401s Unpacking libjs-jquery-isonscreen (1.2.0-1.1) ... 401s Selecting previously unselected package python3-pytest-cov. 401s Preparing to unpack .../15-python3-pytest-cov_4.1.0-1_all.deb ... 401s Unpacking python3-pytest-cov (4.1.0-1) ... 401s Selecting previously unselected package python3-waitress. 401s Preparing to unpack .../16-python3-waitress_2.1.2-2_all.deb ... 401s Unpacking python3-waitress (2.1.2-2) ... 401s Selecting previously unselected package autopkgtest-satdep. 401s Preparing to unpack .../17-1-autopkgtest-satdep.deb ... 401s Unpacking autopkgtest-satdep (0) ... 401s Setting up python3-iniconfig (1.1.1-2) ... 402s Setting up python3-waitress (2.1.2-2) ... 402s Setting up python3-all (3.12.1-0ubuntu2) ... 402s Setting up python3-coverage (7.3.2-0ubuntu1) ... 403s Setting up libjs-jquery-throttle-debounce (1.1+dfsg.1-2) ... 403s Setting up python3-packaging (23.2-1) ... 404s Setting up python3-pluggy (1.4.0-1) ... 404s Setting up libjs-jquery (3.6.1+dfsg+~3.5.14-1) ... 404s Setting up libjs-jquery-hotkeys (0~20130707+git2d51e3a9+dfsg-2ubuntu2) ... 405s Setting up libjs-underscore (1.13.4~dfsg+~1.11.4-3) ... 405s Setting up python3-pytest (7.4.4-1) ... 406s Setting up libjs-jquery-metadata (12-4) ... 406s Setting up libjs-jquery-isonscreen (1.2.0-1.1) ... 406s Setting up libjs-sphinxdoc (7.2.6-4) ... 406s Setting up libjs-jquery-tablesorter (1:2.31.3+dfsg1-3) ... 406s Setting up python-waitress-doc (2.1.2-2) ... 406s Setting up python3-pytest-cov (4.1.0-1) ... 406s Setting up autopkgtest-satdep (0) ... 406s Processing triggers for man-db (2.12.0-3) ... 415s (Reading database ... 76027 files and directories currently installed.) 415s Removing autopkgtest-satdep (0) ... 415s autopkgtest [09:03:08]: test unittests: [----------------------- 416s 416s *************************** 416s *** Testing with python3.12 416s *************************** 416s 416s Content of current working folder: 416s 416s total 16 416s drwxr-xr-x 3 ubuntu ubuntu 4096 Mar 24 09:03 . 416s drwxrwxrwt 5 root root 4096 Mar 24 09:03 .. 416s -rw-rw-r-- 1 ubuntu ubuntu 1895 May 30 2022 setup.cfg 416s drwxrwxr-x 3 ubuntu ubuntu 4096 May 30 2022 tests 416s Running tests... 416s 417s ============================= test session starts ============================== 417s platform linux -- Python 3.12.2, pytest-7.4.4, pluggy-1.4.0 -- /usr/bin/python3.12 417s cachedir: .pytest_cache 417s rootdir: /tmp/autopkgtest.VRfbP5/autopkgtest_tmp 417s configfile: setup.cfg 417s plugins: cov-4.1.0 419s collecting ... collected 806 items 419s 419s tests/test_adjustments.py::Test_asbool::test_s_is_1 PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_False PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_None PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_True PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_false PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_on PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_true PASSED 419s tests/test_adjustments.py::Test_asbool::test_s_is_yes PASSED 419s tests/test_adjustments.py::Test_as_socket_list::test_not_only_sockets_in_list PASSED 419s tests/test_adjustments.py::Test_as_socket_list::test_only_sockets_in_list PASSED 419s tests/test_adjustments.py::TestAdjustments::test_bad_port PASSED 419s tests/test_adjustments.py::TestAdjustments::test_badvar PASSED 419s tests/test_adjustments.py::TestAdjustments::test_clear_untrusted_proxy_headers PASSED 419s tests/test_adjustments.py::TestAdjustments::test_default_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_deprecated_send_bytes PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_forwarded_with_x_forwarded PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_host_port_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_host_port PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_sockets_and_unix_socket PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_unix_socket_and_host_port PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_mix_unix_socket_and_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_dont_use_unsupported_socket_types PASSED 419s tests/test_adjustments.py::TestAdjustments::test_good_sockets PASSED 419s tests/test_adjustments.py::TestAdjustments::test_goodvar_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_goodvars PASSED 419s tests/test_adjustments.py::TestAdjustments::test_ipv4_disabled PASSED 419s tests/test_adjustments.py::TestAdjustments::test_ipv6_disabled PASSED 419s tests/test_adjustments.py::TestAdjustments::test_ipv6_no_port PASSED 419s tests/test_adjustments.py::TestAdjustments::test_multiple_listen PASSED 419s tests/test_adjustments.py::TestAdjustments::test_no_trusted_proxy_headers_trusted_proxy PASSED 419s tests/test_adjustments.py::TestAdjustments::test_server_header_removable PASSED 419s tests/test_adjustments.py::TestAdjustments::test_service_port PASSED 419s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_count_no_trusted_proxy PASSED 419s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_no_trusted_proxy PASSED 419s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_string_list PASSED 419s tests/test_adjustments.py::TestAdjustments::test_trusted_proxy_headers_string_list_newlines PASSED 419s tests/test_adjustments.py::TestAdjustments::test_unknown_trusted_proxy_header PASSED 419s tests/test_adjustments.py::TestAdjustments::test_wildcard_listen PASSED 419s tests/test_adjustments.py::TestCLI::test_bad_param PASSED 419s tests/test_adjustments.py::TestCLI::test_both PASSED 419s tests/test_adjustments.py::TestCLI::test_call PASSED 419s tests/test_adjustments.py::TestCLI::test_cast_params PASSED 419s tests/test_adjustments.py::TestCLI::test_help PASSED 419s tests/test_adjustments.py::TestCLI::test_listen_params PASSED 419s tests/test_adjustments.py::TestCLI::test_multiple_listen_params PASSED 419s tests/test_adjustments.py::TestCLI::test_negative_boolean PASSED 419s tests/test_adjustments.py::TestCLI::test_noargs PASSED 419s tests/test_adjustments.py::TestCLI::test_positive_boolean PASSED 419s tests/test_adjustments.py::TestUnixSocket::test_dont_mix_internet_and_unix_sockets PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test___len__ PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test___nonzero__ PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_append PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_close PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_ctor_from_buffer PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_ctor_from_buffer_None PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_bytes_less_than_zero PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_false PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_get_skip_true PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_newfile PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_notzero PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_zero_tell_notzero PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_prune_remain_zero_tell_zero PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_skip_remain_gt_bytes PASSED 419s tests/test_buffers.py::TestFileBasedBuffer::test_skip_remain_lt_bytes PASSED 419s tests/test_buffers.py::TestTempfileBasedBuffer::test_newfile PASSED 419s tests/test_buffers.py::TestBytesIOBasedBuffer::test_ctor_from_buffer_None PASSED 419s tests/test_buffers.py::TestBytesIOBasedBuffer::test_ctor_from_buffer_not_None PASSED 420s tests/test_buffers.py::TestBytesIOBasedBuffer::test_newfile PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test___iter__ PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_append PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_gt_remain PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_gt_remain_withskip PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_lt_remain PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_lt_remain_withskip PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_get_numbytes_neg_one PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_not_seekable PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_not_seekable_closeable PASSED 420s tests/test_buffers.py::TestReadOnlyFileBasedBuffer::test_prepare_seekable_closeable PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test___len__buf_is_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test___len__buf_is_not_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test___nonzero__ PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test___nonzero___on_int_overflow_buffer PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test__create_buffer_large PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test__create_buffer_small PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_append_buf_None_longer_than_strbuf_limit PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_append_buf_None_not_longer_than_srtbuf_limit PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_append_overflow PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_append_sz_gt_overflow PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_append_with_len_more_than_max_int PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_close_nobuf PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_close_withbuf PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_get_buf_None_skip_False PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_get_buf_None_skip_True PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_getfile_buf_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_getfile_buf_not_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_prune_buf_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buf PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buf_overflow PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_prune_with_buflen_more_than_max_int PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_skip_buf_None PASSED 420s tests/test_buffers.py::TestOverflowableBuffer::test_skip_buf_None_allow_prune_True PASSED 420s tests/test_channel.py::TestHTTPChannel::test__flush_some_empty_outbuf PASSED 420s tests/test_channel.py::TestHTTPChannel::test__flush_some_full_outbuf_socket_returns_nonzero PASSED 420s tests/test_channel.py::TestHTTPChannel::test__flush_some_full_outbuf_socket_returns_zero PASSED 420s tests/test_channel.py::TestHTTPChannel::test__flush_some_outbuf_len_gt_sys_maxint PASSED 420s tests/test_channel.py::TestHTTPChannel::test_add_channel PASSED 420s tests/test_channel.py::TestHTTPChannel::test_cancel_no_requests PASSED 420s tests/test_channel.py::TestHTTPChannel::test_cancel_with_requests PASSED 420s tests/test_channel.py::TestHTTPChannel::test_ctor PASSED 420s tests/test_channel.py::TestHTTPChannel::test_del_channel PASSED 420s tests/test_channel.py::TestHTTPChannel::test_flush_some_multiple_buffers_close_raises PASSED 420s tests/test_channel.py::TestHTTPChannel::test_flush_some_multiple_buffers_first_empty PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_close_outbuf_raises_on_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_read_error PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_read_no_error PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_close_when_flushed PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_notify_after_flush PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_request_with_outbuf PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_requests_no_outbuf_will_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_no_requests_outbuf_gt_send_bytes PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_not_connected PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_notify_after_flush PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_outbuf_raises_othererror PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_outbuf_raises_socketerror PASSED 420s tests/test_channel.py::TestHTTPChannel::test_handle_write_with_requests PASSED 420s tests/test_channel.py::TestHTTPChannel::test_readable_no_requests_not_will_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_readable_no_requests_will_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_readable_with_requests PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_false PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_true PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_headers_finished_expect_continue_true_sent_true PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_no_chunk PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_preq_completed_connection_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_preq_completed_empty PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_preq_error PASSED 420s tests/test_channel.py::TestHTTPChannel::test_received_preq_not_completed PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_multiple_requests PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_one_error_request PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_one_request PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_request_error_raises_disconnect PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_request_raises PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_request_raises_disconnect PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_already_wrote_header PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_didnt_write_header PASSED 420s tests/test_channel.py::TestHTTPChannel::test_service_with_requests_raises_didnt_write_header_expose_tbs PASSED 420s tests/test_channel.py::TestHTTPChannel::test_total_outbufs_len_an_outbuf_size_gt_sys_maxint PASSED 420s tests/test_channel.py::TestHTTPChannel::test_writable_nothing_in_outbuf PASSED 420s tests/test_channel.py::TestHTTPChannel::test_writable_nothing_in_outbuf_will_close PASSED 420s tests/test_channel.py::TestHTTPChannel::test_writable_something_in_outbuf PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_attempts_flush_high_water_and_exception PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_disconnected PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_disconnected_while_over_watermark PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_empty_byte PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_filewrapper PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_flush_and_exception PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_nonempty_byte PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_rotates_outbuf_on_overflow PASSED 420s tests/test_channel.py::TestHTTPChannel::test_write_soon_waits_on_backpressure PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_empty_outbuf PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_full_outbuf_socket_returns_nonzero PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_full_outbuf_socket_returns_zero PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test__flush_some_outbuf_len_gt_sys_maxint PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test_add_channel PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test_cancel_no_requests PASSED 420s tests/test_channel.py::TestHTTPChannelLookahead::test_cancel_with_requests PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_client_disconnect PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_client_disconnect_immediate PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_ctor PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_del_channel PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_flush_some_multiple_buffers_close_raises PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_flush_some_multiple_buffers_first_empty PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_close PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_close_outbuf_raises_on_close PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_read_error PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_read_no_error PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_close_when_flushed PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_notify_after_flush PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_request_with_outbuf PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_requests_no_outbuf_will_close PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_no_requests_outbuf_gt_send_bytes PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_not_connected PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_notify_after_flush PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_outbuf_raises_othererror PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_outbuf_raises_socketerror PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_handle_write_with_requests PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_lookahead_continue PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_no_requests_not_will_close PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_no_requests_will_close PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_readable_with_requests PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_received PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_false PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_true PASSED 421s tests/test_channel.py::TestHTTPChannelLookahead::test_received_headers_finished_expect_continue_true_sent_true PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_received_no_chunk PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_completed_connection_close PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_completed_empty PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_error PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_received_preq_not_completed PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_multiple_requests PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_one_error_request PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_one_request PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_error_raises_disconnect PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_raises PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_request_raises_disconnect PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_already_wrote_header PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_didnt_write_header PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_service_with_requests_raises_didnt_write_header_expose_tbs PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_total_outbufs_len_an_outbuf_size_gt_sys_maxint PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_nothing_in_outbuf PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_nothing_in_outbuf_will_close PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_writable_something_in_outbuf PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_attempts_flush_high_water_and_exception PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_disconnected PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_disconnected_while_over_watermark PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_empty_byte PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_filewrapper PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_flush_and_exception PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_nonempty_byte PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_rotates_outbuf_on_overflow PASSED 422s tests/test_channel.py::TestHTTPChannelLookahead::test_write_soon_waits_on_backpressure PASSED 425s tests/test_functional.py::SleepyThreadTests::test_it PASSED 426s tests/test_functional.py::TcpEchoTests::test_bad_host_header PASSED 426s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding PASSED 426s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_invalid_extension PASSED 426s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_invalid_hex PASSED 426s tests/test_functional.py::TcpEchoTests::test_broken_chunked_encoding_missing_chunk_end PASSED 426s tests/test_functional.py::TcpEchoTests::test_chunking_request_with_content PASSED 426s tests/test_functional.py::TcpEchoTests::test_chunking_request_without_content PASSED 426s tests/test_functional.py::TcpEchoTests::test_date_and_server PASSED 427s tests/test_functional.py::TcpEchoTests::test_keepalive_http10_explicit PASSED 427s tests/test_functional.py::TcpEchoTests::test_keepalive_http11_connclose PASSED 427s tests/test_functional.py::TcpEchoTests::test_keepalive_http11_explicit PASSED 427s tests/test_functional.py::TcpEchoTests::test_keepalive_http_10 PASSED 427s tests/test_functional.py::TcpEchoTests::test_keepalive_http_11 PASSED 427s tests/test_functional.py::TcpEchoTests::test_large_body PASSED 428s tests/test_functional.py::TcpEchoTests::test_many_clients PASSED 428s tests/test_functional.py::TcpEchoTests::test_multiple_requests_with_body PASSED 428s tests/test_functional.py::TcpEchoTests::test_multiple_requests_without_body PASSED 428s tests/test_functional.py::TcpEchoTests::test_proxy_headers PASSED 428s tests/test_functional.py::TcpEchoTests::test_send_empty_body PASSED 428s tests/test_functional.py::TcpEchoTests::test_send_with_body PASSED 428s tests/test_functional.py::TcpEchoTests::test_without_crlf PASSED 429s tests/test_functional.py::TcpPipeliningTests::test_pipelining PASSED 429s tests/test_functional.py::TcpExpectContinueTests::test_expect_continue PASSED 429s tests/test_functional.py::TcpBadContentLengthTests::test_long_body PASSED 429s tests/test_functional.py::TcpBadContentLengthTests::test_short_body PASSED 429s tests/test_functional.py::TcpNoContentLengthTests::test_http10_generator PASSED 429s tests/test_functional.py::TcpNoContentLengthTests::test_http10_list PASSED 429s tests/test_functional.py::TcpNoContentLengthTests::test_http10_listlentwo PASSED 430s tests/test_functional.py::TcpNoContentLengthTests::test_http11_generator PASSED 430s tests/test_functional.py::TcpNoContentLengthTests::test_http11_list PASSED 430s tests/test_functional.py::TcpNoContentLengthTests::test_http11_listlentwo PASSED 430s tests/test_functional.py::TcpWriteCallbackTests::test_equal_body PASSED 430s tests/test_functional.py::TcpWriteCallbackTests::test_long_body PASSED 430s tests/test_functional.py::TcpWriteCallbackTests::test_no_content_length PASSED 430s tests/test_functional.py::TcpWriteCallbackTests::test_short_body PASSED 430s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_chunked_encoding PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http10 PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http10_keepalive PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http11 PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_no_cl_http11_connclose PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http10 PASSED 431s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http10_keepalive PASSED 432s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http11 PASSED 432s tests/test_functional.py::TcpTooLargeTests::test_request_body_too_large_with_wrong_cl_http11_connclose PASSED 432s tests/test_functional.py::TcpTooLargeTests::test_request_headers_too_large_http11 PASSED 432s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http10 PASSED 432s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http11 PASSED 432s tests/test_functional.py::TcpInternalServerErrorTests::test_after_start_response_http11_close PASSED 432s tests/test_functional.py::TcpInternalServerErrorTests::test_after_write_cb PASSED 433s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_10 PASSED 433s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_11 PASSED 433s tests/test_functional.py::TcpInternalServerErrorTests::test_before_start_response_http_11_close PASSED 433s tests/test_functional.py::TcpInternalServerErrorTests::test_in_generator PASSED 433s tests/test_functional.py::TcpInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_10 PASSED 433s tests/test_functional.py::TcpInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_11 PASSED 433s tests/test_functional.py::TcpFileWrapperTests::test_filelike_http10 PASSED 433s tests/test_functional.py::TcpFileWrapperTests::test_filelike_http11 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_filelike_longcl_http11 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_filelike_nocl_http10 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_filelike_nocl_http11 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_filelike_shortcl_http11 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_http10 PASSED 434s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_http11 PASSED 435s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_iobase_http11 PASSED 435s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_longcl_http11 PASSED 435s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_nocl_http10 PASSED 435s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_nocl_http11 PASSED 435s tests/test_functional.py::TcpFileWrapperTests::test_notfilelike_shortcl_http11 PASSED 435s tests/test_functional.py::UnixEchoTests::test_bad_host_header PASSED 435s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding PASSED 435s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_invalid_extension PASSED 436s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_invalid_hex PASSED 436s tests/test_functional.py::UnixEchoTests::test_broken_chunked_encoding_missing_chunk_end PASSED 436s tests/test_functional.py::UnixEchoTests::test_chunking_request_with_content PASSED 436s tests/test_functional.py::UnixEchoTests::test_chunking_request_without_content PASSED 436s tests/test_functional.py::UnixEchoTests::test_date_and_server PASSED 436s tests/test_functional.py::UnixEchoTests::test_keepalive_http10_explicit PASSED 436s tests/test_functional.py::UnixEchoTests::test_keepalive_http11_connclose PASSED 436s tests/test_functional.py::UnixEchoTests::test_keepalive_http11_explicit PASSED 437s tests/test_functional.py::UnixEchoTests::test_keepalive_http_10 PASSED 437s tests/test_functional.py::UnixEchoTests::test_keepalive_http_11 PASSED 437s tests/test_functional.py::UnixEchoTests::test_large_body PASSED 437s tests/test_functional.py::UnixEchoTests::test_many_clients PASSED 437s tests/test_functional.py::UnixEchoTests::test_multiple_requests_with_body PASSED 437s tests/test_functional.py::UnixEchoTests::test_multiple_requests_without_body PASSED 437s tests/test_functional.py::UnixEchoTests::test_proxy_headers PASSED 438s tests/test_functional.py::UnixEchoTests::test_send_empty_body PASSED 438s tests/test_functional.py::UnixEchoTests::test_send_with_body PASSED 438s tests/test_functional.py::UnixEchoTests::test_without_crlf PASSED 438s tests/test_functional.py::UnixPipeliningTests::test_pipelining PASSED 438s tests/test_functional.py::UnixExpectContinueTests::test_expect_continue PASSED 440s tests/test_functional.py::UnixBadContentLengthTests::test_long_body PASSED 440s tests/test_functional.py::UnixBadContentLengthTests::test_short_body PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http10_generator PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http10_list PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http10_listlentwo PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http11_generator PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http11_list PASSED 440s tests/test_functional.py::UnixNoContentLengthTests::test_http11_listlentwo PASSED 440s tests/test_functional.py::UnixWriteCallbackTests::test_equal_body PASSED 440s tests/test_functional.py::UnixWriteCallbackTests::test_long_body PASSED 440s tests/test_functional.py::UnixWriteCallbackTests::test_no_content_length PASSED 440s tests/test_functional.py::UnixWriteCallbackTests::test_short_body PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_chunked_encoding PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http10 PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http10_keepalive PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http11 PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_no_cl_http11_connclose PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http10 PASSED 440s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http10_keepalive PASSED 441s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http11 PASSED 441s tests/test_functional.py::UnixTooLargeTests::test_request_body_too_large_with_wrong_cl_http11_connclose PASSED 441s tests/test_functional.py::UnixTooLargeTests::test_request_headers_too_large_http11 PASSED 441s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http10 PASSED 441s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http11 PASSED 441s tests/test_functional.py::UnixInternalServerErrorTests::test_after_start_response_http11_close PASSED 441s tests/test_functional.py::UnixInternalServerErrorTests::test_after_write_cb PASSED 441s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_10 PASSED 442s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_11 PASSED 442s tests/test_functional.py::UnixInternalServerErrorTests::test_before_start_response_http_11_close PASSED 442s tests/test_functional.py::UnixInternalServerErrorTests::test_in_generator PASSED 442s tests/test_functional.py::UnixInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_10 PASSED 442s tests/test_functional.py::UnixInternalServerErrorTestsWithTraceback::test_expose_tracebacks_http_11 PASSED 442s tests/test_functional.py::UnixFileWrapperTests::test_filelike_http10 PASSED 442s tests/test_functional.py::UnixFileWrapperTests::test_filelike_http11 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_filelike_longcl_http11 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_filelike_nocl_http10 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_filelike_nocl_http11 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_filelike_shortcl_http11 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_http10 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_http11 PASSED 443s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_iobase_http11 PASSED 444s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_longcl_http11 PASSED 444s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_nocl_http10 PASSED 444s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_nocl_http11 PASSED 444s tests/test_functional.py::UnixFileWrapperTests::test_notfilelike_shortcl_http11 PASSED 444s tests/test_init.py::Test_serve::test_it PASSED 444s tests/test_init.py::Test_serve_paste::test_it PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_close_with_body_rcv PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_close_with_no_body_rcv PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_get_body_stream_None PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_get_body_stream_nonNone PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_11_expect_continue PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_11_te_chunked PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length_minus PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_bad_content_length_plus PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_connection_close PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_cr_only PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_empty PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_extra_lf_in_first_line PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_extra_lf_in_header PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_gardenpath PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_backtrack_bad PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_chars PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_folding_spacing PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_no_colon PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_whitespace PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_invalid_whitespace_vtab PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_lf_only PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_content_length PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_extra_space PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_header_folded PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_multiple_values_header_folded_multiple PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_no_cr_in_headerplus PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_short_values PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_multiple PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_unicode PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_parse_header_transfer_encoding_invalid_whitespace PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_already_completed PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_bad_host_header PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_bad_transfer_encoding PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_body_too_large PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_chunked_completed_sets_content_length PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_cl_too_large PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_error_from_parser PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_get_no_headers PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_headers_not_too_large_multiple_chunks PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_headers_too_large PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_no_doublecr PASSED 444s tests/test_parser.py::TestHTTPRequestParser::test_received_nonsense_nothing PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_path PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_path_query PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_path_query_fragment PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_unicode_error_raises_parsing_error PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_unquoting_needed PASSED 444s tests/test_parser.py::Test_split_uri::test_split_uri_unquoting_unneeded PASSED 444s tests/test_parser.py::Test_split_uri::test_split_url_https PASSED 444s tests/test_parser.py::Test_split_uri::test_split_url_with_fragment PASSED 444s tests/test_parser.py::Test_split_uri::test_split_url_with_query PASSED 444s tests/test_parser.py::Test_split_uri::test_split_url_with_query_empty PASSED 444s tests/test_parser.py::Test_get_header_lines::test_get_header_lines PASSED 444s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_folded PASSED 444s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_malformed PASSED 444s tests/test_parser.py::Test_get_header_lines::test_get_header_lines_tabbed PASSED 444s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_lowercase_method PASSED 444s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_matchok PASSED 444s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_missing_version PASSED 444s tests/test_parser.py::Test_crack_first_line::test_crack_first_line_nomatch PASSED 444s tests/test_parser.py::TestHTTPRequestParserIntegration::testComplexGET PASSED 444s tests/test_parser.py::TestHTTPRequestParserIntegration::testDuplicateHeaders PASSED 444s tests/test_parser.py::TestHTTPRequestParserIntegration::testProxyGET PASSED 444s tests/test_parser.py::TestHTTPRequestParserIntegration::testSimpleGET PASSED 444s tests/test_parser.py::TestHTTPRequestParserIntegration::testSpoofedHeadersDropped PASSED 444s tests/test_parser.py::Test_unquote_bytes_to_wsgi::test_highorder PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_clears_headers_if_untrusted_proxy PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_contains_all_headers_including_untrusted PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_contains_only_trusted_headers PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_bogus_scheme_override PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_scheme_override_trusted PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_values_w_scheme_override_untrusted PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_get_environment_warning_other_proxy_headers PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_empty_pair PASSED 444s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_for_bad_quote PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_host_bad_quote PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies_minimal PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_multiple_proxies_trust_only_two PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_no_equals PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_token_whitespace PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_pair_value_whitespace PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_port_wrong_proto_port_443 PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_port_wrong_proto_port_80 PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_forwarded_warning_unknown_token PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_multiple_x_forwarded_port PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_multiple_x_forwarded_proto PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_no_valid_proxy_headers PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_for PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_for_v6_missing_brackets PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_multiple_with_forwarded_port PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_multiple_with_forwarded_port_limit_one_trusted PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_with_forwarded_port PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_with_port PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwarded_host_without_port PASSED 445s tests/test_proxy_headers.py::TestProxyHeadersMiddleware::test_parse_proxy_headers_forwared_for_multiple PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test___len__ PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test_getbuf PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test_getfile PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_gt_datalen PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_lt_1 PASSED 445s tests/test_receiver.py::TestFixedStreamReceiver::test_received_remain_lte_datalen PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test___len__ PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_alreadycompleted PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_getbuf PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_getfile PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_chunk_is_properly_terminated PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_chunk_not_properly_terminated PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_all_chunks_not_received PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_all_chunks_received PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_finished_garbage_in_input PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_control_line_notfinished PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_multiple_chunks PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_multiple_chunks_split PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_remain_gt_zero PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_finished PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_not_finished PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_startswith_crlf PASSED 445s tests/test_receiver.py::TestChunkedReceiver::test_received_trailer_startswith_lf PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[\n] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[invalid=] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[\r] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_extensions[invalid = true] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[test] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[valid=true] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_valid_extensions[valid=true;other=true] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[0x04] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[+0x04] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[x04] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[+04] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[ 04] PASSED 445s tests/test_receiver.py::TestChunkedReceiverParametrized::test_received_invalid_size[ 0x04] PASSED 445s tests/test_regression.py::test_suite PASSED 445s tests/test_runner.py::Test_match::test_bad_module PASSED 445s tests/test_runner.py::Test_match::test_empty PASSED 445s tests/test_runner.py::Test_match::test_module_obj PASSED 445s tests/test_runner.py::Test_match::test_module_only PASSED 445s tests/test_runner.py::Test_resolve::test_bad_module PASSED 445s tests/test_runner.py::Test_resolve::test_complex_happy_path PASSED 445s tests/test_runner.py::Test_resolve::test_nonexistent_function PASSED 445s tests/test_runner.py::Test_resolve::test_simple_happy_path PASSED 445s tests/test_runner.py::Test_run::test_bad PASSED 445s tests/test_runner.py::Test_run::test_bad_app_module PASSED 445s tests/test_runner.py::Test_run::test_bad_app_object PASSED 445s tests/test_runner.py::Test_run::test_bad_apps_app PASSED 445s tests/test_runner.py::Test_run::test_cwd_added_to_path PASSED 445s tests/test_runner.py::Test_run::test_help PASSED 445s tests/test_runner.py::Test_run::test_multiple_apps_app PASSED 445s tests/test_runner.py::Test_run::test_no_app PASSED 445s tests/test_runner.py::Test_run::test_returned_app PASSED 445s tests/test_runner.py::Test_run::test_simple_call PASSED 445s tests/test_runner.py::Test_helper::test_exception_logging PASSED 445s tests/test_server.py::TestWSGIServer::test_add_task PASSED 445s tests/test_server.py::TestWSGIServer::test_backward_compatibility PASSED 445s tests/test_server.py::TestWSGIServer::test_create_with_multiple_tcp_sockets PASSED 445s tests/test_server.py::TestWSGIServer::test_create_with_one_socket_handle_accept_noerror PASSED 445s tests/test_server.py::TestWSGIServer::test_create_with_one_socket_should_not_bind_socket PASSED 445s tests/test_server.py::TestWSGIServer::test_create_with_one_tcp_socket PASSED 445s tests/test_server.py::TestWSGIServer::test_ctor_app_is_None PASSED 445s tests/test_server.py::TestWSGIServer::test_ctor_makes_dispatcher PASSED 445s tests/test_server.py::TestWSGIServer::test_ctor_start_false PASSED 445s tests/test_server.py::TestWSGIServer::test_ctor_start_true PASSED 445s tests/test_server.py::TestWSGIServer::test_get_server_multi PASSED 445s tests/test_server.py::TestWSGIServer::test_handle_accept_noerror PASSED 445s tests/test_server.py::TestWSGIServer::test_handle_accept_other_socket_error PASSED 445s tests/test_server.py::TestWSGIServer::test_handle_accept_wouldblock_socket_error PASSED 445s tests/test_server.py::TestWSGIServer::test_handle_connect PASSED 445s tests/test_server.py::TestWSGIServer::test_handle_read PASSED 445s tests/test_server.py::TestWSGIServer::test_maintenance PASSED 445s tests/test_server.py::TestWSGIServer::test_pull_trigger PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_maintenance_false PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_maintenance_true PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_maplen_gt_connection_limit PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_maplen_lt_connection_limit PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_maplen_toggles_connection_overflow PASSED 445s tests/test_server.py::TestWSGIServer::test_readable_not_accepting PASSED 445s tests/test_server.py::TestWSGIServer::test_run PASSED 445s tests/test_server.py::TestWSGIServer::test_run_base_server PASSED 445s tests/test_server.py::TestWSGIServer::test_writable PASSED 445s tests/test_server.py::TestUnixWSGIServer::test_create_with_unix_socket PASSED 445s tests/test_server.py::TestUnixWSGIServer::test_creates_new_sockinfo PASSED 445s tests/test_server.py::TestUnixWSGIServer::test_handle_accept PASSED 445s tests/test_server.py::TestUnixWSGIServer::test_unix PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_add_task_with_all_busy_threads PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_add_task_with_idle_threads PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_handler_thread_task_raises PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_decrease PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_increase PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_increase_with_existing PASSED 445s tests/test_task.py::TestThreadedTaskDispatcher::test_set_thread_count_same PASSED 446s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_no_cancel_pending PASSED 446s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_no_threads PASSED 446s tests/test_task.py::TestThreadedTaskDispatcher::test_shutdown_one_thread PASSED 446s tests/test_task.py::TestTask::test_build_response_header_bad_http_version PASSED 446s tests/test_task.py::TestTask::test_build_response_header_date_exists PASSED 446s tests/test_task.py::TestTask::test_build_response_header_preexisting_content_length PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v10_keepalive_no_content_length PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v10_keepalive_with_content_length PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_1xx_no_content_length_or_transfer_encoding PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_200_no_content_length PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_204_no_content_length_or_transfer_encoding PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_304_no_content_length_or_transfer_encoding PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_connection_closed_by_client PASSED 446s tests/test_task.py::TestTask::test_build_response_header_v11_connection_keepalive_by_client PASSED 446s tests/test_task.py::TestTask::test_build_response_header_via_added PASSED 446s tests/test_task.py::TestTask::test_ctor_version_not_in_known PASSED 446s tests/test_task.py::TestTask::test_finish_chunked_response PASSED 446s tests/test_task.py::TestTask::test_finish_didnt_write_header PASSED 446s tests/test_task.py::TestTask::test_finish_wrote_header PASSED 446s tests/test_task.py::TestTask::test_remove_content_length_header PASSED 446s tests/test_task.py::TestTask::test_remove_content_length_header_with_other PASSED 446s tests/test_task.py::TestTask::test_start PASSED 446s tests/test_task.py::TestTask::test_write_chunked_response PASSED 446s tests/test_task.py::TestTask::test_write_header_not_written PASSED 446s tests/test_task.py::TestTask::test_write_preexisting_content_length PASSED 446s tests/test_task.py::TestTask::test_write_start_response_uncalled PASSED 446s tests/test_task.py::TestTask::test_write_wrote_header PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_twice_wo_exc_info PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_exc_info_complete PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_excinf_headers_unwritten PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_calls_start_response_w_excinf_headers_written PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_calls_write PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_do_not_warn_on_head PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_closeable PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_empty_chunk_as_first PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True_badcl PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_filewrapper_prepare_returns_True_nocl PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_len1_chunk_without_cl PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_too_few_bytes PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_returns_too_many_bytes PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_without_body_204_logged PASSED 446s tests/test_task.py::TestWSGITask::test_execute_app_without_body_304_logged PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_header_key PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_header_name_control_characters PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_header_value PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_header_value_control_characters PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_status_control_characters PASSED 446s tests/test_task.py::TestWSGITask::test_execute_bad_status_value PASSED 446s tests/test_task.py::TestWSGITask::test_execute_hopbyhop_header PASSED 446s tests/test_task.py::TestWSGITask::test_execute_with_content_length_header PASSED 446s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_empty_path PASSED 446s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_hit PASSED 446s tests/test_task.py::TestWSGITask::test_get_environ_with_url_prefix_miss PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_already_cached PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_no_query PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_path_empty PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_path_startswith_more_than_one_slash PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_values PASSED 446s tests/test_task.py::TestWSGITask::test_get_environment_with_query PASSED 446s tests/test_task.py::TestWSGITask::test_preserve_header_value_order PASSED 446s tests/test_task.py::TestWSGITask::test_service PASSED 446s tests/test_task.py::TestWSGITask::test_service_server_raises_socket_error PASSED 446s tests/test_task.py::TestErrorTask::test_execute_http_10 PASSED 446s tests/test_task.py::TestErrorTask::test_execute_http_11 PASSED 446s tests/test_task.py::TestErrorTask::test_execute_http_11_close PASSED 446s tests/test_task.py::TestErrorTask::test_execute_http_11_keep_forces_close PASSED 446s tests/test_trigger.py::Test_trigger::test__close PASSED 446s tests/test_trigger.py::Test_trigger::test__physical_pull PASSED 446s tests/test_trigger.py::Test_trigger::test_close PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_close PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_connect PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_read_no_socket_error PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_read_socket_error PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_read_thunk PASSED 446s tests/test_trigger.py::Test_trigger::test_handle_read_thunk_error PASSED 446s tests/test_trigger.py::Test_trigger::test_pull_trigger_nothunk PASSED 446s tests/test_trigger.py::Test_trigger::test_pull_trigger_thunk PASSED 446s tests/test_trigger.py::Test_trigger::test_readable PASSED 446s tests/test_trigger.py::Test_trigger::test_writable PASSED 446s tests/test_utilities.py::Test_parse_http_date::test_neither PASSED 446s tests/test_utilities.py::Test_parse_http_date::test_rfc822 PASSED 446s tests/test_utilities.py::Test_parse_http_date::test_rfc850 PASSED 446s tests/test_utilities.py::Test_build_http_date::test_rountdrip PASSED 446s tests/test_utilities.py::Test_unpack_rfc850::test_it PASSED 446s tests/test_utilities.py::Test_unpack_rfc_822::test_it PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_double_crfl PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_double_linefeed PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_empty PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_mixed PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_one_crlf PASSED 446s tests/test_utilities.py::Test_find_double_newline::test_one_linefeed PASSED 446s tests/test_utilities.py::TestBadRequest::test_it PASSED 446s tests/test_utilities.py::Test_undquote::test_empty PASSED 446s tests/test_utilities.py::Test_undquote::test_invalid_quoting PASSED 446s tests/test_utilities.py::Test_undquote::test_invalid_quoting_single_quote PASSED 446s tests/test_utilities.py::Test_undquote::test_quoted PASSED 446s tests/test_utilities.py::Test_undquote::test_quoted_backslash_htab PASSED 446s tests/test_utilities.py::Test_undquote::test_quoted_backslash_invalid PASSED 446s tests/test_utilities.py::Test_undquote::test_quoted_backslash_quote PASSED 446s tests/test_utilities.py::Test_undquote::test_quoted_htab PASSED 446s tests/test_utilities.py::Test_undquote::test_unquoted PASSED 446s tests/test_wasyncore.py::HelperFunctionTests::test_closeall PASSED 446s tests/test_wasyncore.py::HelperFunctionTests::test_closeall_default PASSED 446s tests/test_wasyncore.py::HelperFunctionTests::test_compact_traceback PASSED 446s tests/test_wasyncore.py::HelperFunctionTests::test_readwrite PASSED 446s tests/test_wasyncore.py::HelperFunctionTests::test_readwriteexc PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_basic PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_log PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_log_info PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_repr PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_strerror PASSED 446s tests/test_wasyncore.py::DispatcherTests::test_unhandled PASSED 447s tests/test_wasyncore.py::DispatcherWithSendTests::test_send PASSED 447s tests/test_wasyncore.py::FileWrapperTest::test_close_twice PASSED 447s tests/test_wasyncore.py::FileWrapperTest::test_dispatcher PASSED 447s tests/test_wasyncore.py::FileWrapperTest::test_recv PASSED 447s tests/test_wasyncore.py::FileWrapperTest::test_resource_warning PASSED 447s tests/test_wasyncore.py::FileWrapperTest::test_send PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_bind PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_connection_attributes PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_create_socket PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_accept PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_accepted PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_close PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_close_after_conn_broken PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_connect PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_error PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_expt PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_read PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_handle_write PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_quick_connect PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Select::test_set_reuse_addr PASSED 447s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_bind PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_connection_attributes PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_create_socket PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_accept PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_accepted PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_close PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_close_after_conn_broken PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_connect PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_error PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_expt PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_read PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_handle_write PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_quick_connect PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv4Poll::test_set_reuse_addr PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_bind PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_connection_attributes PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_create_socket PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_accept PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_accepted PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_close PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_close_after_conn_broken PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_connect PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_error PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_expt PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_read PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_handle_write PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_quick_connect PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Select::test_set_reuse_addr PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_bind PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_connection_attributes PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_create_socket PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_accept PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_accepted PASSED 448s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_close PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_close_after_conn_broken PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_connect PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_error PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_expt PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_read PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_handle_write PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_quick_connect PASSED 449s tests/test_wasyncore.py::TestAPI_UseIPv6Poll::test_set_reuse_addr PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_bind SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_connection_attributes PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_create_socket PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_accept PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_accepted PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_close PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_close_after_conn_broken PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_connect PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_error PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_expt SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_read PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_handle_write PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_quick_connect SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsSelect::test_set_reuse_addr SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_bind SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_connection_attributes PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_create_socket PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_accept PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_accepted PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_close PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_close_after_conn_broken PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_connect PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_error PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_expt SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_read PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_handle_write PASSED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_quick_connect SKIPPED 449s tests/test_wasyncore.py::TestAPI_UseUnixSocketsPoll::test_set_reuse_addr SKIPPED 449s tests/test_wasyncore.py::Test__strerror::test_gardenpath PASSED 449s tests/test_wasyncore.py::Test__strerror::test_unknown PASSED 449s tests/test_wasyncore.py::Test_read::test_gardenpath PASSED 449s tests/test_wasyncore.py::Test_read::test_non_reraised PASSED 449s tests/test_wasyncore.py::Test_read::test_reraised PASSED 450s tests/test_wasyncore.py::Test_write::test_gardenpath PASSED 450s tests/test_wasyncore.py::Test_write::test_non_reraised PASSED 450s tests/test_wasyncore.py::Test_write::test_reraised PASSED 450s tests/test_wasyncore.py::Test__exception::test_gardenpath PASSED 450s tests/test_wasyncore.py::Test__exception::test_non_reraised PASSED 450s tests/test_wasyncore.py::Test__exception::test_reraised PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_exception_in_reraised PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_exception_not_in_reraised PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_handle_close PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_handle_expt_event PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_handle_read_event PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_handle_write_event PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_socketerror_in_disconnected PASSED 450s tests/test_wasyncore.py::Test_readwrite::test_socketerror_not_in_disconnected PASSED 450s tests/test_wasyncore.py::Test_poll::test_nothing_writable_nothing_readable_but_map_not_empty PASSED 450s tests/test_wasyncore.py::Test_poll::test_select_raises_EINTR PASSED 450s tests/test_wasyncore.py::Test_poll::test_select_raises_non_EINTR PASSED 450s tests/test_wasyncore.py::Test_poll2::test_select_raises_EINTR PASSED 450s tests/test_wasyncore.py::Test_poll2::test_select_raises_non_EINTR PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test___repr__accepting PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test___repr__connected PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_accept_raise_TypeError PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_accept_raise_unexpected_socketerror PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_close_raises_unknown_socket_error PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_connect_raise_socket_error PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_accepted PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_close PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_connect_event_getsockopt_returns_error PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_error_gardenpath PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_expt_event_getsockopt_returns_error PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_read_event_not_accepting_not_connected_connecting PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_handle_write_event_while_accepting PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_recv_raises_disconnect PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_send_raise_EWOULDBLOCK PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_send_raise_unexpected_socketerror PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_set_reuse_addr_with_socketerror PASSED 450s tests/test_wasyncore.py::Test_dispatcher::test_unexpected_getpeername_exc PASSED 450s tests/test_wasyncore.py::Test_dispatcher_with_send::test_writable PASSED 450s tests/test_wasyncore.py::Test_close_all::test_reraised_exc_on_close PASSED 450s tests/test_wasyncore.py::Test_close_all::test_socketerror_on_close_ebadf PASSED 450s tests/test_wasyncore.py::Test_close_all::test_socketerror_on_close_non_ebadf PASSED 454s tests/test_wasyncore.py::Test_close_all::test_unknown_exc_on_close PASSED 454s 454s =============================== warnings summary =============================== 454s tests/test_adjustments.py: 15 warnings 454s tests/test_parser.py: 50 warnings 454s tests/test_server.py: 30 warnings 454s /usr/lib/python3/dist-packages/waitress/adjustments.py:449: DeprecationWarning: In future versions of Waitress clear_untrusted_proxy_headers will be set to True by default. You may opt-out by setting this value to False, or opt-in explicitly by setting this to True. 454s warnings.warn( 454s 454s tests/test_adjustments.py::TestAdjustments::test_goodvars 454s /usr/lib/python3/dist-packages/waitress/adjustments.py:318: DeprecationWarning: send_bytes will be removed in a future release 454s warnings.warn( 454s 454s tests/test_regression.py::test_suite 454s /usr/lib/python3/dist-packages/_pytest/python.py:198: PytestReturnNotNoneWarning: Expected None, but tests/test_regression.py::test_suite returned , which will be an error in a future version of pytest. Did you mean to use `assert` instead of `return`? 454s warnings.warn( 454s 454s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 454s 454s ---------- coverage: platform linux, python 3.12.2-final-0 ----------- 454s Name Stmts Miss Cover 454s ----------------------------------------------------------------------------------- 454s /etc/python3.12/sitecustomize.py 5 2 60% 454s /usr/lib/python3/dist-packages/_distutils_hack/__init__.py 100 95 5% 454s /usr/lib/python3/dist-packages/_pytest/_argcomplete.py 37 36 3% 454s /usr/lib/python3/dist-packages/_pytest/_code/code.py 724 656 9% 454s /usr/lib/python3/dist-packages/_pytest/_code/source.py 145 143 1% 454s /usr/lib/python3/dist-packages/_pytest/_io/terminalwriter.py 120 74 38% 454s /usr/lib/python3/dist-packages/_pytest/_io/wcwidth.py 25 16 36% 454s /usr/lib/python3/dist-packages/_pytest/_py/path.py 947 942 1% 454s /usr/lib/python3/dist-packages/_pytest/assertion/__init__.py 86 73 15% 454s /usr/lib/python3/dist-packages/_pytest/assertion/rewrite.py 675 399 41% 454s /usr/lib/python3/dist-packages/_pytest/cacheprovider.py 322 269 16% 454s /usr/lib/python3/dist-packages/_pytest/capture.py 603 558 7% 454s /usr/lib/python3/dist-packages/_pytest/compat.py 164 117 29% 454s /usr/lib/python3/dist-packages/_pytest/config/__init__.py 890 749 16% 454s /usr/lib/python3/dist-packages/_pytest/config/argparsing.py 259 214 17% 454s /usr/lib/python3/dist-packages/_pytest/config/compat.py 38 19 50% 454s /usr/lib/python3/dist-packages/_pytest/debugging.py 230 220 4% 454s /usr/lib/python3/dist-packages/_pytest/deprecated.py 24 23 4% 454s /usr/lib/python3/dist-packages/_pytest/doctest.py 361 353 2% 454s /usr/lib/python3/dist-packages/_pytest/faulthandler.py 58 45 22% 454s /usr/lib/python3/dist-packages/_pytest/fixtures.py 826 431 48% 454s /usr/lib/python3/dist-packages/_pytest/helpconfig.py 134 124 7% 454s /usr/lib/python3/dist-packages/_pytest/junitxml.py 367 365 1% 454s /usr/lib/python3/dist-packages/_pytest/legacypath.py 216 188 13% 454s /usr/lib/python3/dist-packages/_pytest/logging.py 440 320 27% 454s /usr/lib/python3/dist-packages/_pytest/main.py 471 295 37% 454s /usr/lib/python3/dist-packages/_pytest/mark/__init__.py 129 114 12% 454s /usr/lib/python3/dist-packages/_pytest/mark/structures.py 272 191 30% 454s /usr/lib/python3/dist-packages/_pytest/monkeypatch.py 168 154 8% 454s /usr/lib/python3/dist-packages/_pytest/nodes.py 333 218 35% 454s /usr/lib/python3/dist-packages/_pytest/nose.py 29 20 31% 454s /usr/lib/python3/dist-packages/_pytest/outcomes.py 110 101 8% 454s /usr/lib/python3/dist-packages/_pytest/pastebin.py 70 69 1% 454s /usr/lib/python3/dist-packages/_pytest/pathlib.py 416 341 18% 454s /usr/lib/python3/dist-packages/_pytest/python.py 896 545 39% 454s /usr/lib/python3/dist-packages/_pytest/python_path.py 16 15 6% 454s /usr/lib/python3/dist-packages/_pytest/reports.py 297 253 15% 454s /usr/lib/python3/dist-packages/_pytest/runner.py 296 168 43% 454s /usr/lib/python3/dist-packages/_pytest/scope.py 39 29 26% 454s /usr/lib/python3/dist-packages/_pytest/setuponly.py 58 51 12% 454s /usr/lib/python3/dist-packages/_pytest/setupplan.py 24 20 17% 454s /usr/lib/python3/dist-packages/_pytest/skipping.py 163 134 18% 454s /usr/lib/python3/dist-packages/_pytest/stash.py 36 25 31% 454s /usr/lib/python3/dist-packages/_pytest/stepwise.py 74 72 3% 454s /usr/lib/python3/dist-packages/_pytest/terminal.py 913 692 24% 454s /usr/lib/python3/dist-packages/_pytest/threadexception.py 42 27 36% 454s /usr/lib/python3/dist-packages/_pytest/tmpdir.py 156 135 13% 454s /usr/lib/python3/dist-packages/_pytest/unittest.py 251 154 39% 454s /usr/lib/python3/dist-packages/_pytest/unraisableexception.py 44 29 34% 454s /usr/lib/python3/dist-packages/_pytest/warnings.py 74 49 34% 454s /usr/lib/python3/dist-packages/apport_python_hook.py 119 109 8% 454s /usr/lib/python3/dist-packages/pluggy/_callers.py 109 69 37% 454s /usr/lib/python3/dist-packages/pluggy/_hooks.py 266 180 32% 454s /usr/lib/python3/dist-packages/pluggy/_manager.py 230 184 20% 454s /usr/lib/python3/dist-packages/pluggy/_result.py 50 41 18% 454s /usr/lib/python3/dist-packages/pluggy/_tracing.py 48 38 21% 454s /usr/lib/python3/dist-packages/pytest/__init__.py 85 83 2% 454s /usr/lib/python3/dist-packages/pytest_cov/compat.py 17 13 24% 454s /usr/lib/python3/dist-packages/pytest_cov/embed.py 69 63 9% 454s /usr/lib/python3/dist-packages/pytest_cov/engine.py 250 229 8% 454s /usr/lib/python3/dist-packages/pytest_cov/plugin.py 224 206 8% 454s /usr/lib/python3/dist-packages/waitress/__init__.py 11 0 100% 454s /usr/lib/python3/dist-packages/waitress/adjustments.py 186 0 100% 454s /usr/lib/python3/dist-packages/waitress/buffers.py 214 0 100% 454s /usr/lib/python3/dist-packages/waitress/channel.py 257 0 100% 454s /usr/lib/python3/dist-packages/waitress/compat.py 10 0 100% 454s /usr/lib/python3/dist-packages/waitress/parser.py 199 0 100% 454s /usr/lib/python3/dist-packages/waitress/proxy_headers.py 162 0 100% 454s /usr/lib/python3/dist-packages/waitress/receiver.py 111 0 100% 454s /usr/lib/python3/dist-packages/waitress/rfc7230.py 26 0 100% 454s /usr/lib/python3/dist-packages/waitress/runner.py 69 0 100% 454s /usr/lib/python3/dist-packages/waitress/server.py 177 1 99% 454s /usr/lib/python3/dist-packages/waitress/task.py 323 0 100% 454s /usr/lib/python3/dist-packages/waitress/trigger.py 56 0 100% 454s /usr/lib/python3/dist-packages/waitress/utilities.py 113 0 100% 454s /usr/lib/python3/dist-packages/waitress/wasyncore.py 379 0 100% 454s tests/__init__.py 0 0 100% 454s tests/fixtureapps/__init__.py 0 0 100% 454s tests/fixtureapps/badcl.py 0 0 100% 454s tests/fixtureapps/echo.py 7 0 100% 454s tests/fixtureapps/error.py 0 0 100% 454s tests/fixtureapps/error_traceback.py 0 0 100% 454s tests/fixtureapps/filewrapper.py 4 0 100% 454s tests/fixtureapps/getline.py 15 4 73% 454s tests/fixtureapps/nocl.py 0 0 100% 454s tests/fixtureapps/runner.py 0 0 100% 454s tests/fixtureapps/sleepy.py 1 0 100% 454s tests/fixtureapps/toolarge.py 0 0 100% 454s tests/fixtureapps/writecb.py 0 0 100% 454s tests/test_adjustments.py 249 0 100% 454s tests/test_buffers.py 421 0 100% 454s tests/test_channel.py 850 2 99% 454s tests/test_functional.py 1145 2 99% 454s tests/test_init.py 36 0 100% 454s tests/test_parser.py 431 0 100% 454s tests/test_proxy_headers.py 311 0 100% 454s tests/test_receiver.py 215 0 100% 454s tests/test_regression.py 5 0 100% 454s tests/test_runner.py 98 0 100% 454s tests/test_server.py 325 0 100% 454s tests/test_task.py 803 1 99% 454s tests/test_trigger.py 92 0 100% 454s tests/test_utilities.py 84 0 100% 454s tests/test_wasyncore.py 920 0 100% 454s ----------------------------------------------------------------------------------- 454s TOTAL 22945 11557 50% 454s 454s ================= 798 passed, 8 skipped, 97 warnings in 37.56s ================= 455s 455s autopkgtest [09:03:48]: test unittests: -----------------------] 456s unittests PASS 456s autopkgtest [09:03:49]: test unittests: - - - - - - - - - - results - - - - - - - - - - 456s autopkgtest [09:03:49]: test autodep8-python3: preparing testbed 611s autopkgtest [09:06:24]: testbed dpkg architecture: arm64 611s autopkgtest [09:06:24]: testbed apt version: 2.7.12 611s autopkgtest [09:06:24]: @@@@@@@@@@@@@@@@@@@@ test bed setup 613s Get:1 http://ftpmaster.internal/ubuntu noble-proposed InRelease [117 kB] 614s Get:2 http://ftpmaster.internal/ubuntu noble-proposed/main Sources [494 kB] 614s Get:3 http://ftpmaster.internal/ubuntu noble-proposed/universe Sources [3991 kB] 614s Get:4 http://ftpmaster.internal/ubuntu noble-proposed/restricted Sources [6540 B] 614s Get:5 http://ftpmaster.internal/ubuntu noble-proposed/multiverse Sources [56.9 kB] 614s Get:6 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 Packages [706 kB] 614s Get:7 http://ftpmaster.internal/ubuntu noble-proposed/main arm64 c-n-f Metadata [3144 B] 615s Get:8 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 Packages [33.7 kB] 615s Get:9 http://ftpmaster.internal/ubuntu noble-proposed/restricted arm64 c-n-f Metadata [116 B] 615s Get:10 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 Packages [4363 kB] 615s Get:11 http://ftpmaster.internal/ubuntu noble-proposed/universe arm64 c-n-f Metadata [8528 B] 615s Get:12 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 Packages [69.8 kB] 615s Get:13 http://ftpmaster.internal/ubuntu noble-proposed/multiverse arm64 c-n-f Metadata [116 B] 626s Fetched 9850 kB in 5s (1796 kB/s) 626s Reading package lists... 632s Reading package lists... 633s Building dependency tree... 633s Reading state information... 635s Calculating upgrade... 636s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 636s Reading package lists... 637s Building dependency tree... 637s Reading state information... 639s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 641s sh: Attempting to set up Debian/Ubuntu apt sources automatically 641s sh: Distribution appears to be Ubuntu 644s Reading package lists... 644s Building dependency tree... 644s Reading state information... 646s eatmydata is already the newest version (131-1). 646s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 646s Reading package lists... 647s Building dependency tree... 647s Reading state information... 649s dbus is already the newest version (1.14.10-4ubuntu1). 649s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 649s Reading package lists... 649s Building dependency tree... 649s Reading state information... 651s rng-tools-debian is already the newest version (2.4). 651s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 651s Reading package lists... 652s Building dependency tree... 652s Reading state information... 654s The following packages will be REMOVED: 654s cloud-init* python3-configobj* python3-debconf* 655s 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. 655s After this operation, 3256 kB disk space will be freed. 655s (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 ... 75911 files and directories currently installed.) 655s Removing cloud-init (24.1.2-0ubuntu1) ... 658s Removing python3-configobj (5.0.8-3) ... 659s Removing python3-debconf (1.5.86) ... 660s Processing triggers for man-db (2.12.0-3) ... 662s (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 ... 75522 files and directories currently installed.) 662s Purging configuration files for cloud-init (24.1.2-0ubuntu1) ... 664s dpkg: warning: while removing cloud-init, directory '/etc/cloud/cloud.cfg.d' not empty so not removed 664s Processing triggers for rsyslog (8.2312.0-3ubuntu3) ... 664s invoke-rc.d: policy-rc.d denied execution of try-restart. 665s Reading package lists... 666s Building dependency tree... 666s Reading state information... 668s linux-generic is already the newest version (6.8.0-11.11+1). 668s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 668s Hit:1 http://ftpmaster.internal/ubuntu noble InRelease 668s Hit:2 http://ftpmaster.internal/ubuntu noble-updates InRelease 668s Hit:3 http://ftpmaster.internal/ubuntu noble-security InRelease 678s Reading package lists... 678s Reading package lists... 679s Building dependency tree... 679s Reading state information... 680s Calculating upgrade... 681s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 682s Reading package lists... 682s Building dependency tree... 682s Reading state information... 684s 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 684s autopkgtest [09:07:37]: rebooting testbed after setup commands that affected boot 861s Reading package lists... 862s Building dependency tree... 862s Reading state information... 863s Starting pkgProblemResolver with broken count: 0 863s Starting 2 pkgProblemResolver with broken count: 0 863s Done 866s The following additional packages will be installed: 866s python3-all python3-waitress 866s Suggested packages: 866s python-waitress-doc 866s The following NEW packages will be installed: 866s autopkgtest-satdep python3-all python3-waitress 867s 0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. 867s Need to get 48.9 kB/49.6 kB of archives. 867s After this operation, 217 kB of additional disk space will be used. 867s Get:1 /tmp/autopkgtest.VRfbP5/2-autopkgtest-satdep.deb autopkgtest-satdep arm64 0 [712 B] 867s Get:2 http://ftpmaster.internal/ubuntu noble/main arm64 python3-all arm64 3.12.1-0ubuntu2 [906 B] 867s Get:3 http://ftpmaster.internal/ubuntu noble/universe arm64 python3-waitress all 2.1.2-2 [48.0 kB] 869s Fetched 48.9 kB in 1s (78.0 kB/s) 871s Selecting previously unselected package python3-all. 871s (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 ... 75467 files and directories currently installed.) 871s Preparing to unpack .../python3-all_3.12.1-0ubuntu2_arm64.deb ... 871s Unpacking python3-all (3.12.1-0ubuntu2) ... 871s Selecting previously unselected package python3-waitress. 871s Preparing to unpack .../python3-waitress_2.1.2-2_all.deb ... 871s Unpacking python3-waitress (2.1.2-2) ... 871s Selecting previously unselected package autopkgtest-satdep. 871s Preparing to unpack .../2-autopkgtest-satdep.deb ... 871s Unpacking autopkgtest-satdep (0) ... 871s Setting up python3-waitress (2.1.2-2) ... 872s Setting up python3-all (3.12.1-0ubuntu2) ... 872s Setting up autopkgtest-satdep (0) ... 883s (Reading database ... 75495 files and directories currently installed.) 883s Removing autopkgtest-satdep (0) ... 885s autopkgtest [09:10:58]: 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 885s autopkgtest [09:10:58]: test autodep8-python3: [----------------------- 886s Testing with python3.12: 886s 887s autopkgtest [09:11:00]: test autodep8-python3: -----------------------] 887s autodep8-python3 PASS (superficial) 887s autopkgtest [09:11:00]: test autodep8-python3: - - - - - - - - - - results - - - - - - - - - - 888s autopkgtest [09:11:01]: @@@@@@@@@@@@@@@@@@@@ summary 888s unittests PASS 888s autodep8-python3 PASS (superficial) 899s Creating nova instance adt-noble-arm64-waitress-20240324-085613-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240324.img (UUID 86f9118c-691d-4fd3-ac71-bf5396ee0d8a)... 899s Creating nova instance adt-noble-arm64-waitress-20240324-085613-juju-7f2275-prod-proposed-migration-environment-2 from image adt/ubuntu-noble-arm64-server-20240324.img (UUID 86f9118c-691d-4fd3-ac71-bf5396ee0d8a)...