>>> py3-aiohttp: Building community/py3-aiohttp 3.9.3-r0 (using abuild 3.12.0-r5) started Wed, 20 Mar 2024 19:45:13 +0000 >>> py3-aiohttp: Checking sanity of /home/buildozer/aports/community/py3-aiohttp/APKBUILD... >>> py3-aiohttp: Analyzing dependencies... >>> py3-aiohttp: Installing for build: build-base py3-aiosignal py3-async-timeout py3-attrs py3-brotli py3-charset-normalizer py3-idna-ssl py3-multidict py3-typing-extensions py3-yarl python3 python3-dev py3-gpep517 py3-setuptools py3-wheel py3-async_generator py3-freezegun py3-gunicorn py3-pytest py3-pytest-cov py3-pytest-mock py3-re-assert (1/78) Installing libbz2 (1.0.8-r6) (2/78) Installing libffi (3.4.6-r0) (3/78) Installing gdbm (1.23-r1) (4/78) Installing xz-libs (5.6.1-r1) (5/78) Installing mpdecimal (4.0.0-r0) (6/78) Installing libpanelw (6.4_p20240309-r0) (7/78) Installing readline (8.2.10-r0) (8/78) Installing sqlite-libs (3.45.2-r0) (9/78) Installing python3 (3.11.8-r0) (10/78) Installing python3-pycache-pyc0 (3.11.8-r0) (11/78) Installing pyc (3.11.8-r0) (12/78) Installing py3-frozenlist (1.4.1-r0) (13/78) Installing py3-frozenlist-pyc (1.4.1-r0) (14/78) Installing py3-aiosignal-pyc (1.3.1-r2) (15/78) Installing python3-pyc (3.11.8-r0) (16/78) Installing py3-aiosignal (1.3.1-r2) (17/78) Installing py3-typing-extensions (4.10.0-r0) (18/78) Installing py3-typing-extensions-pyc (4.10.0-r0) (19/78) Installing py3-async-timeout (4.0.3-r0) (20/78) Installing py3-async-timeout-pyc (4.0.3-r0) (21/78) Installing py3-attrs (23.2.0-r0) (22/78) Installing py3-attrs-pyc (23.2.0-r0) (23/78) Installing py3-brotli (1.1.0-r1) (24/78) Installing py3-brotli-pyc (1.1.0-r1) (25/78) Installing py3-charset-normalizer (3.3.2-r0) (26/78) Installing py3-charset-normalizer-pyc (3.3.2-r0) (27/78) Installing py3-idna (3.6-r0) (28/78) Installing py3-idna-pyc (3.6-r0) (29/78) Installing py3-idna-ssl (1.1.0-r8) (30/78) Installing py3-idna-ssl-pyc (1.1.0-r8) (31/78) Installing py3-multidict (6.0.5-r0) (32/78) Installing py3-multidict-pyc (6.0.5-r0) (33/78) Installing py3-yarl (1.9.4-r0) (34/78) Installing py3-yarl-pyc (1.9.4-r0) (35/78) Installing python3-dev (3.11.8-r0) (36/78) Installing py3-installer (0.7.0-r1) (37/78) Installing py3-installer-pyc (0.7.0-r1) (38/78) Installing py3-gpep517 (15-r1) (39/78) Installing py3-gpep517-pyc (15-r1) (40/78) Installing py3-parsing (3.1.2-r0) (41/78) Installing py3-parsing-pyc (3.1.2-r0) (42/78) Installing py3-packaging (24.0-r0) (43/78) Installing py3-packaging-pyc (24.0-r0) (44/78) Installing py3-setuptools (69.2.0-r0) (45/78) Installing py3-setuptools-pyc (69.2.0-r0) (46/78) Installing py3-wheel (0.42.0-r0) (47/78) Installing py3-wheel-pyc (0.42.0-r0) (48/78) Installing py3-async_generator (1.10-r5) (49/78) Installing py3-async_generator-pyc (1.10-r5) (50/78) Installing py3-six (1.16.0-r8) (51/78) Installing py3-six-pyc (1.16.0-r8) (52/78) Installing py3-dateutil (2.9.0-r0) (53/78) Installing py3-dateutil-pyc (2.9.0-r0) (54/78) Installing py3-freezegun (1.4.0-r0) (55/78) Installing py3-freezegun-pyc (1.4.0-r0) (56/78) Installing py3-gunicorn (21.2.0-r0) (57/78) Installing py3-gunicorn-pyc (21.2.0-r0) (58/78) Installing py3-iniconfig (1.1.1-r8) (59/78) Installing py3-iniconfig-pyc (1.1.1-r8) (60/78) Installing py3-pluggy (1.4.0-r0) (61/78) Installing py3-pluggy-pyc (1.4.0-r0) (62/78) Installing py3-py (1.11.0-r2) (63/78) Installing py3-py-pyc (1.11.0-r2) (64/78) Installing py3-pytest (8.0.2-r0) (65/78) Installing py3-pytest-pyc (8.0.2-r0) (66/78) Installing py3-coverage (6.5.0-r5) (67/78) Installing py3-coverage-pyc (6.5.0-r5) (68/78) Installing py3-pytest-cov (4.1.0-r0) (69/78) Installing py3-pytest-cov-pyc (4.1.0-r0) (70/78) Installing py3-mock (5.1.0-r1) (71/78) Installing py3-mock-pyc (5.1.0-r1) (72/78) Installing py3-pytest-mock (3.10.0-r2) (73/78) Installing py3-pytest-mock-pyc (3.10.0-r2) (74/78) Installing py3-regex (2023.12.26-r0) (75/78) Installing py3-regex-pyc (2023.12.26-r0) (76/78) Installing py3-re-assert (1.1.0-r4) (77/78) Installing py3-re-assert-pyc (1.1.0-r4) (78/78) Installing .makedepends-py3-aiohttp (20240320.194515) Executing busybox-1.36.1-r21.trigger OK: 510 MiB in 185 packages >>> py3-aiohttp: Cleaning up srcdir >>> py3-aiohttp: Cleaning up pkgdir >>> py3-aiohttp: Cleaning up tmpdir >>> py3-aiohttp: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-aiohttp-3.9.3.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 146 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (22) The requested URL returned error: 404 >>> py3-aiohttp: Fetching py3-aiohttp-3.9.3.tar.gz::https://files.pythonhosted.org/packages/source/a/aiohttp/aiohttp-3.9.3.tar.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 7323k 100 7323k 0 0 39.3M 0 --:--:-- --:--:-- --:--:-- 39.3M >>> py3-aiohttp: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-aiohttp-3.9.3.tar.gz >>> py3-aiohttp: Checking sha512sums... py3-aiohttp-3.9.3.tar.gz: OK >>> py3-aiohttp: Unpacking /var/cache/distfiles/edge/py3-aiohttp-3.9.3.tar.gz... 2024-03-20 19:45:17,438 gpep517 INFO Building wheel via backend setuptools.build_meta ********************* * Accelerated build * ********************* 2024-03-20 19:45:17,529 root INFO running bdist_wheel 2024-03-20 19:45:17,559 root INFO running build 2024-03-20 19:45:17,559 root INFO running build_py 2024-03-20 19:45:17,565 root INFO creating build 2024-03-20 19:45:17,565 root INFO creating build/lib.linux-x86_64-cpython-311 2024-03-20 19:45:17,565 root INFO creating build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,566 root INFO copying aiohttp/web_log.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,566 root INFO copying aiohttp/log.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,566 root INFO copying aiohttp/http_websocket.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,567 root INFO copying aiohttp/tracing.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,567 root INFO copying aiohttp/client_proto.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,567 root INFO copying aiohttp/http_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,568 root INFO copying aiohttp/http_writer.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,568 root INFO copying aiohttp/compression_utils.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,569 root INFO copying aiohttp/client_ws.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,569 root INFO copying aiohttp/resolver.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,569 root INFO copying aiohttp/abc.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,570 root INFO copying aiohttp/web_runner.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,570 root INFO copying aiohttp/streams.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,570 root INFO copying aiohttp/client_reqrep.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,571 root INFO copying aiohttp/web_urldispatcher.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,571 root INFO copying aiohttp/http_parser.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,572 root INFO copying aiohttp/locks.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,572 root INFO copying aiohttp/http.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,572 root INFO copying aiohttp/multipart.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,573 root INFO copying aiohttp/__init__.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,573 root INFO copying aiohttp/helpers.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,573 root INFO copying aiohttp/tcp_helpers.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,574 root INFO copying aiohttp/web.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,574 root INFO copying aiohttp/web_fileresponse.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,574 root INFO copying aiohttp/web_server.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,575 root INFO copying aiohttp/payload_streamer.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,575 root INFO copying aiohttp/web_request.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,575 root INFO copying aiohttp/client.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,576 root INFO copying aiohttp/connector.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,576 root INFO copying aiohttp/hdrs.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,577 root INFO copying aiohttp/pytest_plugin.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,577 root INFO copying aiohttp/web_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,578 root INFO copying aiohttp/web_middlewares.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,578 root INFO copying aiohttp/formdata.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,578 root INFO copying aiohttp/base_protocol.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,579 root INFO copying aiohttp/typedefs.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,579 root INFO copying aiohttp/test_utils.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,579 root INFO copying aiohttp/web_routedef.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,580 root INFO copying aiohttp/client_exceptions.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,580 root INFO copying aiohttp/payload.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,580 root INFO copying aiohttp/web_protocol.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,581 root INFO copying aiohttp/worker.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,581 root INFO copying aiohttp/web_app.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,581 root INFO copying aiohttp/cookiejar.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,582 root INFO copying aiohttp/web_ws.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,582 root INFO copying aiohttp/web_response.py -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,582 root INFO running egg_info 2024-03-20 19:45:17,586 root INFO writing aiohttp.egg-info/PKG-INFO 2024-03-20 19:45:17,589 root INFO writing dependency_links to aiohttp.egg-info/dependency_links.txt 2024-03-20 19:45:17,591 root INFO writing requirements to aiohttp.egg-info/requires.txt 2024-03-20 19:45:17,591 root INFO writing top-level names to aiohttp.egg-info/top_level.txt 2024-03-20 19:45:17,599 root INFO reading manifest file 'aiohttp.egg-info/SOURCES.txt' 2024-03-20 19:45:17,602 root INFO reading manifest template 'MANIFEST.in' 2024-03-20 19:45:17,625 root WARNING warning: no files found matching 'aiohttp' anywhere in distribution 2024-03-20 19:45:17,627 root WARNING warning: no previously-included files matching '*.pyc' found anywhere in distribution 2024-03-20 19:45:17,628 root WARNING warning: no previously-included files matching '*.pyd' found anywhere in distribution 2024-03-20 19:45:17,628 root WARNING warning: no previously-included files matching '*.so' found anywhere in distribution 2024-03-20 19:45:17,629 root WARNING warning: no previously-included files matching '*.lib' found anywhere in distribution 2024-03-20 19:45:17,630 root WARNING warning: no previously-included files matching '*.dll' found anywhere in distribution 2024-03-20 19:45:17,631 root WARNING warning: no previously-included files matching '*.a' found anywhere in distribution 2024-03-20 19:45:17,632 root WARNING warning: no previously-included files matching '*.obj' found anywhere in distribution 2024-03-20 19:45:17,632 root WARNING warning: no previously-included files found matching 'aiohttp/*.html' 2024-03-20 19:45:17,633 root WARNING no previously-included directories found matching 'docs/_build' 2024-03-20 19:45:17,633 root INFO adding license file 'LICENSE.txt' 2024-03-20 19:45:17,640 root INFO writing manifest file 'aiohttp.egg-info/SOURCES.txt' 2024-03-20 19:45:17,644 root INFO copying aiohttp/_cparser.pxd -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,644 root INFO copying aiohttp/_find_header.pxd -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,645 root INFO copying aiohttp/_headers.pxi -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,645 root INFO copying aiohttp/_helpers.pyi -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,645 root INFO copying aiohttp/_helpers.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,645 root INFO copying aiohttp/_http_parser.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,646 root INFO copying aiohttp/_http_writer.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,646 root INFO copying aiohttp/_websocket.pyx -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,646 root INFO copying aiohttp/py.typed -> build/lib.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,647 root INFO creating build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,647 root INFO copying aiohttp/.hash/_cparser.pxd.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,647 root INFO copying aiohttp/.hash/_find_header.pxd.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,648 root INFO copying aiohttp/.hash/_helpers.pyi.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,648 root INFO copying aiohttp/.hash/_helpers.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,648 root INFO copying aiohttp/.hash/_http_parser.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,648 root INFO copying aiohttp/.hash/_http_writer.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,649 root INFO copying aiohttp/.hash/_websocket.pyx.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,649 root INFO copying aiohttp/.hash/hdrs.py.hash -> build/lib.linux-x86_64-cpython-311/aiohttp/.hash 2024-03-20 19:45:17,650 root INFO running build_ext 2024-03-20 19:45:17,652 root INFO building 'aiohttp._websocket' extension 2024-03-20 19:45:17,652 root INFO creating build/temp.linux-x86_64-cpython-311 2024-03-20 19:45:17,652 root INFO creating build/temp.linux-x86_64-cpython-311/aiohttp 2024-03-20 19:45:17,652 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -I/usr/include/python3.11 -c aiohttp/_websocket.c -o build/temp.linux-x86_64-cpython-311/aiohttp/_websocket.o 2024-03-20 19:45:19,075 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt build/temp.linux-x86_64-cpython-311/aiohttp/_websocket.o -L/usr/lib -o build/lib.linux-x86_64-cpython-311/aiohttp/_websocket.cpython-311-x86_64-linux-musl.so 2024-03-20 19:45:19,097 root INFO building 'aiohttp._http_parser' extension 2024-03-20 19:45:19,097 root INFO creating build/temp.linux-x86_64-cpython-311/vendor 2024-03-20 19:45:19,098 root INFO creating build/temp.linux-x86_64-cpython-311/vendor/llhttp 2024-03-20 19:45:19,098 root INFO creating build/temp.linux-x86_64-cpython-311/vendor/llhttp/build 2024-03-20 19:45:19,098 root INFO creating build/temp.linux-x86_64-cpython-311/vendor/llhttp/build/c 2024-03-20 19:45:19,099 root INFO creating build/temp.linux-x86_64-cpython-311/vendor/llhttp/src 2024-03-20 19:45:19,099 root INFO creating build/temp.linux-x86_64-cpython-311/vendor/llhttp/src/native 2024-03-20 19:45:19,099 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -DLLHTTP_STRICT_MODE=0 -Ivendor/llhttp/build -I/usr/include/python3.11 -c aiohttp/_find_header.c -o build/temp.linux-x86_64-cpython-311/aiohttp/_find_header.o aiohttp/_find_header.c: In function 'find_header': aiohttp/_find_header.c:21:19: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 21 | char *pchar = str; | ^~~ aiohttp/_find_header.c:9867:1: warning: label 'missing' defined but not used [-Wunused-label] 9867 | missing: | ^~~~~~~ 2024-03-20 19:45:20,716 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -DLLHTTP_STRICT_MODE=0 -Ivendor/llhttp/build -I/usr/include/python3.11 -c aiohttp/_http_parser.c -o build/temp.linux-x86_64-cpython-311/aiohttp/_http_parser.o aiohttp/_http_parser.c: In function '__pyx_f_7aiohttp_12_http_parser_cb_on_header_field': aiohttp/_http_parser.c:16113:33: warning: comparison of integer expressions of different signedness: 'Py_ssize_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] 16113 | __pyx_t_6 = (__pyx_v_size > __pyx_v_pyparser->_max_field_size); | ^ aiohttp/_http_parser.c:16181:148: warning: passing argument 2 of '__pyx_v_pyparser->__pyx_vtab->_on_header_field' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 16181 | __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_header_field(__pyx_v_pyparser, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 717, __pyx_L3_error) | ^~~~~~~~~~ aiohttp/_http_parser.c:16181:148: note: expected 'char *' but argument is of type 'const char *' aiohttp/_http_parser.c: In function '__pyx_f_7aiohttp_12_http_parser_cb_on_header_value': aiohttp/_http_parser.c:16402:33: warning: comparison of integer expressions of different signedness: 'Py_ssize_t' {aka 'long int'} and 'size_t' {aka 'long unsigned int'} [-Wsign-compare] 16402 | __pyx_t_6 = (__pyx_v_size > __pyx_v_pyparser->_max_field_size); | ^ aiohttp/_http_parser.c:16470:148: warning: passing argument 2 of '__pyx_v_pyparser->__pyx_vtab->_on_header_value' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 16470 | __pyx_t_1 = ((struct __pyx_vtabstruct_7aiohttp_12_http_parser_HttpParser *)__pyx_v_pyparser->__pyx_vtab)->_on_header_value(__pyx_v_pyparser, __pyx_v_at, __pyx_v_length); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L3_error) | ^~~~~~~~~~ aiohttp/_http_parser.c:16470:148: note: expected 'char *' but argument is of type 'const char *' In function '__pyx_pf_7aiohttp_12_http_parser_10HttpParser_6feed_data', inlined from '__pyx_pw_7aiohttp_12_http_parser_10HttpParser_7feed_data' at aiohttp/_http_parser.c:12558:13: aiohttp/_http_parser.c:12966:17: warning: '__pyx_v_nb' may be used uninitialized [-Wmaybe-uninitialized] 12966 | __pyx_t_4 = __Pyx_PyObject_GetSlice(__pyx_v_data, __pyx_v_nb, 0, NULL, NULL, NULL, 1, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 566, __pyx_L1_error) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ aiohttp/_http_parser.c: In function '__pyx_pw_7aiohttp_12_http_parser_10HttpParser_7feed_data': aiohttp/_http_parser.c:12573:10: note: '__pyx_v_nb' was declared here 12573 | size_t __pyx_v_nb; | ^~~~~~~~~~ 2024-03-20 19:45:34,261 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -DLLHTTP_STRICT_MODE=0 -Ivendor/llhttp/build -I/usr/include/python3.11 -c vendor/llhttp/build/c/llhttp.c -o build/temp.linux-x86_64-cpython-311/vendor/llhttp/build/c/llhttp.o 2024-03-20 19:45:35,826 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -DLLHTTP_STRICT_MODE=0 -Ivendor/llhttp/build -I/usr/include/python3.11 -c vendor/llhttp/src/native/api.c -o build/temp.linux-x86_64-cpython-311/vendor/llhttp/src/native/api.o 2024-03-20 19:45:36,168 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -DLLHTTP_STRICT_MODE=0 -Ivendor/llhttp/build -I/usr/include/python3.11 -c vendor/llhttp/src/native/http.c -o build/temp.linux-x86_64-cpython-311/vendor/llhttp/src/native/http.o 2024-03-20 19:45:36,261 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt build/temp.linux-x86_64-cpython-311/aiohttp/_find_header.o build/temp.linux-x86_64-cpython-311/aiohttp/_http_parser.o build/temp.linux-x86_64-cpython-311/vendor/llhttp/build/c/llhttp.o build/temp.linux-x86_64-cpython-311/vendor/llhttp/src/native/api.o build/temp.linux-x86_64-cpython-311/vendor/llhttp/src/native/http.o -L/usr/lib -o build/lib.linux-x86_64-cpython-311/aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so 2024-03-20 19:45:36,306 root INFO building 'aiohttp._helpers' extension 2024-03-20 19:45:36,307 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -I/usr/include/python3.11 -c aiohttp/_helpers.c -o build/temp.linux-x86_64-cpython-311/aiohttp/_helpers.o 2024-03-20 19:45:38,424 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt build/temp.linux-x86_64-cpython-311/aiohttp/_helpers.o -L/usr/lib -o build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.cpython-311-x86_64-linux-musl.so 2024-03-20 19:45:38,449 root INFO building 'aiohttp._http_writer' extension 2024-03-20 19:45:38,449 root INFO gcc -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt -fPIC -I/usr/include/python3.11 -c aiohttp/_http_writer.c -o build/temp.linux-x86_64-cpython-311/aiohttp/_http_writer.o 2024-03-20 19:45:40,403 root INFO gcc -shared -Wl,--as-needed,-O1,--sort-common -Wl,-z,pack-relative-relocs -Os -fstack-clash-protection -Wformat -Werror=format-security -fno-plt build/temp.linux-x86_64-cpython-311/aiohttp/_http_writer.o -L/usr/lib -o build/lib.linux-x86_64-cpython-311/aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so 2024-03-20 19:45:40,445 wheel INFO installing to build/bdist.linux-x86_64/wheel 2024-03-20 19:45:40,445 root INFO running install 2024-03-20 19:45:40,466 root INFO running install_lib 2024-03-20 19:45:40,474 root INFO creating build/bdist.linux-x86_64 2024-03-20 19:45:40,474 root INFO creating build/bdist.linux-x86_64/wheel 2024-03-20 19:45:40,475 root INFO creating build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,475 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_log.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,475 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/log.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,476 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/http_websocket.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,476 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/tracing.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,477 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_websocket.pyx -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,477 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/client_proto.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,478 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/http_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,478 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/http_writer.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,478 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.pyx -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,479 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/compression_utils.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,479 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_websocket.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,480 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/client_ws.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,480 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/resolver.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,481 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/abc.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,481 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_runner.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,482 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/streams.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,482 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/client_reqrep.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,483 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_urldispatcher.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,483 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/http_parser.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,484 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/locks.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,484 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/http.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,484 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/multipart.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,485 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.pyi -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,485 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/__init__.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,485 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/helpers.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,486 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,489 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_writer.pyx -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,490 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/tcp_helpers.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,490 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,491 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_fileresponse.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,491 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_server.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,491 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/payload_streamer.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,492 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_request.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,492 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/client.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,493 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/connector.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,493 root INFO creating build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,493 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_helpers.pyi.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,494 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_http_writer.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,494 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_http_parser.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,495 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_helpers.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,495 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_cparser.pxd.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,495 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_find_header.pxd.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,496 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/hdrs.py.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,496 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/.hash/_websocket.pyx.hash -> build/bdist.linux-x86_64/wheel/aiohttp/.hash 2024-03-20 19:45:40,496 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/py.typed -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,497 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/hdrs.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,497 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_cparser.pxd -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,497 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_find_header.pxd -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,498 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/pytest_plugin.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,498 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,498 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_middlewares.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,499 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/formdata.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,499 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/base_protocol.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,499 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/typedefs.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,500 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/test_utils.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,500 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_routedef.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,500 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/client_exceptions.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,501 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_helpers.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,501 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_headers.pxi -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,502 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_parser.pyx -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,502 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,503 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/payload.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,503 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_protocol.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,503 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/worker.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,504 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_app.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,504 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/cookiejar.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,504 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_ws.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,504 root INFO copying build/lib.linux-x86_64-cpython-311/aiohttp/web_response.py -> build/bdist.linux-x86_64/wheel/aiohttp 2024-03-20 19:45:40,505 root INFO running install_egg_info 2024-03-20 19:45:40,512 root INFO Copying aiohttp.egg-info to build/bdist.linux-x86_64/wheel/aiohttp-3.9.3-py3.11.egg-info 2024-03-20 19:45:40,513 root INFO running install_scripts 2024-03-20 19:45:40,520 wheel INFO creating build/bdist.linux-x86_64/wheel/aiohttp-3.9.3.dist-info/WHEEL 2024-03-20 19:45:40,521 wheel INFO creating '/home/buildozer/aports/community/py3-aiohttp/src/aiohttp-3.9.3/.dist/.tmp-37r_ipcx/aiohttp-3.9.3-cp311-cp311-linux_x86_64.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2024-03-20 19:45:40,522 wheel INFO adding 'aiohttp/__init__.py' 2024-03-20 19:45:40,522 wheel INFO adding 'aiohttp/_cparser.pxd' 2024-03-20 19:45:40,522 wheel INFO adding 'aiohttp/_find_header.pxd' 2024-03-20 19:45:40,523 wheel INFO adding 'aiohttp/_headers.pxi' 2024-03-20 19:45:40,523 wheel INFO adding 'aiohttp/_helpers.cpython-311-x86_64-linux-musl.so' 2024-03-20 19:45:40,525 wheel INFO adding 'aiohttp/_helpers.pyi' 2024-03-20 19:45:40,525 wheel INFO adding 'aiohttp/_helpers.pyx' 2024-03-20 19:45:40,529 wheel INFO adding 'aiohttp/_http_parser.cpython-311-x86_64-linux-musl.so' 2024-03-20 19:45:40,537 wheel INFO adding 'aiohttp/_http_parser.pyx' 2024-03-20 19:45:40,538 wheel INFO adding 'aiohttp/_http_writer.cpython-311-x86_64-linux-musl.so' 2024-03-20 19:45:40,539 wheel INFO adding 'aiohttp/_http_writer.pyx' 2024-03-20 19:45:40,540 wheel INFO adding 'aiohttp/_websocket.cpython-311-x86_64-linux-musl.so' 2024-03-20 19:45:40,541 wheel INFO adding 'aiohttp/_websocket.pyx' 2024-03-20 19:45:40,541 wheel INFO adding 'aiohttp/abc.py' 2024-03-20 19:45:40,542 wheel INFO adding 'aiohttp/base_protocol.py' 2024-03-20 19:45:40,542 wheel INFO adding 'aiohttp/client.py' 2024-03-20 19:45:40,543 wheel INFO adding 'aiohttp/client_exceptions.py' 2024-03-20 19:45:40,543 wheel INFO adding 'aiohttp/client_proto.py' 2024-03-20 19:45:40,543 wheel INFO adding 'aiohttp/client_reqrep.py' 2024-03-20 19:45:40,544 wheel INFO adding 'aiohttp/client_ws.py' 2024-03-20 19:45:40,544 wheel INFO adding 'aiohttp/compression_utils.py' 2024-03-20 19:45:40,545 wheel INFO adding 'aiohttp/connector.py' 2024-03-20 19:45:40,545 wheel INFO adding 'aiohttp/cookiejar.py' 2024-03-20 19:45:40,546 wheel INFO adding 'aiohttp/formdata.py' 2024-03-20 19:45:40,546 wheel INFO adding 'aiohttp/hdrs.py' 2024-03-20 19:45:40,546 wheel INFO adding 'aiohttp/helpers.py' 2024-03-20 19:45:40,547 wheel INFO adding 'aiohttp/http.py' 2024-03-20 19:45:40,547 wheel INFO adding 'aiohttp/http_exceptions.py' 2024-03-20 19:45:40,547 wheel INFO adding 'aiohttp/http_parser.py' 2024-03-20 19:45:40,548 wheel INFO adding 'aiohttp/http_websocket.py' 2024-03-20 19:45:40,548 wheel INFO adding 'aiohttp/http_writer.py' 2024-03-20 19:45:40,549 wheel INFO adding 'aiohttp/locks.py' 2024-03-20 19:45:40,549 wheel INFO adding 'aiohttp/log.py' 2024-03-20 19:45:40,549 wheel INFO adding 'aiohttp/multipart.py' 2024-03-20 19:45:40,550 wheel INFO adding 'aiohttp/payload.py' 2024-03-20 19:45:40,550 wheel INFO adding 'aiohttp/payload_streamer.py' 2024-03-20 19:45:40,550 wheel INFO adding 'aiohttp/py.typed' 2024-03-20 19:45:40,551 wheel INFO adding 'aiohttp/pytest_plugin.py' 2024-03-20 19:45:40,551 wheel INFO adding 'aiohttp/resolver.py' 2024-03-20 19:45:40,551 wheel INFO adding 'aiohttp/streams.py' 2024-03-20 19:45:40,552 wheel INFO adding 'aiohttp/tcp_helpers.py' 2024-03-20 19:45:40,552 wheel INFO adding 'aiohttp/test_utils.py' 2024-03-20 19:45:40,553 wheel INFO adding 'aiohttp/tracing.py' 2024-03-20 19:45:40,553 wheel INFO adding 'aiohttp/typedefs.py' 2024-03-20 19:45:40,553 wheel INFO adding 'aiohttp/web.py' 2024-03-20 19:45:40,554 wheel INFO adding 'aiohttp/web_app.py' 2024-03-20 19:45:40,554 wheel INFO adding 'aiohttp/web_exceptions.py' 2024-03-20 19:45:40,554 wheel INFO adding 'aiohttp/web_fileresponse.py' 2024-03-20 19:45:40,555 wheel INFO adding 'aiohttp/web_log.py' 2024-03-20 19:45:40,555 wheel INFO adding 'aiohttp/web_middlewares.py' 2024-03-20 19:45:40,555 wheel INFO adding 'aiohttp/web_protocol.py' 2024-03-20 19:45:40,556 wheel INFO adding 'aiohttp/web_request.py' 2024-03-20 19:45:40,556 wheel INFO adding 'aiohttp/web_response.py' 2024-03-20 19:45:40,557 wheel INFO adding 'aiohttp/web_routedef.py' 2024-03-20 19:45:40,557 wheel INFO adding 'aiohttp/web_runner.py' 2024-03-20 19:45:40,557 wheel INFO adding 'aiohttp/web_server.py' 2024-03-20 19:45:40,558 wheel INFO adding 'aiohttp/web_urldispatcher.py' 2024-03-20 19:45:40,558 wheel INFO adding 'aiohttp/web_ws.py' 2024-03-20 19:45:40,559 wheel INFO adding 'aiohttp/worker.py' 2024-03-20 19:45:40,559 wheel INFO adding 'aiohttp/.hash/_cparser.pxd.hash' 2024-03-20 19:45:40,559 wheel INFO adding 'aiohttp/.hash/_find_header.pxd.hash' 2024-03-20 19:45:40,560 wheel INFO adding 'aiohttp/.hash/_helpers.pyi.hash' 2024-03-20 19:45:40,560 wheel INFO adding 'aiohttp/.hash/_helpers.pyx.hash' 2024-03-20 19:45:40,560 wheel INFO adding 'aiohttp/.hash/_http_parser.pyx.hash' 2024-03-20 19:45:40,560 wheel INFO adding 'aiohttp/.hash/_http_writer.pyx.hash' 2024-03-20 19:45:40,560 wheel INFO adding 'aiohttp/.hash/_websocket.pyx.hash' 2024-03-20 19:45:40,561 wheel INFO adding 'aiohttp/.hash/hdrs.py.hash' 2024-03-20 19:45:40,561 wheel INFO adding 'aiohttp-3.9.3.dist-info/LICENSE.txt' 2024-03-20 19:45:40,561 wheel INFO adding 'aiohttp-3.9.3.dist-info/METADATA' 2024-03-20 19:45:40,562 wheel INFO adding 'aiohttp-3.9.3.dist-info/WHEEL' 2024-03-20 19:45:40,562 wheel INFO adding 'aiohttp-3.9.3.dist-info/top_level.txt' 2024-03-20 19:45:40,562 wheel INFO adding 'aiohttp-3.9.3.dist-info/RECORD' 2024-03-20 19:45:40,563 wheel INFO removing build/bdist.linux-x86_64/wheel 2024-03-20 19:45:40,565 gpep517 INFO The backend produced .dist/aiohttp-3.9.3-cp311-cp311-linux_x86_64.whl aiohttp-3.9.3-cp311-cp311-linux_x86_64.whl ============================= test session starts ============================== platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0 -- /usr/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/community/py3-aiohttp/src/aiohttp-3.9.3 configfile: setup.cfg testpaths: tests/ plugins: cov-4.1.0, mock-3.10.0 collecting ... collected 3079 items / 62 deselected / 3017 selected tests/test_base_protocol.py::test_loop PASSED [ 0%] tests/test_base_protocol.py::test_pause_writing PASSED [ 0%] tests/test_base_protocol.py::test_pause_reading_no_transport PASSED [ 0%] tests/test_base_protocol.py::test_pause_reading_stub_transport PASSED [ 0%] tests/test_base_protocol.py::test_resume_reading_no_transport PASSED [ 0%] tests/test_base_protocol.py::test_resume_reading_stub_transport PASSED [ 0%] tests/test_base_protocol.py::test_resume_writing_no_waiters PASSED [ 0%] tests/test_base_protocol.py::test_resume_writing_waiter_done PASSED [ 0%] tests/test_base_protocol.py::test_connection_made PASSED [ 0%] tests/test_base_protocol.py::test_connection_lost_not_paused PASSED [ 0%] tests/test_base_protocol.py::test_connection_lost_paused_without_waiter PASSED [ 0%] tests/test_base_protocol.py::test_connection_lost_waiter_done PASSED [ 0%] tests/test_base_protocol.py::test_drain_lost PASSED [ 0%] tests/test_base_protocol.py::test_drain_not_paused PASSED [ 0%] tests/test_base_protocol.py::test_resume_drain_waited PASSED [ 0%] tests/test_base_protocol.py::test_lost_drain_waited_ok PASSED [ 0%] tests/test_base_protocol.py::test_lost_drain_waited_exception PASSED [ 0%] tests/test_base_protocol.py::test_lost_drain_cancelled PASSED [ 0%] tests/test_base_protocol.py::test_resume_drain_cancelled PASSED [ 0%] tests/test_base_protocol.py::test_parallel_drain_race_condition PASSED [ 0%] tests/test_classbasedview.py::test_ctor PASSED [ 0%] tests/test_classbasedview.py::test_render_ok PASSED [ 0%] tests/test_classbasedview.py::test_render_unknown_method PASSED [ 0%] tests/test_classbasedview.py::test_render_unsupported_method PASSED [ 0%] tests/test_client_connection.py::test_ctor PASSED [ 0%] tests/test_client_connection.py::test_callbacks_on_close PASSED [ 0%] tests/test_client_connection.py::test_callbacks_on_release PASSED [ 0%] tests/test_client_connection.py::test_callbacks_exception PASSED [ 0%] tests/test_client_connection.py::test_del PASSED [ 0%] tests/test_client_connection.py::test_close PASSED [ 0%] tests/test_client_connection.py::test_release PASSED [ 1%] tests/test_client_connection.py::test_release_proto_should_close PASSED [ 1%] tests/test_client_connection.py::test_release_released PASSED [ 1%] tests/test_client_exceptions.py::TestClientResponseError::test_default_status PASSED [ 1%] tests/test_client_exceptions.py::TestClientResponseError::test_status PASSED [ 1%] tests/test_client_exceptions.py::TestClientResponseError::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestClientResponseError::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestClientResponseError::test_str PASSED [ 1%] tests/test_client_exceptions.py::test_response_status PASSED [ 1%] tests/test_client_exceptions.py::test_response_deprecated_code_property PASSED [ 1%] tests/test_client_exceptions.py::test_response_both_code_and_status PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorError::test_ctor PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorError::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorError::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorError::test_str PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorCertificateError::test_ctor PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorCertificateError::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorCertificateError::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestClientConnectorCertificateError::test_str PASSED [ 1%] tests/test_client_exceptions.py::TestServerDisconnectedError::test_ctor PASSED [ 1%] tests/test_client_exceptions.py::TestServerDisconnectedError::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestServerDisconnectedError::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestServerDisconnectedError::test_str PASSED [ 1%] tests/test_client_exceptions.py::TestServerFingerprintMismatch::test_ctor PASSED [ 1%] tests/test_client_exceptions.py::TestServerFingerprintMismatch::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestServerFingerprintMismatch::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestInvalidURL::test_ctor PASSED [ 1%] tests/test_client_exceptions.py::TestInvalidURL::test_pickle PASSED [ 1%] tests/test_client_exceptions.py::TestInvalidURL::test_repr PASSED [ 1%] tests/test_client_exceptions.py::TestInvalidURL::test_str PASSED [ 1%] tests/test_client_fingerprint.py::test_fingerprint_sha256 PASSED [ 2%] tests/test_client_fingerprint.py::test_fingerprint_sha1 PASSED [ 2%] tests/test_client_fingerprint.py::test_fingerprint_md5 PASSED [ 2%] tests/test_client_fingerprint.py::test_fingerprint_check_no_ssl PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_verify_ssl PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_verify_ssl_conflict PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_ssl_context PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_ssl_context_conflict PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_fingerprint PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_fingerprint_conflict PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_ssl PASSED [ 2%] tests/test_client_fingerprint.py::test__merge_ssl_params_invlid PASSED [ 2%] tests/test_client_functional.py::test_keepalive_two_requests_success[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_head_requests_success[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status[pyloop-101] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status[pyloop-204] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status[pyloop-304] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status_stream_response[pyloop-101] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status_stream_response[pyloop-204] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_after_empty_body_status_stream_response[pyloop-304] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_response_released[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_upgrade_connection_not_released_after_read[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_keepalive_server_force_close_connection[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_release_early[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_HTTP_304[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_stream_request_on_server_eof[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_stream_request_on_server_eof_nested[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_HTTP_304_WITH_BODY[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_auto_header_user_agent[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_skip_auto_headers_user_agent[pyloop] PASSED [ 2%] tests/test_client_functional.py::test_skip_default_auto_headers_user_agent[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_skip_auto_headers_content_type[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_post_data_bytesio[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_post_data_with_bytesio_file[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_post_data_stringio[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_post_data_textio_encoding[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_ssl_client[pyloop] XFAIL (trustme is not supported) [ 3%] tests/test_client_functional.py::test_tcp_connector_fingerprint_ok[pyloop] XFAIL [ 3%] tests/test_client_functional.py::test_tcp_connector_fingerprint_fail[pyloop] XFAIL [ 3%] tests/test_client_functional.py::test_format_task_get[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_str_params[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_drop_params_on_redirect[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_drop_fragment_on_redirect[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_drop_fragment[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_history[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_keepalive_closed_by_server[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_wait_for[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_raw_headers[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_host_header_first[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_empty_header_values[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_204_with_gzipped_content_encoding[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_timeout_on_reading_headers[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_timeout_on_conn_reading_headers[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_timeout_on_session_read_timeout[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_read_timeout_between_chunks[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_read_timeout_on_reading_chunks[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_read_timeout_on_write[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_timeout_on_reading_data[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_timeout_none[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_readline_error_on_conn_close[pyloop] PASSED [ 3%] tests/test_client_functional.py::test_no_error_on_conn_close_if_eof[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_error_not_overwrote_on_conn_close[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_200_OK_METHOD[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_200_OK_METHOD_connector[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_REDIRECT_GET[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_REDIRECT_HEAD[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_REDIRECT_NON_HTTP[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_REDIRECT_POST[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_REDIRECT_POST_with_content_length_hdr[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_307_REDIRECT_POST[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_308_PERMANENT_REDIRECT_POST[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_302_max_redirects[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_200_GET_WITH_PARAMS[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_200_GET_WITH_MultiDict_PARAMS[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_HTTP_200_GET_WITH_MIXED_PARAMS[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_with_explicit_formdata[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_with_charset[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_formdats_with_charset[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_with_charset_post[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_with_context_transfer_encoding[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_with_content_type_context_transfer_encoding[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_MultiDict[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_DATA_DEFLATE[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_FILES[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_FILES_DEFLATE[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_bytes[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_bytes_too_large[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_FILES_STR[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_FILES_STR_SIMPLE[pyloop] PASSED [ 4%] tests/test_client_functional.py::test_POST_FILES_LIST[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_CT[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_SINGLE[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_SINGLE_content_disposition[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_SINGLE_BINARY[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_IO[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_IO_WITH_PARAMS[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_FILES_WITH_DATA[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_STREAM_DATA[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_POST_STREAM_DATA_no_params[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_json[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_json_custom[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_expect_continue[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_encoding_deflate[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_encoding_deflate_nochunk[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_encoding_gzip[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_encoding_gzip_write_by_chunks[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_encoding_gzip_nochunk[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_bad_payload_compression[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_bad_payload_chunked_encoding[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_no_payload_304_with_chunked_encoding[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_head_request_with_chunked_encoding[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_no_payload_200_with_chunked_encoding[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_bad_payload_content_length[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_payload_content_length_by_chunks[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_chunked[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_shortcuts[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_cookies[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_cookies_per_request[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_cookies_redirect[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_cookies_on_empty_session_jar[pyloop] PASSED [ 5%] tests/test_client_functional.py::test_morsel_with_attributes[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_set_cookies[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_set_cookies_expired[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_set_cookies_max_age[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_set_cookies_max_age_overflow[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_request_conn_error PASSED [ 6%] tests/test_client_functional.py::test_broken_connection[pyloop] XFAIL [ 6%] tests/test_client_functional.py::test_broken_connection_2[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_custom_headers[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_redirect_to_absolute_url[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_redirect_without_location_header[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_chunked_deprecated[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-200-True] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-201-True] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-301-True] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-400-False] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-403-False] PASSED [ 6%] tests/test_client_functional.py::test_ok_from_status[pyloop-500-False] PASSED [ 6%] tests/test_client_functional.py::test_raise_for_status[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_raise_for_status_per_request[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_raise_for_status_disable_per_request[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_request_raise_for_status_default[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_request_raise_for_status_disabled[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_request_raise_for_status_enabled[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_session_raise_for_status_coro[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_request_raise_for_status_coro[pyloop] PASSED [ 6%] tests/test_client_functional.py::test_invalid_idna PASSED [ 6%] tests/test_client_functional.py::test_creds_in_auth_and_url PASSED [ 6%] tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-entirely different hosts] XFAIL [ 6%] tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-http -> https] XFAIL [ 6%] tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-https -> http] XFAIL [ 7%] tests/test_client_functional.py::test_async_with_session PASSED [ 7%] tests/test_client_functional.py::test_session_close_awaitable PASSED [ 7%] tests/test_client_functional.py::test_close_resp_on_error_async_with_session[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_release_resp_on_normal_exit_from_cm[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_non_close_detached_session_on_error_cm[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_close_detached_session_on_non_existing_addr PASSED [ 7%] tests/test_client_functional.py::test_aiohttp_request_context_manager[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_aiohttp_request_ctx_manager_close_sess_on_error[pyloop] XFAIL [ 7%] tests/test_client_functional.py::test_aiohttp_request_ctx_manager_not_found PASSED [ 7%] tests/test_client_functional.py::test_yield_from_in_session_request[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_close_context_manager[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_session_auth[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_session_auth_override[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_session_auth_header_conflict[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_session_headers[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_session_headers_merge[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_multidict_headers[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_request_conn_closed[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_dont_close_explicit_connector[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_server_close_keepalive_connection PASSED [ 7%] tests/test_client_functional.py::test_handle_keepalive_on_closed_connection PASSED [ 7%] tests/test_client_functional.py::test_error_in_performing_request[pyloop] XFAIL [ 7%] tests/test_client_functional.py::test_await_after_cancelling[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_async_payload_generator[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_from_closed_response[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_from_closed_response2[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_from_closed_content[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_timeout[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_timeout_closes_connection[pyloop] PASSED [ 7%] tests/test_client_functional.py::test_read_timeout_on_prepared_response[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_timeout_with_full_buffer[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_read_bufsize_session_default[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_read_bufsize_explicit[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_http_empty_data_text[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_field_size_session_default[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_field_size_session_default_fail[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_field_size_session_explicit[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_field_size_request_explicit[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_line_size_session_default[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_line_size_session_default_fail[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_line_size_session_explicit[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_max_line_size_request_explicit[pyloop] PASSED [ 8%] tests/test_client_functional.py::test_rejected_upload[pyloop] XFAIL [ 8%] tests/test_client_proto.py::test_oserror[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_pause_resume_on_error[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_client_proto_bad_message[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_uncompleted_message[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_client_protocol_readuntil_eof[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_empty_data[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_schedule_timeout[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_drop_timeout[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_reschedule_timeout[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_eof_received[pyloop] PASSED [ 8%] tests/test_client_proto.py::test_connection_lost_sets_transport_to_none[pyloop] PASSED [ 8%] tests/test_client_request.py::test_method1[pyloop] PASSED [ 8%] tests/test_client_request.py::test_method2[pyloop] PASSED [ 8%] tests/test_client_request.py::test_method3[pyloop] PASSED [ 8%] tests/test_client_request.py::test_method_invalid[pyloop] PASSED [ 8%] tests/test_client_request.py::test_version_1_0[pyloop] PASSED [ 8%] tests/test_client_request.py::test_version_default[pyloop] PASSED [ 9%] tests/test_client_request.py::test_request_info[pyloop] PASSED [ 9%] tests/test_client_request.py::test_request_info_with_fragment[pyloop] PASSED [ 9%] tests/test_client_request.py::test_version_err[pyloop] PASSED [ 9%] tests/test_client_request.py::test_keep_alive[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_default_http[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_default_https[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_nondefault_http[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_nondefault_https[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_default_ws[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_default_wss[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_nondefault_ws[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_nondefault_wss[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_none_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_port_err[pyloop] PASSED [ 9%] tests/test_client_request.py::test_hostname_err[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_first[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_without_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_with_default_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_with_nondefault_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_idna_encode[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_host_unicode[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_explicit_host[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_explicit_host_with_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_ipv4[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_ipv6[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_ipv4_with_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_ipv6_with_port[pyloop] PASSED [ 9%] tests/test_client_request.py::test_default_loop[pyloop] PASSED [ 9%] tests/test_client_request.py::test_host_header_fqdn[pyloop-dot only at the end] PASSED [ 9%] tests/test_client_request.py::test_host_header_fqdn[pyloop-single dot] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-single dot with port] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-multiple dots with port] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-explicit host header] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-https] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-only dots] PASSED [ 10%] tests/test_client_request.py::test_host_header_fqdn[pyloop-single dot with port idna] PASSED [ 10%] tests/test_client_request.py::test_default_headers_useragent[pyloop] PASSED [ 10%] tests/test_client_request.py::test_default_headers_useragent_custom[pyloop] PASSED [ 10%] tests/test_client_request.py::test_skip_default_useragent_header[pyloop] PASSED [ 10%] tests/test_client_request.py::test_headers[pyloop] PASSED [ 10%] tests/test_client_request.py::test_headers_list[pyloop] PASSED [ 10%] tests/test_client_request.py::test_headers_default[pyloop] PASSED [ 10%] tests/test_client_request.py::test_invalid_url[pyloop] PASSED [ 10%] tests/test_client_request.py::test_no_path[pyloop] PASSED [ 10%] tests/test_client_request.py::test_ipv6_default_http_port[pyloop] PASSED [ 10%] tests/test_client_request.py::test_ipv6_default_https_port[pyloop] PASSED [ 10%] tests/test_client_request.py::test_ipv6_nondefault_http_port[pyloop] PASSED [ 10%] tests/test_client_request.py::test_ipv6_nondefault_https_port[pyloop] PASSED [ 10%] tests/test_client_request.py::test_basic_auth[pyloop] PASSED [ 10%] tests/test_client_request.py::test_basic_auth_utf8[pyloop] PASSED [ 10%] tests/test_client_request.py::test_basic_auth_tuple_forbidden[pyloop] PASSED [ 10%] tests/test_client_request.py::test_basic_auth_from_url[pyloop] PASSED [ 10%] tests/test_client_request.py::test_basic_auth_from_url_overridden[pyloop] PASSED [ 10%] tests/test_client_request.py::test_path_is_not_double_encoded1[pyloop] PASSED [ 10%] tests/test_client_request.py::test_path_is_not_double_encoded2[pyloop] PASSED [ 10%] tests/test_client_request.py::test_path_is_not_double_encoded3[pyloop] PASSED [ 10%] tests/test_client_request.py::test_path_safe_chars_preserved[pyloop] PASSED [ 10%] tests/test_client_request.py::test_params_are_added_before_fragment1[pyloop] PASSED [ 10%] tests/test_client_request.py::test_params_are_added_before_fragment2[pyloop] PASSED [ 10%] tests/test_client_request.py::test_path_not_contain_fragment1[pyloop] PASSED [ 11%] tests/test_client_request.py::test_path_not_contain_fragment2[pyloop] PASSED [ 11%] tests/test_client_request.py::test_cookies[pyloop] PASSED [ 11%] tests/test_client_request.py::test_cookies_is_quoted_with_special_characters[pyloop] PASSED [ 11%] tests/test_client_request.py::test_cookies_merge_with_headers[pyloop] PASSED [ 11%] tests/test_client_request.py::test_unicode_get1[pyloop] PASSED [ 11%] tests/test_client_request.py::test_unicode_get2[pyloop] PASSED [ 11%] tests/test_client_request.py::test_unicode_get3[pyloop] PASSED [ 11%] tests/test_client_request.py::test_unicode_get4[pyloop] PASSED [ 11%] tests/test_client_request.py::test_query_multivalued_param[pyloop] PASSED [ 11%] tests/test_client_request.py::test_query_str_param[pyloop] PASSED [ 11%] tests/test_client_request.py::test_query_bytes_param_raises[pyloop] PASSED [ 11%] tests/test_client_request.py::test_query_str_param_is_not_encoded[pyloop] PASSED [ 11%] tests/test_client_request.py::test_params_update_path_and_url[pyloop] PASSED [ 11%] tests/test_client_request.py::test_params_empty_path_and_url[pyloop] PASSED [ 11%] tests/test_client_request.py::test_gen_netloc_all[pyloop] PASSED [ 11%] tests/test_client_request.py::test_gen_netloc_no_port[pyloop] PASSED [ 11%] tests/test_client_request.py::test_connection_header[pyloop] PASSED [ 11%] tests/test_client_request.py::test_no_content_length[pyloop] PASSED [ 11%] tests/test_client_request.py::test_no_content_length_head[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_auto_header_get[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_auto_header_form[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_auto_header_bytes[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_skip_auto_header_bytes[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_skip_auto_header_form[pyloop] PASSED [ 11%] tests/test_client_request.py::test_content_type_auto_header_content_length_no_skip[pyloop] PASSED [ 11%] tests/test_client_request.py::test_urlencoded_formdata_charset[pyloop] PASSED [ 11%] tests/test_client_request.py::test_post_data[pyloop] PASSED [ 11%] tests/test_client_request.py::test_pass_falsy_data[pyloop] PASSED [ 11%] tests/test_client_request.py::test_pass_falsy_data_file[pyloop] PASSED [ 11%] tests/test_client_request.py::test_get_with_data[pyloop] PASSED [ 11%] tests/test_client_request.py::test_bytes_data[pyloop] PASSED [ 12%] tests/test_client_request.py::test_content_encoding[pyloop] PASSED [ 12%] tests/test_client_request.py::test_content_encoding_dont_set_headers_if_no_body[pyloop] PASSED [ 12%] tests/test_client_request.py::test_content_encoding_header[pyloop] PASSED [ 12%] tests/test_client_request.py::test_compress_and_content_encoding[pyloop] PASSED [ 12%] tests/test_client_request.py::test_chunked[pyloop] PASSED [ 12%] tests/test_client_request.py::test_chunked2[pyloop] PASSED [ 12%] tests/test_client_request.py::test_chunked_explicit[pyloop] PASSED [ 12%] tests/test_client_request.py::test_chunked_length[pyloop] PASSED [ 12%] tests/test_client_request.py::test_chunked_transfer_encoding[pyloop] PASSED [ 12%] tests/test_client_request.py::test_file_upload_not_chunked[pyloop] PASSED [ 12%] tests/test_client_request.py::test_precompressed_data_stays_intact[pyloop] PASSED [ 12%] tests/test_client_request.py::test_file_upload_not_chunked_seek[pyloop] PASSED [ 12%] tests/test_client_request.py::test_file_upload_force_chunked[pyloop] PASSED [ 12%] tests/test_client_request.py::test_expect100[pyloop] PASSED [ 12%] tests/test_client_request.py::test_expect_100_continue_header[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_stream[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_stream_deprecated[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_file[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_stream_exc[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_stream_exc_chain[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_stream_continue[pyloop] PASSED [ 12%] tests/test_client_request.py::test_data_continue[pyloop] PASSED [ 12%] tests/test_client_request.py::test_close[pyloop] PASSED [ 12%] tests/test_client_request.py::test_bad_version[pyloop] PASSED [ 12%] tests/test_client_request.py::test_custom_response_class[pyloop] PASSED [ 12%] tests/test_client_request.py::test_oserror_on_write_bytes[pyloop] PASSED [ 12%] tests/test_client_request.py::test_terminate[pyloop] PASSED [ 12%] tests/test_client_request.py::test_terminate_with_closed_loop[pyloop] PASSED [ 12%] tests/test_client_request.py::test_terminate_without_writer[pyloop] PASSED [ 12%] tests/test_client_request.py::test_custom_req_rep[pyloop] PASSED [ 13%] tests/test_client_request.py::test_verify_ssl_false_with_ssl_context[pyloop] XFAIL [ 13%] tests/test_client_request.py::test_bad_fingerprint[pyloop] PASSED [ 13%] tests/test_client_request.py::test_insecure_fingerprint_md5[pyloop] PASSED [ 13%] tests/test_client_request.py::test_insecure_fingerprint_sha1[pyloop] PASSED [ 13%] tests/test_client_request.py::test_loose_cookies_types[pyloop] PASSED [ 13%] tests/test_client_request.py::test_gen_default_accept_encoding[False-gzip, deflate] PASSED [ 13%] tests/test_client_request.py::test_gen_default_accept_encoding[True-gzip, deflate, br] PASSED [ 13%] tests/test_client_request.py::test_basicauth_from_netrc_present[pyloop-machine example.com login username password pass\n-expected_auth0] PASSED [ 13%] tests/test_client_request.py::test_basicauth_from_netrc_present_untrusted_env[pyloop-machine example.com login username password pass\n] PASSED [ 13%] tests/test_client_request.py::test_basicauth_from_empty_netrc[pyloop-] PASSED [ 13%] tests/test_client_response.py::test_http_processing_error PASSED [ 13%] tests/test_client_response.py::test_del PASSED [ 13%] tests/test_client_response.py::test_close[pyloop] PASSED [ 13%] tests/test_client_response.py::test_wait_for_100_1[pyloop] PASSED [ 13%] tests/test_client_response.py::test_wait_for_100_2[pyloop] PASSED [ 13%] tests/test_client_response.py::test_repr[pyloop] PASSED [ 13%] tests/test_client_response.py::test_repr_non_ascii_url PASSED [ 13%] tests/test_client_response.py::test_repr_non_ascii_reason PASSED [ 13%] tests/test_client_response.py::test_url_obj_deprecated PASSED [ 13%] tests/test_client_response.py::test_read_and_release_connection[pyloop] PASSED [ 13%] tests/test_client_response.py::test_read_and_release_connection_with_error[pyloop] PASSED [ 13%] tests/test_client_response.py::test_release[pyloop] PASSED [ 13%] tests/test_client_response.py::test_release_on_del[pyloop] PASSED [ 13%] tests/test_client_response.py::test_response_eof[pyloop] PASSED [ 13%] tests/test_client_response.py::test_response_eof_upgraded[pyloop] PASSED [ 13%] tests/test_client_response.py::test_response_eof_after_connection_detach[pyloop] PASSED [ 13%] tests/test_client_response.py::test_text[pyloop] PASSED [ 13%] tests/test_client_response.py::test_text_bad_encoding[pyloop] PASSED [ 13%] tests/test_client_response.py::test_text_custom_encoding[pyloop] PASSED [ 13%] tests/test_client_response.py::test_text_charset_resolver[pyloop-text/plain] PASSED [ 14%] tests/test_client_response.py::test_text_charset_resolver[pyloop-text/plain;charset=invalid] PASSED [ 14%] tests/test_client_response.py::test_get_encoding_body_none[pyloop] PASSED [ 14%] tests/test_client_response.py::test_text_after_read[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_extended_content_type[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_custom_content_type[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_custom_loader[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_invalid_content_type[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_no_content[pyloop] PASSED [ 14%] tests/test_client_response.py::test_json_override_encoding[pyloop] PASSED [ 14%] tests/test_client_response.py::test_get_encoding_unknown[pyloop] PASSED [ 14%] tests/test_client_response.py::test_raise_for_status_2xx PASSED [ 14%] tests/test_client_response.py::test_raise_for_status_4xx PASSED [ 14%] tests/test_client_response.py::test_raise_for_status_4xx_without_reason PASSED [ 14%] tests/test_client_response.py::test_resp_host PASSED [ 14%] tests/test_client_response.py::test_content_type PASSED [ 14%] tests/test_client_response.py::test_content_type_no_header PASSED [ 14%] tests/test_client_response.py::test_charset PASSED [ 14%] tests/test_client_response.py::test_charset_no_header PASSED [ 14%] tests/test_client_response.py::test_charset_no_charset PASSED [ 14%] tests/test_client_response.py::test_content_disposition_full PASSED [ 14%] tests/test_client_response.py::test_content_disposition_no_parameters PASSED [ 14%] tests/test_client_response.py::test_content_disposition_no_header PASSED [ 14%] tests/test_client_response.py::test_response_request_info PASSED [ 14%] tests/test_client_response.py::test_request_info_in_exception PASSED [ 14%] tests/test_client_response.py::test_no_redirect_history_in_exception PASSED [ 14%] tests/test_client_response.py::test_redirect_history_in_exception PASSED [ 14%] tests/test_client_response.py::test_response_read_triggers_callback[pyloop] PASSED [ 14%] tests/test_client_response.py::test_response_real_url[pyloop] PASSED [ 14%] tests/test_client_response.py::test_response_links_comma_separated[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_links_multiple_headers[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_links_no_rel[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_links_quoted[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_links_relative[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_links_empty[pyloop] PASSED [ 15%] tests/test_client_response.py::test_response_not_closed_after_get_ok PASSED [ 15%] tests/test_client_session.py::test_close_coro[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_headers_simple_dict[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_headers_list_of_tuples[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_headers_MultiDict[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_headers_list_of_tuples_with_duplicates[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_cookies_with_simple_dict[pyloop] PASSED [ 15%] tests/test_client_session.py::test_init_cookies_with_list_of_tuples[pyloop] PASSED [ 15%] tests/test_client_session.py::test_merge_headers[pyloop] PASSED [ 15%] tests/test_client_session.py::test_merge_headers_with_multi_dict[pyloop] PASSED [ 15%] tests/test_client_session.py::test_merge_headers_with_list_of_tuples[pyloop] PASSED [ 15%] tests/test_client_session.py::test_merge_headers_with_list_of_tuples_duplicated_names[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_GET[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_OPTIONS[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_HEAD[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_POST[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_PUT[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_PATCH[pyloop] PASSED [ 15%] tests/test_client_session.py::test_http_DELETE[pyloop] PASSED [ 15%] tests/test_client_session.py::test_close[pyloop] PASSED [ 15%] tests/test_client_session.py::test_closed[pyloop] PASSED [ 15%] tests/test_client_session.py::test_connector[pyloop] PASSED [ 15%] tests/test_client_session.py::test_create_connector[pyloop] PASSED [ 15%] tests/test_client_session.py::test_connector_loop[pyloop] PASSED [ 15%] tests/test_client_session.py::test_detach[pyloop] PASSED [ 16%] tests/test_client_session.py::test_request_closed_session[pyloop] PASSED [ 16%] tests/test_client_session.py::test_close_flag_for_closed_connector[pyloop] PASSED [ 16%] tests/test_client_session.py::test_double_close[pyloop] PASSED [ 16%] tests/test_client_session.py::test_del[pyloop] PASSED [ 16%] tests/test_client_session.py::test_del_debug[pyloop] PASSED [ 16%] tests/test_client_session.py::test_session_context_manager[pyloop] PASSED [ 16%] tests/test_client_session.py::test_borrow_connector_loop[pyloop] PASSED [ 16%] tests/test_client_session.py::test_reraise_os_error[pyloop] PASSED [ 16%] tests/test_client_session.py::test_close_conn_on_error[pyloop] PASSED [ 16%] tests/test_client_session.py::test_cookie_jar_usage[pyloop] PASSED [ 16%] tests/test_client_session.py::test_session_default_version[pyloop] PASSED [ 16%] tests/test_client_session.py::test_session_loop[pyloop] PASSED [ 16%] tests/test_client_session.py::test_proxy_str[pyloop] PASSED [ 16%] tests/test_client_session.py::test_request_tracing[pyloop] PASSED [ 16%] tests/test_client_session.py::test_request_tracing_exception PASSED [ 16%] tests/test_client_session.py::test_request_tracing_interpose_headers[pyloop] PASSED [ 16%] tests/test_client_session.py::test_client_session_inheritance PASSED [ 16%] tests/test_client_session.py::test_client_session_custom_attr[pyloop] SKIPPED [ 16%] tests/test_client_session.py::test_requote_redirect_url_default PASSED [ 16%] tests/test_client_session.py::test_requote_redirect_url_default_disable PASSED [ 16%] tests/test_client_session.py::test_requote_redirect_setter PASSED [ 16%] tests/test_client_session.py::test_build_url_returns_expected_url[pyloop-base_url=None url='http://example.com/test'] PASSED [ 16%] tests/test_client_session.py::test_build_url_returns_expected_url[pyloop-base_url=None url=URL('http://example.com/test')] PASSED [ 16%] tests/test_client_session.py::test_build_url_returns_expected_url[pyloop-base_url='http://example.com' url='/test'] PASSED [ 16%] tests/test_client_session.py::test_build_url_returns_expected_url[pyloop-base_url=URL('http://example.com') url='/test'] PASSED [ 16%] tests/test_client_ws.py::test_ws_connect[pyloop] PASSED [ 16%] tests/test_client_ws.py::test_ws_connect_with_origin[pyloop] PASSED [ 16%] tests/test_client_ws.py::test_ws_connect_with_params[pyloop] PASSED [ 16%] tests/test_client_ws.py::test_ws_connect_custom_response[pyloop] PASSED [ 16%] tests/test_client_ws.py::test_ws_connect_err_status[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_err_upgrade[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_err_conn[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_err_challenge[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_common_headers[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_close[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_close_eofstream[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_close_exc[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_close_exc2[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_send_data_after_close[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_send_data_type_errors[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_reader_read_exception[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_receive_runtime_err[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_close_resp_on_err[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_non_overlapped_protocols[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_non_overlapped_protocols_2[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_per_message[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_server_not_support[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_notakeover[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_client_wbits[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_client_wbits_bad[pyloop] PASSED [ 17%] tests/test_client_ws.py::test_ws_connect_deflate_server_ext_bad[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_send_recv_text[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_send_recv_bytes_bad_type[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_send_recv_bytes[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_send_recv_text_bad_type[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_send_recv_json[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_ping_pong[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_ping_pong_manual[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_close[pyloop] PASSED [ 17%] tests/test_client_ws_functional.py::test_concurrent_close[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_concurrent_task_close[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_close_from_server[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_close_manual[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_close_timeout[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_close_cancel[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_override_default_headers[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_additional_headers[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_recv_protocol_error[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_recv_timeout[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_receive_timeout[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_custom_receive_timeout[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_heartbeat[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_heartbeat_no_pong[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_send_recv_compress[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_send_recv_compress_wbits[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_send_recv_compress_wbit_error[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_ws_client_async_for[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_ws_async_with[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_ws_async_with_send[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_ws_async_with_shortcut[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_closed_async_for[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_peer_connection_lost[pyloop] PASSED [ 18%] tests/test_client_ws_functional.py::test_peer_connection_lost_iter[pyloop] PASSED [ 18%] tests/test_connector.py::test_connection_del[pyloop] PASSED [ 18%] tests/test_connector.py::test_connection_del_loop_debug[pyloop] PASSED [ 18%] tests/test_connector.py::test_connection_del_loop_closed[pyloop] PASSED [ 18%] tests/test_connector.py::test_del[pyloop] PASSED [ 18%] tests/test_connector.py::test_del_with_scheduled_cleanup[pyloop] XFAIL [ 18%] tests/test_connector.py::test_del_with_closed_loop[pyloop] PASSED [ 18%] tests/test_connector.py::test_del_empty_connector[pyloop] PASSED [ 19%] tests/test_connector.py::test_create_conn[pyloop] PASSED [ 19%] tests/test_connector.py::test_connector_context_manager[pyloop] PASSED [ 19%] tests/test_connector.py::test_async_context_manager[pyloop] PASSED [ 19%] tests/test_connector.py::test_close[pyloop] PASSED [ 19%] tests/test_connector.py::test_get[pyloop] PASSED [ 19%] tests/test_connector.py::test_get_unconnected_proto[pyloop] PASSED [ 19%] tests/test_connector.py::test_get_unconnected_proto_ssl[pyloop] PASSED [ 19%] tests/test_connector.py::test_get_expired[pyloop] PASSED [ 19%] tests/test_connector.py::test_get_expired_ssl[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_acquired[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_acquired_closed[pyloop] PASSED [ 19%] tests/test_connector.py::test_release[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_ssl_transport[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_already_closed[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_no_limit[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_first_available[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_release_first[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_skip_done_waiter[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_per_host[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_waiter_no_available[pyloop] PASSED [ 19%] tests/test_connector.py::test_release_close[pyloop] PASSED [ 19%] tests/test_connector.py::test__drop_acquire_per_host1[pyloop] PASSED [ 19%] tests/test_connector.py::test__drop_acquire_per_host2[pyloop] PASSED [ 19%] tests/test_connector.py::test__drop_acquire_per_host3[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_certificate_error[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_server_hostname_default[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_server_hostname_override[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_multiple_hosts_errors[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_resolve_host[pyloop] PASSED [ 19%] tests/test_connector.py::test_tcp_connector_dns_cache_not_expired[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_cache_forever[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_use_dns_cache_disabled[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_throttle_requests[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_throttle_requests_exception_spread[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_throttle_requests_cancelled_when_close[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_cancel_dns_error_captured[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_tracing[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_tracing_cache_disabled[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_dns_tracing_throttle_requests[pyloop] PASSED [ 20%] tests/test_connector.py::test_dns_error[pyloop] PASSED [ 20%] tests/test_connector.py::test_get_pop_empty_conns[pyloop] PASSED [ 20%] tests/test_connector.py::test_release_close_do_not_add_to_pool[pyloop] PASSED [ 20%] tests/test_connector.py::test_release_close_do_not_delete_existing_connections PASSED [ 20%] tests/test_connector.py::test_release_not_started[pyloop] PASSED [ 20%] tests/test_connector.py::test_release_not_opened[pyloop] PASSED [ 20%] tests/test_connector.py::test_connect[pyloop] PASSED [ 20%] tests/test_connector.py::test_connect_tracing[pyloop] PASSED [ 20%] tests/test_connector.py::test_close_during_connect[pyloop] PASSED [ 20%] tests/test_connector.py::test_ctor_cleanup PASSED [ 20%] tests/test_connector.py::test_cleanup PASSED [ 20%] tests/test_connector.py::test_cleanup_close_ssl_transport PASSED [ 20%] tests/test_connector.py::test_cleanup2 PASSED [ 20%] tests/test_connector.py::test_cleanup3 PASSED [ 20%] tests/test_connector.py::test_cleanup_closed[pyloop] PASSED [ 20%] tests/test_connector.py::test_cleanup_closed_disabled[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_ctor PASSED [ 20%] tests/test_connector.py::test_tcp_connector_ctor_fingerprint_valid[pyloop] PASSED [ 20%] tests/test_connector.py::test_insecure_fingerprint_md5[pyloop] PASSED [ 20%] tests/test_connector.py::test_insecure_fingerprint_sha1[pyloop] PASSED [ 20%] tests/test_connector.py::test_tcp_connector_clear_dns_cache[pyloop] PASSED [ 21%] tests/test_connector.py::test_tcp_connector_clear_dns_cache_bad_args[pyloop] PASSED [ 21%] tests/test_connector.py::test_dont_recreate_ssl_context[pyloop] PASSED [ 21%] tests/test_connector.py::test_dont_recreate_ssl_context2[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context1[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context2[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context3[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context4[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context5[pyloop] PASSED [ 21%] tests/test_connector.py::test___get_ssl_context6[pyloop] PASSED [ 21%] tests/test_connector.py::test_close_twice[pyloop] PASSED [ 21%] tests/test_connector.py::test_close_cancels_cleanup_handle[pyloop] PASSED [ 21%] tests/test_connector.py::test_close_abort_closed_transports[pyloop] PASSED [ 21%] tests/test_connector.py::test_close_cancels_cleanup_closed_handle[pyloop] PASSED [ 21%] tests/test_connector.py::test_ctor_with_default_loop[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_limit[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_queued_operation_tracing[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_reuseconn_tracing[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_limit_and_limit_per_host[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_no_limit_and_limit_per_host[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_no_limits[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_limit_cancelled[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_capacity_release_waiters[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_with_limit_concurrent[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_waiters_cleanup[pyloop] PASSED [ 21%] tests/test_connector.py::test_connect_waiters_cleanup_key_error[pyloop] PASSED [ 21%] tests/test_connector.py::test_close_with_acquired_connection[pyloop] PASSED [ 21%] tests/test_connector.py::test_default_force_close[pyloop] PASSED [ 21%] tests/test_connector.py::test_limit_property[pyloop] PASSED [ 21%] tests/test_connector.py::test_limit_per_host_property[pyloop] PASSED [ 21%] tests/test_connector.py::test_limit_property_default[pyloop] PASSED [ 22%] tests/test_connector.py::test_limit_per_host_property_default[pyloop] PASSED [ 22%] tests/test_connector.py::test_force_close_and_explicit_keep_alive[pyloop] PASSED [ 22%] tests/test_connector.py::test_error_on_connection[pyloop] PASSED [ 22%] tests/test_connector.py::test_cancelled_waiter[pyloop] PASSED [ 22%] tests/test_connector.py::test_error_on_connection_with_cancelled_waiter[pyloop] PASSED [ 22%] tests/test_connector.py::test_tcp_connector[pyloop] PASSED [ 22%] tests/test_connector.py::test_unix_connector_not_found[pyloop] PASSED [ 22%] tests/test_connector.py::test_unix_connector_permission[pyloop] PASSED [ 22%] tests/test_connector.py::test_named_pipe_connector_wrong_loop SKIPPED [ 22%] tests/test_connector.py::test_named_pipe_connector_not_found SKIPPED [ 22%] tests/test_connector.py::test_named_pipe_connector_permission SKIPPED [ 22%] tests/test_connector.py::test_default_use_dns_cache PASSED [ 22%] tests/test_connector.py::test_ssl_none PASSED [ 22%] tests/test_connector.py::test_resolver_not_called_with_address_is_ip[pyloop] PASSED [ 22%] tests/test_connector.py::test_tcp_connector_raise_connector_ssl_error[pyloop] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-ip address] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-domain name] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name with multiple trailing dots] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-idna fully-qualified domain name] XFAIL [ 22%] tests/test_connector.py::test_tcp_connector_uses_provided_local_addr[pyloop] PASSED [ 22%] tests/test_connector.py::test_unix_connector[pyloop] PASSED [ 22%] tests/test_connector.py::test_named_pipe_connector SKIPPED (Proactor Event loop present only in Windows) [ 22%] tests/test_connector.py::TestDNSCacheTable::test_next_addrs_basic PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_remove PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_clear PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_not_expired_ttl_None PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_not_expired_ttl PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_expired_ttl PASSED [ 22%] tests/test_connector.py::TestDNSCacheTable::test_never_expire PASSED [ 23%] tests/test_connector.py::TestDNSCacheTable::test_always_expire PASSED [ 23%] tests/test_connector.py::TestDNSCacheTable::test_next_addrs PASSED [ 23%] tests/test_connector.py::TestDNSCacheTable::test_next_addrs_single PASSED [ 23%] tests/test_connector.py::test_connector_cache_trace_race PASSED [ 23%] tests/test_connector.py::test_connector_throttle_trace_race[pyloop] PASSED [ 23%] tests/test_connector.py::test_connector_does_not_remove_needed_waiters[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_date_parsing PASSED [ 23%] tests/test_cookiejar.py::test_domain_matching PASSED [ 23%] tests/test_cookiejar.py::test_path_matching PASSED [ 23%] tests/test_cookiejar.py::test_constructor[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_constructor_with_expired[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_save_load[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_update_cookie_with_unicode_domain[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_filter_cookie_with_unicode_domain[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_domain_filter_ip_cookie_send[pyloop] PASSED [ 23%] tests/test_cookiejar.py::test_domain_filter_ip_cookie_receive PASSED [ 23%] tests/test_cookiejar.py::test_quotes_correctly_based_on_input[pyloop-IP domain preserved] PASSED [ 23%] tests/test_cookiejar.py::test_quotes_correctly_based_on_input[pyloop-no shared cookie] PASSED [ 23%] tests/test_cookiejar.py::test_quotes_correctly_based_on_input[pyloop-quoted cookie with special char] PASSED [ 23%] tests/test_cookiejar.py::test_quotes_correctly_based_on_input[pyloop-quoted cookie w/o special char] PASSED [ 23%] tests/test_cookiejar.py::test_quotes_correctly_based_on_input[pyloop-unquoted cookie with special char] PASSED [ 23%] tests/test_cookiejar.py::test_ignore_domain_ending_with_dot[pyloop] PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_cookie_not_expired_when_added_after_removal PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_domain_filter_diff_host PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_domain_filter_host_only PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_domain_filter_same_host PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_domain_filter_same_host_and_subdomain PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_domain_filter_same_host_diff_subdomain PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_expires PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_invalid_values PASSED [ 23%] tests/test_cookiejar.py::TestCookieJarSafe::test_max_age PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_diff_folder_same_name PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_diff_folder_same_name_return_best_match_independent_from_put_order PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_different_folder PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_file PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_folder PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_root PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_subfolder PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_filter_subsubfolder PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_path_value PASSED [ 24%] tests/test_cookiejar.py::TestCookieJarSafe::test_secure_filter PASSED [ 24%] tests/test_cookiejar.py::test_dummy_cookie_jar PASSED [ 24%] tests/test_cookiejar.py::test_loose_cookies_types PASSED [ 24%] tests/test_cookiejar.py::test_cookie_jar_clear_all PASSED [ 24%] tests/test_cookiejar.py::test_cookie_jar_clear_expired PASSED [ 24%] tests/test_cookiejar.py::test_cookie_jar_clear_domain PASSED [ 24%] tests/test_cookiejar.py::test_pickle_format PASSED [ 24%] tests/test_cookiejar.py::test_treat_as_secure_origin_init[http://127.0.0.1/index.html] PASSED [ 24%] tests/test_cookiejar.py::test_treat_as_secure_origin_init[url1] PASSED [ 24%] tests/test_cookiejar.py::test_treat_as_secure_origin_init[url2] PASSED [ 24%] tests/test_cookiejar.py::test_treat_as_secure_origin_init[url3] PASSED [ 24%] tests/test_cookiejar.py::test_treat_as_secure_origin PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_read[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_read_resume_paused[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readline[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readline_resume_paused[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readany[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readany_resume_paused[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readchunk[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readchunk_resume_paused[pyloop] PASSED [ 24%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_readexactly[pyloop] PASSED [ 25%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_feed_data[pyloop] PASSED [ 25%] tests/test_flowcontrol_streams.py::TestFlowControlStreamReader::test_read_nowait[pyloop] PASSED [ 25%] tests/test_flowcontrol_streams.py::TestFlowControlDataQueue::test_feed_pause[pyloop] PASSED [ 25%] tests/test_flowcontrol_streams.py::TestFlowControlDataQueue::test_resume_on_read[pyloop] PASSED [ 25%] tests/test_formdata.py::test_formdata_multipart PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_payload PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_params PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_params2 PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_content_type PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_filename PASSED [ 25%] tests/test_formdata.py::test_invalid_formdata_content_transfer_encoding PASSED [ 25%] tests/test_formdata.py::test_formdata_field_name_is_quoted PASSED [ 25%] tests/test_formdata.py::test_formdata_field_name_is_not_quoted PASSED [ 25%] tests/test_formdata.py::test_mark_formdata_as_processed[pyloop] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[-expected0] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[*-expected1] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[application/json-expected2] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[application/json; charset=utf-8-expected3] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[application/json; charset=utf-8;-expected4] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[ApPlIcAtIoN/JSON;ChaRseT="UTF-8"-expected5] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[application/rss+xml-expected6] PASSED [ 25%] tests/test_helpers.py::test_parse_mimetype[text/plain;base64-expected7] PASSED [ 25%] tests/test_helpers.py::test_guess_filename_with_file_object PASSED [ 25%] tests/test_helpers.py::test_guess_filename_with_path PASSED [ 25%] tests/test_helpers.py::test_guess_filename_with_default PASSED [ 25%] tests/test_helpers.py::test_basic_auth1 PASSED [ 25%] tests/test_helpers.py::test_basic_auth2 PASSED [ 25%] tests/test_helpers.py::test_basic_with_auth_colon_in_login PASSED [ 25%] tests/test_helpers.py::test_basic_auth3 PASSED [ 25%] tests/test_helpers.py::test_basic_auth4 PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode[Basic bmtpbTpwd2Q=] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode[basic bmtpbTpwd2Q=] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_invalid PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_not_basic PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_bad_base64 PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_illegal_chars_base64[Basic ???] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_illegal_chars_base64[Basic ] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_invalid_credentials PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_blank_username[:-expected_auth0] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_blank_username[username:-expected_auth1] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_blank_username[:password-expected_auth2] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_decode_blank_username[username:password-expected_auth3] PASSED [ 26%] tests/test_helpers.py::test_basic_auth_from_url PASSED [ 26%] tests/test_helpers.py::test_basic_auth_from_not_url PASSED [ 26%] tests/test_helpers.py::TestPyReify::test_reify PASSED [ 26%] tests/test_helpers.py::TestPyReify::test_reify_class PASSED [ 26%] tests/test_helpers.py::TestPyReify::test_reify_assignment PASSED [ 26%] tests/test_helpers.py::TestCReify::test_reify PASSED [ 26%] tests/test_helpers.py::TestCReify::test_reify_class PASSED [ 26%] tests/test_helpers.py::TestCReify::test_reify_assignment PASSED [ 26%] tests/test_helpers.py::test_is_ip_address PASSED [ 26%] tests/test_helpers.py::test_is_ip_address_bytes PASSED [ 26%] tests/test_helpers.py::test_ipv4_addresses PASSED [ 26%] tests/test_helpers.py::test_ipv6_addresses PASSED [ 26%] tests/test_helpers.py::test_host_addresses PASSED [ 26%] tests/test_helpers.py::test_is_ip_address_invalid_type PASSED [ 26%] tests/test_helpers.py::test_timeout_handle[pyloop] PASSED [ 26%] tests/test_helpers.py::test_when_timeout_smaller_second[pyloop] PASSED [ 26%] tests/test_helpers.py::test_when_timeout_smaller_second_with_low_threshold[pyloop] PASSED [ 26%] tests/test_helpers.py::test_timeout_handle_cb_exc[pyloop] PASSED [ 27%] tests/test_helpers.py::test_timer_context_not_cancelled PASSED [ 27%] tests/test_helpers.py::test_timer_context_no_task[pyloop] PASSED [ 27%] tests/test_helpers.py::test_weakref_handle[pyloop] PASSED [ 27%] tests/test_helpers.py::test_weakref_handle_with_small_threshold[pyloop] PASSED [ 27%] tests/test_helpers.py::test_weakref_handle_weak[pyloop] PASSED [ 27%] tests/test_helpers.py::test_ceil_timeout PASSED [ 27%] tests/test_helpers.py::test_ceil_timeout_round PASSED [ 27%] tests/test_helpers.py::test_ceil_timeout_small PASSED [ 27%] tests/test_helpers.py::test_ceil_call_later_with_small_threshold PASSED [ 27%] tests/test_helpers.py::test_ceil_call_later_no_timeout PASSED [ 27%] tests/test_helpers.py::test_ceil_timeout_none[pyloop] PASSED [ 27%] tests/test_helpers.py::test_ceil_timeout_small_with_overriden_threshold[pyloop] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs0-attachment; foo="bar"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs1-attachment; foo="bar[]"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs2-attachment; foo="\\ a\\"\\"b\\\\"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs3-attachment; foo*=utf-8''b%C3%A4r] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs4-attachment; foo="b\xe4r \\"\\\\"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs5-attachment; foo*=latin-1''b%E4r] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs6-attachment; filename="b%C3%A4r"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs7-attachment; filename="b%E4r"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition[kwargs8-attachment; filename="b\xe4r \\"\\\\"] PASSED [ 27%] tests/test_helpers.py::test_content_disposition_bad_type PASSED [ 27%] tests/test_helpers.py::test_set_content_disposition_bad_param PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env[http] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env[https] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env[ws] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env[wss] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env_skipped[https] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env_skipped[wss] PASSED [ 27%] tests/test_helpers.py::test_proxies_from_env_http_with_auth[http] PASSED [ 28%] tests/test_helpers.py::test_get_running_loop_not_running[pyloop] PASSED [ 28%] tests/test_helpers.py::test_get_running_loop_ok[pyloop] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[url_matches_the_no_proxy_list] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[url_matches_the_no_proxy_list_multiple] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[url_scheme_does_not_match_http_proxy_list] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[url_scheme_does_not_match_https_proxy_list] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[no_proxies_are_set] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url_negative[url_is_empty] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url[url_scheme_match_http_proxy_list] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url[url_scheme_match_https_proxy_list] PASSED [ 28%] tests/test_helpers.py::test_get_env_proxy_for_url[url_scheme_match_http_proxy_list_multiple] PASSED [ 28%] tests/test_helpers.py::test_set_result[pyloop] PASSED [ 28%] tests/test_helpers.py::test_set_result_cancelled[pyloop] PASSED [ 28%] tests/test_helpers.py::test_set_exception[pyloop] PASSED [ 28%] tests/test_helpers.py::test_set_exception_cancelled[pyloop] PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_inheritance PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_getitem PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_getitem_not_found PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_get PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_get_default PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_get_non_default PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_len PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_iter PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_contains PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_bool PASSED [ 28%] tests/test_helpers.py::TestChainMapProxy::test_repr PASSED [ 28%] tests/test_helpers.py::test_parse_http_date[xxyyzz-None] PASSED [ 28%] tests/test_helpers.py::test_parse_http_date[Tue, 08 Oct 4446413 00:56:40 GMT-None] PASSED [ 28%] tests/test_helpers.py::test_parse_http_date[Tue, 08 Oct 2000 00:56:80 GMT-None] PASSED [ 28%] tests/test_helpers.py::test_parse_http_date[Tue, 08 Oct 2000 00:56:40 GMT-expected3] PASSED [ 29%] tests/test_helpers.py::test_parse_http_date[Tue, 08 Oct 2000 00:56:40 +0900-expected4] PASSED [ 29%] tests/test_helpers.py::test_netrc_from_env[machine example.com login username password pass\n-username] PASSED [ 29%] tests/test_helpers.py::test_netrc_from_home_does_not_raise_if_access_denied PASSED [ 29%] tests/test_helpers.py::test_basicauth_present_in_netrc[machine example.com login username password pass\n-expected_auth0] PASSED [ 29%] tests/test_helpers.py::test_basicauth_present_in_netrc[machine example.com account username password pass\n-expected_auth1] PASSED [ 29%] tests/test_helpers.py::test_basicauth_present_in_netrc[machine example.com password pass\n-expected_auth2] PASSED [ 29%] tests/test_helpers.py::test_read_basicauth_from_empty_netrc[] PASSED [ 29%] tests/test_helpers.py::test_method_must_be_empty_body PASSED [ 29%] tests/test_helpers.py::test_should_remove_content_length_is_subset_of_must_be_empty_body PASSED [ 29%] tests/test_http_exceptions.py::TestHttpProcessingError::test_ctor PASSED [ 29%] tests/test_http_exceptions.py::TestHttpProcessingError::test_pickle PASSED [ 29%] tests/test_http_exceptions.py::TestHttpProcessingError::test_str PASSED [ 29%] tests/test_http_exceptions.py::TestHttpProcessingError::test_repr PASSED [ 29%] tests/test_http_exceptions.py::TestBadHttpMessage::test_ctor PASSED [ 29%] tests/test_http_exceptions.py::TestBadHttpMessage::test_pickle PASSED [ 29%] tests/test_http_exceptions.py::TestBadHttpMessage::test_str PASSED [ 29%] tests/test_http_exceptions.py::TestBadHttpMessage::test_repr PASSED [ 29%] tests/test_http_exceptions.py::TestLineTooLong::test_ctor PASSED [ 29%] tests/test_http_exceptions.py::TestLineTooLong::test_pickle PASSED [ 29%] tests/test_http_exceptions.py::TestLineTooLong::test_str PASSED [ 29%] tests/test_http_exceptions.py::TestLineTooLong::test_repr PASSED [ 29%] tests/test_http_exceptions.py::TestInvalidHeader::test_ctor PASSED [ 29%] tests/test_http_exceptions.py::TestInvalidHeader::test_pickle PASSED [ 29%] tests/test_http_exceptions.py::TestInvalidHeader::test_str PASSED [ 29%] tests/test_http_exceptions.py::TestInvalidHeader::test_repr PASSED [ 29%] tests/test_http_exceptions.py::TestBadStatusLine::test_ctor PASSED [ 29%] tests/test_http_exceptions.py::TestBadStatusLine::test_ctor2 PASSED [ 29%] tests/test_http_exceptions.py::TestBadStatusLine::test_pickle PASSED [ 29%] tests/test_http_parser.py::test_c_parser_loaded PASSED [ 29%] tests/test_http_parser.py::test_parse_headers[py-parser-pyloop] PASSED [ 29%] tests/test_http_parser.py::test_parse_headers[c-parser-pyloop] PASSED [ 30%] tests/test_http_parser.py::test_invalid_character[pyloop] PASSED [ 30%] tests/test_http_parser.py::test_invalid_linebreak[pyloop] PASSED [ 30%] tests/test_http_parser.py::test_cve_2023_37276[py-parser-pyloop] PASSED [ 30%] tests/test_http_parser.py::test_cve_2023_37276[c-parser-pyloop] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-"] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-(] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-)] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-,] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-/] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-:] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-;] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-<] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-=] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop->] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-?] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-@] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-[] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-\\] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-]] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-{] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[py-parser-pyloop-}] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-"] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-(] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-)] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-,] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-/] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-:] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-;] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-<] PASSED [ 30%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-=] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop->] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-?] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-@] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-[] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-\\] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-]] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-{] PASSED [ 31%] tests/test_http_parser.py::test_bad_header_name[c-parser-pyloop-}] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Content-Length: -5] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Content-Length: +256] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Content-Length: \xb9] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Content-Length: \U0001d7d9] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Foo: abc\rdef] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Bar: abc\ndef] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Baz: abc\x00def] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Foo : bar] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-Foo\t: bar] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[py-parser-pyloop-\xffoo: bar] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Content-Length: -5] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Content-Length: +256] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Content-Length: \xb9] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Content-Length: \U0001d7d9] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Foo: abc\rdef] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Bar: abc\ndef] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Baz: abc\x00def] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Foo : bar] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-Foo\t: bar] PASSED [ 31%] tests/test_http_parser.py::test_bad_headers[c-parser-pyloop-\xffoo: bar] PASSED [ 31%] tests/test_http_parser.py::test_unpaired_surrogate_in_header_py[pyloop] PASSED [ 31%] tests/test_http_parser.py::test_content_length_transfer_encoding[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_content_length_transfer_encoding[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_bad_chunked_py[pyloop] PASSED [ 32%] tests/test_http_parser.py::test_bad_chunked_c[pyloop] PASSED [ 32%] tests/test_http_parser.py::test_whitespace_before_header[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_whitespace_before_header[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_headers_longline[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_headers_longline[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_unusual_request_line[py-parser-pyloop] XFAIL [ 32%] tests/test_http_parser.py::test_parse_unusual_request_line[c-parser-pyloop] XFAIL [ 32%] tests/test_http_parser.py::test_parse[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_body[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_body[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_body_with_CRLF[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_body_with_CRLF[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_delayed[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_delayed[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_headers_multi_feed[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_headers_multi_feed[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_headers_split_field[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_headers_split_field[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_headers_multi[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_parse_headers_multi[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_default_1_0[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_default_1_0[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_default_1_1[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_default_1_1[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_close[py-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_close[c-parser-pyloop] PASSED [ 32%] tests/test_http_parser.py::test_conn_close_1_0[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_close_1_0[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_keep_alive_1_0[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_keep_alive_1_0[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_keep_alive_1_1[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_keep_alive_1_1[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_other_1_0[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_other_1_0[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_other_1_1[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_other_1_1[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_chunked[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_chunked[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_te_chunked_with_content_length[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_te_chunked_with_content_length[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_te_chunked123[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_request_te_chunked123[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_upgrade[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_conn_upgrade[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_bad_upgrade[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_bad_upgrade[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_empty[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_empty[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_deflate[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_deflate[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_gzip[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_gzip[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_brotli[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_brotli[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_unknown[py-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_compression_unknown[c-parser-pyloop] PASSED [ 33%] tests/test_http_parser.py::test_url_connect[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_url_connect[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_connect[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_connect[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_url_absolute[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_url_absolute[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_old_websocket_key1[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_old_websocket_key1[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_content_length_err_1[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_content_length_err_1[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_content_length_err_2[py-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_headers_content_length_err_2[c-parser-pyloop] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-empty-name-empty] XFAIL [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-empty-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-NUL-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-NUL-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-SP-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-SP-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-SPSP-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-SPSP-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-LF-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-LF-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-NBSP-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-NBSP-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-TABSP-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-TABSP-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-empty-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-empty-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-NUL-name-empty] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-NUL-with-name] PASSED [ 34%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-SP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-SP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-SPSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-SPSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-LF-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-LF-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-NBSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-NBSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-TABSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NUL-post-TABSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-empty-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-empty-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-NUL-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-NUL-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-SP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-SP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-SPSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-SPSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-LF-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-LF-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-NBSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-NBSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-TABSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SP-post-TABSP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-empty-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-empty-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-NUL-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-NUL-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-SP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-SP-with-name] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-SPSP-name-empty] PASSED [ 35%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-SPSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-LF-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-LF-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-NBSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-NBSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-TABSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-SPSP-post-TABSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-empty-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-empty-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-NUL-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-NUL-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-SP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-SP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-SPSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-SPSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-LF-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-LF-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-NBSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-NBSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-TABSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-LF-post-TABSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-empty-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-empty-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-NUL-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-NUL-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-SP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-SP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-SPSP-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-SPSP-with-name] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-LF-name-empty] PASSED [ 36%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-LF-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-NBSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-NBSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-TABSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-NBSP-post-TABSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-empty-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-empty-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-NUL-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-NUL-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-SP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-SP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-SPSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-SPSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-LF-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-LF-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-NBSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-NBSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-TABSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-TABSP-post-TABSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-empty-name-empty] XFAIL [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-empty-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-NUL-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-NUL-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-SP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-SP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-SPSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-SPSP-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-LF-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-LF-with-name] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-NBSP-name-empty] PASSED [ 37%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-NBSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-TABSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-TABSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-empty-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-empty-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-NUL-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-NUL-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-SP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-SP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-SPSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-SPSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-LF-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-LF-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-NBSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-NBSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-TABSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NUL-post-TABSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-empty-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-empty-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-NUL-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-NUL-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-SP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-SP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-SPSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-SPSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-LF-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-LF-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-NBSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-NBSP-with-name] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-TABSP-name-empty] PASSED [ 38%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SP-post-TABSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-empty-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-empty-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-NUL-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-NUL-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-SP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-SP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-SPSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-SPSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-LF-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-LF-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-NBSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-NBSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-TABSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-SPSP-post-TABSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-empty-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-empty-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-NUL-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-NUL-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-SP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-SP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-SPSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-SPSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-LF-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-LF-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-NBSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-NBSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-TABSP-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-LF-post-TABSP-with-name] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-empty-name-empty] PASSED [ 39%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-empty-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-NUL-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-NUL-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-SP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-SP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-SPSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-SPSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-LF-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-LF-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-NBSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-NBSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-TABSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-NBSP-post-TABSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-empty-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-empty-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-NUL-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-NUL-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-SP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-SP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-SPSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-SPSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-LF-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-LF-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-NBSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-NBSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-TABSP-name-empty] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-TABSP-post-TABSP-with-name] PASSED [ 40%] tests/test_http_parser.py::test_empty_header_name[py-parser-pyloop] XFAIL [ 40%] tests/test_http_parser.py::test_empty_header_name[c-parser-pyloop] XFAIL [ 40%] tests/test_http_parser.py::test_invalid_header[py-parser-pyloop] PASSED [ 40%] tests/test_http_parser.py::test_invalid_header[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_invalid_name[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_invalid_name[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size[py-parser-pyloop-40960] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size[py-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size[c-parser-pyloop-40960] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size[c-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size_under_limit[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_field_size_under_limit[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size[py-parser-pyloop-40960] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size[py-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size[c-parser-pyloop-40960] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size[c-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_under_limit[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_under_limit[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation[py-parser-pyloop-40965] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation[py-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation[c-parser-pyloop-40965] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation[c-parser-pyloop-8191] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation_under_limit[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_max_header_value_size_continuation_under_limit[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_http_request_parser[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_http_request_parser[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line[py-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line[c-parser-pyloop] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[py-parser-pyloop-utf8digit] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[py-parser-pyloop-utf8number] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[py-parser-pyloop-latin1number] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[c-parser-pyloop-utf8digit] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[c-parser-pyloop-utf8number] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_number[c-parser-pyloop-latin1number] PASSED [ 41%] tests/test_http_parser.py::test_http_request_bad_status_line_separator[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_bad_status_line_separator[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_bad_status_line_whitespace[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_bad_status_line_whitespace[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_upgrade[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_upgrade[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_utf8_request_line[py-parser-pyloop] XFAIL [ 42%] tests/test_http_parser.py::test_http_request_parser_utf8_request_line[c-parser-pyloop] XFAIL [ 42%] tests/test_http_parser.py::test_http_request_parser_utf8[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_utf8[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_non_utf8[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_non_utf8[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_two_slashes[py-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_two_slashes[c-parser-pyloop] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-"] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-(] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-)] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-,] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-/] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-:] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-;] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-<] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-=] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop->] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-?] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-@] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-[] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-\] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-]] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-{] PASSED [ 42%] tests/test_http_parser.py::test_http_request_parser_bad_method[py-parser-pyloop-}] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-"] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-(] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-)] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-,] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-/] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-:] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-;] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-<] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-=] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop->] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-?] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-@] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-[] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-\] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-]] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-{] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_method[c-parser-pyloop-}] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_version[py-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_version[c-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_version_number[py-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_version_number[c-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_ascii_uri[py-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_ascii_uri[c-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_nonascii_uri[py-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_parser_bad_nonascii_uri[c-parser-pyloop] PASSED [ 43%] tests/test_http_parser.py::test_http_request_max_status_line[py-parser-pyloop-40965] PASSED [ 43%] tests/test_http_parser.py::test_http_request_max_status_line[py-parser-pyloop-8191] PASSED [ 43%] tests/test_http_parser.py::test_http_request_max_status_line[c-parser-pyloop-40965] PASSED [ 43%] tests/test_http_parser.py::test_http_request_max_status_line[c-parser-pyloop-8191] PASSED [ 43%] tests/test_http_parser.py::test_http_request_max_status_line_under_limit[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_request_max_status_line_under_limit[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_utf8[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_utf8[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_utf8_without_reason[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_utf8_without_reason[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_status_line_too_long[py-parser-pyloop-40962] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_status_line_too_long[py-parser-pyloop-8191] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_status_line_too_long[c-parser-pyloop-40962] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_status_line_too_long[c-parser-pyloop-8191] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_status_line_under_limit[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_status_line_under_limit[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_version[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_version[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_version_number[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_version_number[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_no_reason[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_no_reason[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_lenient_headers[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_lenient_headers[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_crlf[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_crlf[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_chunked_lax[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad_chunked_lax[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_bad[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_code_under_100[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_code_under_100[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_code_above_999[py-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_code_above_999[c-parser-pyloop] PASSED [ 44%] tests/test_http_parser.py::test_http_response_parser_code_not_int[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_int[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[py-parser-pyloop-utf8digit] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[py-parser-pyloop-utf8number] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[py-parser-pyloop-latin1number] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[c-parser-pyloop-utf8digit] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[c-parser-pyloop-utf8number] PASSED [ 45%] tests/test_http_parser.py::test_http_response_parser_code_not_ascii[c-parser-pyloop-latin1number] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload_and_next_message[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload_and_next_message[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload_chunks[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_http_request_chunked_payload_chunks[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_chunk_extension[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_chunk_extension[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_payload_response_without_body[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_payload_response_without_body[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_length_payload[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_length_payload[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_no_length_payload[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_no_length_payload[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_content_length_payload_multiple[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_content_length_payload_multiple[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_content_length_than_chunked_payload[py-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_content_length_than_chunked_payload[c-parser-pyloop] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[py-parser-pyloop-204] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[py-parser-pyloop-304] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[py-parser-pyloop-101] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[py-parser-pyloop-102] PASSED [ 45%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[c-parser-pyloop-204] PASSED [ 46%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[c-parser-pyloop-304] PASSED [ 46%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[c-parser-pyloop-101] PASSED [ 46%] tests/test_http_parser.py::test_parse_chunked_payload_empty_body_than_another_chunked[c-parser-pyloop-102] PASSED [ 46%] tests/test_http_parser.py::test_partial_url[py-parser-pyloop] PASSED [ 46%] tests/test_http_parser.py::test_partial_url[c-parser-pyloop] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path%23frag-/path#frag-query0-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path%2523frag-/path%23frag-query1-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path?key=value%23frag-/path-query2-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path?key=value%2523frag-/path-query3-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path#frag%20-/path-query4-frag ] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[py-parser-pyloop-/path#frag%2520-/path-query5-frag%20] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path%23frag-/path#frag-query0-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path%2523frag-/path%23frag-query1-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path?key=value%23frag-/path-query2-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path?key=value%2523frag-/path-query3-] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path#frag%20-/path-query4-frag ] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_percent_encoded[c-parser-pyloop-/path#frag%2520-/path-query5-frag%20] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_utf8[py-parser-pyloop] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_utf8[c-parser-pyloop] XFAIL [ 46%] tests/test_http_parser.py::test_parse_uri_utf8_percent_encoded[py-parser-pyloop] PASSED [ 46%] tests/test_http_parser.py::test_parse_uri_utf8_percent_encoded[c-parser-pyloop] PASSED [ 46%] tests/test_http_parser.py::test_parse_bad_method_for_c_parser_raises[pyloop] PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_eof_payload PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_no_body PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_length_payload_eof PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_size_error PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end2 PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end_trailers PASSED [ 46%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end_trailers2 PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end_trailers3 PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_parse_chunked_payload_split_end_trailers4 PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_length PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_deflate PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_deflate_no_hdrs PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_deflate_light PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_deflate_split PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_deflate_split_err PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_parser_length_zero PASSED [ 47%] tests/test_http_parser.py::TestParsePayload::test_http_payload_brotli PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_data PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_data_err PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_eof PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_eof_err_deflate PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_eof_no_err_gzip PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_feed_eof_no_err_brotli PASSED [ 47%] tests/test_http_parser.py::TestDeflateBuffer::test_empty_body PASSED [ 47%] tests/test_http_writer.py::test_payloadwriter_properties[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_eof[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_chunked[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_chunked_multiple[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_length[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_chunked_filter[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_chunked_filter_mutiple_chunks[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_deflate_compression[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_deflate_and_chunked[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_bytes_memoryview[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_short_ints_memoryview[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_2d_shape_memoryview[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_payload_slicing_long_memoryview[pyloop] PASSED [ 47%] tests/test_http_writer.py::test_write_drain[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_write_calls_callback[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_write_eof_calls_callback[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_write_to_closing_transport[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_write_to_closed_transport[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_drain[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_drain_no_transport[pyloop] PASSED [ 48%] tests/test_http_writer.py::test_write_headers_prevents_injection[pyloop] PASSED [ 48%] tests/test_imports.py::test___all__ PASSED [ 48%] tests/test_imports.py::test_web___all__ PASSED [ 48%] tests/test_locks.py::TestEventResultOrError::test_set_exception[pyloop] PASSED [ 48%] tests/test_locks.py::TestEventResultOrError::test_set[pyloop] PASSED [ 48%] tests/test_locks.py::TestEventResultOrError::test_cancel_waiters[pyloop] PASSED [ 48%] tests/test_loop.py::test_subprocess_co[pyloop] PASSED [ 48%] tests/test_loop.py::TestCase::test_default_loop PASSED [ 48%] tests/test_loop.py::TestCase::test_on_startup_hook PASSED [ 48%] tests/test_loop.py::test_default_loop[pyloop] PASSED [ 48%] tests/test_loop.py::test_setup_loop_non_main_thread PASSED [ 48%] tests/test_multipart.py::TestMultipartResponseWrapper::test_at_eof PASSED [ 48%] tests/test_multipart.py::TestMultipartResponseWrapper::test_next PASSED [ 48%] tests/test_multipart.py::TestMultipartResponseWrapper::test_release PASSED [ 48%] tests/test_multipart.py::TestMultipartResponseWrapper::test_release_when_stream_at_eof PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_next PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_next_next PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_chunk_at_eof PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_chunk_without_content_length PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_incomplete_chunk PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_all_at_once PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_incomplete_body_chunked PASSED [ 48%] tests/test_multipart.py::TestPartReader::test_read_boundary_with_incomplete_chunk PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_multi_read_chunk PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_chunk_properly_counts_read_bytes PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_does_not_read_boundary PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_multiread PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_multiline PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_respects_content_length PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_encoding_gzip PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_encoding_deflate PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_encoding_identity PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_encoding_unknown PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_base64 PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_quoted_printable PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_binary[binary] PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_binary[8bit] PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_binary[7bit] PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_with_content_transfer_encoding_unknown PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text_default_encoding PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text_encoding PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text_guess_encoding PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text_compressed PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_text_while_closed PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_json PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_json_encoding PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_json_guess_encoding PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_json_compressed PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_json_while_closed PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_form PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_form_invalid_utf8 PASSED [ 49%] tests/test_multipart.py::TestPartReader::test_read_form_encoding PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_read_form_guess_encoding PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_read_form_while_closed PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_readline PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_release PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_release_respects_content_length PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_release_release PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_filename PASSED [ 50%] tests/test_multipart.py::TestPartReader::test_reading_long_part PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_from_response PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_bad_boundary PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_dispatch PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_dispatch_bodypart PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_dispatch_multipart PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_dispatch_custom_multipart_reader PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_emit_next PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_invalid_boundary PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_release PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_release_release PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_release_next PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_second_next_releases_previous_object PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_release_without_read_the_last_object PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_read_chunk_by_length_doesnt_breaks_reader PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_read_chunk_from_stream_doesnt_breaks_reader PASSED [ 50%] tests/test_multipart.py::TestMultipartReader::test_reading_skips_prelude PASSED [ 50%] tests/test_multipart.py::test_writer PASSED [ 50%] tests/test_multipart.py::test_writer_serialize_io_chunk PASSED [ 50%] tests/test_multipart.py::test_writer_serialize_json PASSED [ 50%] tests/test_multipart.py::test_writer_serialize_form PASSED [ 50%] tests/test_multipart.py::test_writer_serialize_form_dict PASSED [ 50%] tests/test_multipart.py::test_writer_write PASSED [ 51%] tests/test_multipart.py::test_writer_write_no_close_boundary PASSED [ 51%] tests/test_multipart.py::test_writer_write_no_parts PASSED [ 51%] tests/test_multipart.py::test_writer_serialize_with_content_encoding_gzip PASSED [ 51%] tests/test_multipart.py::test_writer_serialize_with_content_encoding_deflate PASSED [ 51%] tests/test_multipart.py::test_writer_serialize_with_content_encoding_identity PASSED [ 51%] tests/test_multipart.py::test_writer_serialize_with_content_encoding_unknown PASSED [ 51%] tests/test_multipart.py::test_writer_with_content_transfer_encoding_base64 PASSED [ 51%] tests/test_multipart.py::test_writer_content_transfer_encoding_quote_printable PASSED [ 51%] tests/test_multipart.py::test_writer_content_transfer_encoding_unknown PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_default_subtype PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_unquoted_boundary PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_quoted_boundary PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_bad_boundary PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_default_headers PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_iter_parts PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_with_headers PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_json PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_part PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_json_overrides_content_type PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_form PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_multipart PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_with PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_int_not_allowed PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_float_not_allowed PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_append_none_not_allowed PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_write_preserves_content_disposition PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_preserve_content_disposition_header PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_set_content_disposition_override PASSED [ 51%] tests/test_multipart.py::TestMultipartWriter::test_reset_content_disposition_header PASSED [ 52%] tests/test_multipart.py::test_async_for_reader PASSED [ 52%] tests/test_multipart.py::test_async_for_bodypart PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_parse_empty PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_inlonly PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_inlonlyquoted PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_semicolon PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_inlwithasciifilename PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_inlwithfnattach PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attonly PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attonlyquoted PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attonlyucase PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilename PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_inlwithasciifilenamepdf PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilename25 PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilename35 PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifnescapedchar PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifnescapedquote PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithquotedsemicolon SKIPPED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfilenameandextparam PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfilenameandextparamescaped PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilenameucase PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilenamenq PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithtokfncommanq PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilenamenqs PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attemptyparam PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilenamenqws PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfntokensq PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithisofnplain PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithutf8fnplain PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfnrawpctenca PASSED [ 52%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfnusingpct PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfnrawpctencaq PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithnamepct PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfilenamepctandiso PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfnrawpctenclong PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithasciifilenamews1 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwith2filenames PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnbrokentoken PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnbrokentokeniso PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnbrokentokenutf PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdisposition PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdisposition2 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdisposition3 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdisposition4 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_emptydisposition PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_doublecolon PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attandinline PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attandinline2 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attbrokenquotedfn PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attbrokenquotedfn2 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attbrokenquotedfn3 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmultinstances PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdelim PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdelim2 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmissingdelim3 PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attreversed PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attconfusedparam PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attabspath PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attabspathwin PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attcdate PASSED [ 53%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attmdate PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_dispext PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_dispextbadfn PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithisofn2231iso PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231utf8 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231noc PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231utf8comp PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231utf8_bad SKIPPED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231iso_bad SKIPPED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231ws1 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231ws2 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231ws3 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231quot PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231quot2 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231singleqmissing PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231nbadpct1 SKIPPED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231nbadpct2 SKIPPED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231dpct PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attwithfn2231abspathdisguised PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncont PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncontqs PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncontenc PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncontlz PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncontnc PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnconts1 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfncontord PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnboth PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnboth2 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attfnboth3 PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attnewandfn PASSED [ 54%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attrfc2047token PASSED [ 55%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_attrfc2047quoted PASSED [ 55%] tests/test_multipart_helpers.py::TestParseContentDisposition::test_bad_continuous_param PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_no_filename PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_filename PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_filename_ext PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfncont PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfncontqs PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfncontenc PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfncontlz PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfncontnc PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfnconts1 PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfnboth PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attfnboth3 PASSED [ 55%] tests/test_multipart_helpers.py::TestContentDispositionFilename::test_attrfc2047quoted PASSED [ 55%] tests/test_payload.py::test_register_type PASSED [ 55%] tests/test_payload.py::test_register_unsupported_order PASSED [ 55%] tests/test_payload.py::test_payload_ctor PASSED [ 55%] tests/test_payload.py::test_payload_content_type PASSED [ 55%] tests/test_payload.py::test_bytes_payload_default_content_type PASSED [ 55%] tests/test_payload.py::test_bytes_payload_explicit_content_type PASSED [ 55%] tests/test_payload.py::test_bytes_payload_bad_type PASSED [ 55%] tests/test_payload.py::test_bytes_payload_memoryview_correct_size PASSED [ 55%] tests/test_payload.py::test_string_payload PASSED [ 55%] tests/test_payload.py::test_string_io_payload PASSED [ 55%] tests/test_payload.py::test_async_iterable_payload_default_content_type PASSED [ 55%] tests/test_payload.py::test_async_iterable_payload_explicit_content_type PASSED [ 55%] tests/test_payload.py::test_async_iterable_payload_not_async_iterable PASSED [ 55%] tests/test_payload.py::test_stream_reader_long_lines PASSED [ 55%] tests/test_proxy.py::TestProxy::test_connect PASSED [ 55%] tests/test_proxy.py::TestProxy::test_https_auth PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect_certificate_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect_http_proxy_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect_pass_ssl_context PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect_resp_start_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_https_connect_ssl_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_auth PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_auth_property PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_auth_property_default PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_connection_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_dns_error PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_headers PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_server_hostname_default PASSED [ 56%] tests/test_proxy.py::TestProxy::test_proxy_server_hostname_override PASSED [ 56%] tests/test_proxy.py::TestProxy::test_request_port PASSED [ 56%] tests/test_pytest_plugin.py::test_warning_checks PASSED [ 56%] tests/test_resolver.py::test_async_resolver_positive_lookup[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_query_positive_lookup[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_multiple_replies[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_query_multiple_replies[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_negative_lookup[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_query_negative_lookup[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_no_hosts_in_query[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_async_resolver_no_hosts_in_gethostbyname[pyloop] SKIPPED [ 56%] tests/test_resolver.py::test_threaded_resolver_positive_lookup PASSED [ 56%] tests/test_resolver.py::test_threaded_resolver_multiple_replies PASSED [ 56%] tests/test_resolver.py::test_threaded_negative_lookup PASSED [ 56%] tests/test_resolver.py::test_threaded_negative_lookup_with_unknown_result PASSED [ 56%] tests/test_resolver.py::test_close_for_threaded_resolver[pyloop] PASSED [ 56%] tests/test_resolver.py::test_close_for_async_resolver[pyloop] SKIPPED [ 57%] tests/test_resolver.py::test_default_loop_for_threaded_resolver[pyloop] PASSED [ 57%] tests/test_resolver.py::test_default_loop_for_async_resolver[pyloop] SKIPPED [ 57%] tests/test_resolver.py::test_async_resolver_ipv6_positive_lookup[pyloop] SKIPPED [ 57%] tests/test_resolver.py::test_async_resolver_query_ipv6_positive_lookup[pyloop] SKIPPED [ 57%] tests/test_resolver.py::test_async_resolver_aiodns_not_present[pyloop] PASSED [ 57%] tests/test_resolver.py::test_default_resolver PASSED [ 57%] tests/test_route_def.py::test_get PASSED [ 57%] tests/test_route_def.py::test_head PASSED [ 57%] tests/test_route_def.py::test_options PASSED [ 57%] tests/test_route_def.py::test_post PASSED [ 57%] tests/test_route_def.py::test_put PASSED [ 57%] tests/test_route_def.py::test_patch PASSED [ 57%] tests/test_route_def.py::test_delete PASSED [ 57%] tests/test_route_def.py::test_route PASSED [ 57%] tests/test_route_def.py::test_static PASSED [ 57%] tests/test_route_def.py::test_head_deco PASSED [ 57%] tests/test_route_def.py::test_get_deco PASSED [ 57%] tests/test_route_def.py::test_post_deco PASSED [ 57%] tests/test_route_def.py::test_put_deco PASSED [ 57%] tests/test_route_def.py::test_patch_deco PASSED [ 57%] tests/test_route_def.py::test_delete_deco PASSED [ 57%] tests/test_route_def.py::test_options_deco PASSED [ 57%] tests/test_route_def.py::test_route_deco PASSED [ 57%] tests/test_route_def.py::test_routedef_sequence_protocol PASSED [ 57%] tests/test_route_def.py::test_repr_route_def PASSED [ 57%] tests/test_route_def.py::test_repr_route_def_with_extra_info PASSED [ 57%] tests/test_route_def.py::test_repr_static_def PASSED [ 57%] tests/test_route_def.py::test_repr_route_table_def PASSED [ 57%] tests/test_run_app.py::test_run_app_http[pyloop] PASSED [ 57%] tests/test_run_app.py::test_run_app_close_loop[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Nothing Specified] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Port Only] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Hosts] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths, Port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths, Single Host] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Single Path, Single Host] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Single Path, Multiple Hosts] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Single Path, Port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths, Multiple Hosts, Port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Only socket] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Socket, port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Socket, Host, No port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-reuse_port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-reuse_address] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-reuse_port, reuse_address] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Port, reuse_port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Hosts, reuse_port] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths, Port, reuse_address] PASSED [ 58%] tests/test_run_app.py::test_run_app_mixed_bindings[pyloop-Multiple Paths, Single Host, reuse_address, reuse_port] PASSED [ 58%] tests/test_run_app.py::test_run_app_https[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_nondefault_host_port[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_multiple_hosts[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_custom_backlog[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_custom_backlog_unix[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_http_unix_socket[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_https_unix_socket[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_abstract_linux_socket[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_preexisting_inet_socket[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_preexisting_inet6_socket[pyloop] PASSED [ 58%] tests/test_run_app.py::test_run_app_preexisting_unix_socket[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_multiple_preexisting_sockets[pyloop] PASSED [ 59%] tests/test_run_app.py::test_sigint PASSED [ 59%] tests/test_run_app.py::test_sigterm PASSED [ 59%] tests/test_run_app.py::test_startup_cleanup_signals_even_on_failure[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_coro[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_default_logger[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_default_logger_setup_requires_debug[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_default_logger_setup_requires_default_logger[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_default_logger_setup_only_if_unconfigured[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_cancels_all_pending_tasks[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_cancels_done_tasks[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_cancels_failed_tasks[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_keepalive_timeout[pyloop] PASSED [ 59%] tests/test_run_app.py::test_run_app_context_vars[pyloop] PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_task PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_timeout_task PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_spawned_task PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_timeout_not_reached PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_new_conn_rejected PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_pending_handler_responds PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_close_idle_keepalive PASSED [ 59%] tests/test_run_app.py::TestShutdown::test_shutdown_close_websockets PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_create_waiter PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_ctor_global_loop PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_at_eof PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_wait_eof PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_wait_eof_eof PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_feed_empty_data PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_feed_nonempty_data PASSED [ 59%] tests/test_streams.py::TestStreamReader::test_read_zero PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_line_breaks PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_all PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_up_to PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_eof PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_eof_infinite PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_eof_unread_data_no_warning PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_until_eof PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_read_exception PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_limit_with_existing_data PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_limit PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_nolimit_nowait PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_eof PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_empty_eof PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_read_byte_count PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readline_exception PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil[*] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil[**] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_limit_with_existing_data[&] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_limit_with_existing_data[&&] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_limit[$] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_limit[$$] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_nolimit_nowait[!] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_nolimit_nowait[!!] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_eof[@] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_eof[@@] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_empty_eof[@] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_empty_eof[@@] PASSED [ 60%] tests/test_streams.py::TestStreamReader::test_readuntil_read_byte_count[!] PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readuntil_read_byte_count[!!] PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readuntil_exception[#] PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readuntil_exception[##] PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readexactly_zero_or_less PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readexactly PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readexactly_eof PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readexactly_exception PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_unread_data PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_exception PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_exception_waiter PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_exception_cancel PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readany_eof PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readany_empty_eof PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readany_exception PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_read_nowait PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_read_nowait_n PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_read_nowait_exception PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_read_nowait_waiter PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readchunk PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readchunk_wait_eof PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_begin_and_end_chunk_receiving PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readany_chunk_end_race PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_end_chunk_receiving_without_begin PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readchunk_with_unread PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readchunk_with_other_read_calls PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_chunksplits_memory_leak PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_read_empty_chunks PASSED [ 61%] tests/test_streams.py::TestStreamReader::test_readchunk_separate_http_chunk_tail PASSED [ 61%] tests/test_streams.py::TestStreamReader::test___repr__ PASSED [ 61%] tests/test_streams.py::TestStreamReader::test___repr__nondefault_limit PASSED [ 62%] tests/test_streams.py::TestStreamReader::test___repr__eof PASSED [ 62%] tests/test_streams.py::TestStreamReader::test___repr__data PASSED [ 62%] tests/test_streams.py::TestStreamReader::test___repr__exception PASSED [ 62%] tests/test_streams.py::TestStreamReader::test___repr__waiter PASSED [ 62%] tests/test_streams.py::TestStreamReader::test_unread_empty PASSED [ 62%] tests/test_streams.py::test_empty_stream_reader PASSED [ 62%] tests/test_streams.py::test_empty_stream_reader_iter_chunks PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_is_eof[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_at_eof[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_feed_data[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_feed_eof[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_eof[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_cancelled[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_until_eof[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_exc[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_exception[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_exception_with_data[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_read_exception_on_wait[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_exception[pyloop] PASSED [ 62%] tests/test_streams.py::TestDataQueue::test_exception_waiter[pyloop] PASSED [ 62%] tests/test_streams.py::test_feed_data_waiters PASSED [ 62%] tests/test_streams.py::test_feed_data_completed_waiters PASSED [ 62%] tests/test_streams.py::test_feed_eof_waiters PASSED [ 62%] tests/test_streams.py::test_feed_eof_cancelled PASSED [ 62%] tests/test_streams.py::test_on_eof PASSED [ 62%] tests/test_streams.py::test_on_eof_empty_reader PASSED [ 62%] tests/test_streams.py::test_on_eof_exc_in_callback PASSED [ 62%] tests/test_streams.py::test_on_eof_exc_in_callback_empty_stream_reader PASSED [ 62%] tests/test_streams.py::test_on_eof_eof_is_set PASSED [ 63%] tests/test_streams.py::test_on_eof_eof_is_set_exception PASSED [ 63%] tests/test_streams.py::test_set_exception PASSED [ 63%] tests/test_streams.py::test_set_exception_cancelled PASSED [ 63%] tests/test_streams.py::test_set_exception_eof_callbacks PASSED [ 63%] tests/test_streams.py::test_stream_reader_lines PASSED [ 63%] tests/test_streams.py::test_stream_reader_chunks_complete PASSED [ 63%] tests/test_streams.py::test_stream_reader_chunks_incomplete PASSED [ 63%] tests/test_streams.py::test_data_queue_empty PASSED [ 63%] tests/test_streams.py::test_data_queue_items PASSED [ 63%] tests/test_streams.py::test_stream_reader_iter_any PASSED [ 63%] tests/test_streams.py::test_stream_reader_iter PASSED [ 63%] tests/test_streams.py::test_stream_reader_iter_chunks_no_chunked_encoding PASSED [ 63%] tests/test_streams.py::test_stream_reader_iter_chunks_chunked_encoding PASSED [ 63%] tests/test_streams.py::test_isinstance_check PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_exception PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_enable PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_enable_and_disable PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_enable_ipv6 PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_enable_unix PASSED [ 63%] tests/test_tcp_helpers.py::test_tcp_nodelay_enable_no_socket PASSED [ 63%] tests/test_test_utils.py::test_with_test_server_fails PASSED [ 63%] tests/test_test_utils.py::test_with_client_fails PASSED [ 63%] tests/test_test_utils.py::test_aiohttp_client_close_is_idempotent PASSED [ 63%] tests/test_test_utils.py::TestAioHTTPTestCase::test_example_with_loop PASSED [ 63%] tests/test_test_utils.py::TestAioHTTPTestCase::test_example_without_explicit_loop PASSED [ 63%] tests/test_test_utils.py::TestAioHTTPTestCase::test_inner_example PASSED [ 63%] tests/test_test_utils.py::TestAioHTTPTestCase::test_inner_example_without_explicit_loop PASSED [ 63%] tests/test_test_utils.py::test_unittest_run_loop PASSED [ 63%] tests/test_test_utils.py::test_get_route PASSED [ 63%] tests/test_test_utils.py::test_client_websocket PASSED [ 64%] tests/test_test_utils.py::test_client_cookie PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[get] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[post0] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[options] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[post1] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[put] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[patch] PASSED [ 64%] tests/test_test_utils.py::test_test_client_methods[delete] PASSED [ 64%] tests/test_test_utils.py::test_test_client_head PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request[headers0] PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request[headers1] PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request[headers2] PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_sslcontext PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_unknown_extra_info PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_app PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_app_can_store_values PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_app_access_non_existing PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_match_info PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_content PASSED [ 64%] tests/test_test_utils.py::test_make_mocked_request_transport PASSED [ 64%] tests/test_test_utils.py::test_test_client_props PASSED [ 64%] tests/test_test_utils.py::test_test_client_raw_server_props PASSED [ 64%] tests/test_test_utils.py::test_test_server_context_manager PASSED [ 64%] tests/test_test_utils.py::test_client_unsupported_arg PASSED [ 64%] tests/test_test_utils.py::test_server_make_url_yarl_compatibility PASSED [ 64%] tests/test_test_utils.py::test_testcase_no_app PASSED [ 64%] tests/test_test_utils.py::test_server_context_manager PASSED [ 64%] tests/test_test_utils.py::test_client_context_manager_response[head] PASSED [ 64%] tests/test_test_utils.py::test_client_context_manager_response[get] PASSED [ 64%] tests/test_test_utils.py::test_client_context_manager_response[post0] PASSED [ 64%] tests/test_test_utils.py::test_client_context_manager_response[options] PASSED [ 65%] tests/test_test_utils.py::test_client_context_manager_response[post1] PASSED [ 65%] tests/test_test_utils.py::test_client_context_manager_response[put] PASSED [ 65%] tests/test_test_utils.py::test_client_context_manager_response[patch] PASSED [ 65%] tests/test_test_utils.py::test_client_context_manager_response[delete] PASSED [ 65%] tests/test_test_utils.py::test_custom_port PASSED [ 65%] tests/test_test_utils.py::test_base_test_server_socket_factory[TestServer] PASSED [ 65%] tests/test_test_utils.py::test_base_test_server_socket_factory[RawTestServer] PASSED [ 65%] tests/test_tracing.py::TestTraceConfig::test_trace_config_ctx_default PASSED [ 65%] tests/test_tracing.py::TestTraceConfig::test_trace_config_ctx_factory PASSED [ 65%] tests/test_tracing.py::TestTraceConfig::test_trace_config_ctx_request_ctx PASSED [ 65%] tests/test_tracing.py::TestTraceConfig::test_freeze PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[request_start-params0-TraceRequestStartParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[request_chunk_sent-params1-TraceRequestChunkSentParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[response_chunk_received-params2-TraceResponseChunkReceivedParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[request_end-params3-TraceRequestEndParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[request_exception-params4-TraceRequestExceptionParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[request_redirect-params5-TraceRequestRedirectParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[connection_queued_start-params6-TraceConnectionQueuedStartParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[connection_queued_end-params7-TraceConnectionQueuedEndParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[connection_create_start-params8-TraceConnectionCreateStartParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[connection_create_end-params9-TraceConnectionCreateEndParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[connection_reuseconn-params10-TraceConnectionReuseconnParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[dns_resolvehost_start-params11-TraceDnsResolveHostStartParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[dns_resolvehost_end-params12-TraceDnsResolveHostEndParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[dns_cache_hit-params13-TraceDnsCacheHitParams] PASSED [ 65%] tests/test_tracing.py::TestTrace::test_send[dns_cache_miss-params14-TraceDnsCacheMissParams] PASSED [ 65%] tests/test_urldispatch.py::test_register_uncommon_http_methods PASSED [ 65%] tests/test_urldispatch.py::test_add_route_root PASSED [ 65%] tests/test_urldispatch.py::test_add_route_simple PASSED [ 65%] tests/test_urldispatch.py::test_add_with_matchdict PASSED [ 66%] tests/test_urldispatch.py::test_add_with_matchdict_with_colon PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_get_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_post_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_put_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_patch_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_delete_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_route_with_add_head_shortcut PASSED [ 66%] tests/test_urldispatch.py::test_add_with_name PASSED [ 66%] tests/test_urldispatch.py::test_add_with_tailing_slash PASSED [ 66%] tests/test_urldispatch.py::test_add_invalid_path PASSED [ 66%] tests/test_urldispatch.py::test_add_url_invalid1 PASSED [ 66%] tests/test_urldispatch.py::test_add_url_invalid2 PASSED [ 66%] tests/test_urldispatch.py::test_add_url_invalid3 PASSED [ 66%] tests/test_urldispatch.py::test_add_url_invalid4 PASSED [ 66%] tests/test_urldispatch.py::test_add_url_escaping PASSED [ 66%] tests/test_urldispatch.py::test_any_method PASSED [ 66%] tests/test_urldispatch.py::test_match_second_result_in_table PASSED [ 66%] tests/test_urldispatch.py::test_raise_method_not_allowed PASSED [ 66%] tests/test_urldispatch.py::test_raise_method_not_found PASSED [ 66%] tests/test_urldispatch.py::test_double_add_url_with_the_same_name PASSED [ 66%] tests/test_urldispatch.py::test_route_plain PASSED [ 66%] tests/test_urldispatch.py::test_route_unknown_route_name PASSED [ 66%] tests/test_urldispatch.py::test_route_dynamic PASSED [ 66%] tests/test_urldispatch.py::test_add_static PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version_set_from_constructor PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version_override_constructor PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version_filename_without_slash PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version_non_exists_file PASSED [ 66%] tests/test_urldispatch.py::test_add_static_append_version_non_exists_file_without_slash PASSED [ 67%] tests/test_urldispatch.py::test_add_static_append_version_follow_symlink PASSED [ 67%] tests/test_urldispatch.py::test_add_static_append_version_not_follow_symlink PASSED [ 67%] tests/test_urldispatch.py::test_add_static_quoting PASSED [ 67%] tests/test_urldispatch.py::test_plain_not_match PASSED [ 67%] tests/test_urldispatch.py::test_dynamic_not_match PASSED [ 67%] tests/test_urldispatch.py::test_static_not_match PASSED [ 67%] tests/test_urldispatch.py::test_dynamic_with_trailing_slash PASSED [ 67%] tests/test_urldispatch.py::test_len PASSED [ 67%] tests/test_urldispatch.py::test_iter PASSED [ 67%] tests/test_urldispatch.py::test_contains PASSED [ 67%] tests/test_urldispatch.py::test_static_repr PASSED [ 67%] tests/test_urldispatch.py::test_static_adds_slash PASSED [ 67%] tests/test_urldispatch.py::test_static_remove_trailing_slash PASSED [ 67%] tests/test_urldispatch.py::test_add_route_with_re PASSED [ 67%] tests/test_urldispatch.py::test_add_route_with_re_and_slashes PASSED [ 67%] tests/test_urldispatch.py::test_add_route_with_re_not_match PASSED [ 67%] tests/test_urldispatch.py::test_add_route_with_re_including_slashes PASSED [ 67%] tests/test_urldispatch.py::test_add_route_with_invalid_re PASSED [ 67%] tests/test_urldispatch.py::test_route_dynamic_with_regex_spec PASSED [ 67%] tests/test_urldispatch.py::test_route_dynamic_with_regex_spec_and_trailing_slash PASSED [ 67%] tests/test_urldispatch.py::test_route_dynamic_with_regex PASSED [ 67%] tests/test_urldispatch.py::test_route_dynamic_quoting PASSED [ 67%] tests/test_urldispatch.py::test_regular_match_info PASSED [ 67%] tests/test_urldispatch.py::test_match_info_with_plus PASSED [ 67%] tests/test_urldispatch.py::test_not_found_repr PASSED [ 67%] tests/test_urldispatch.py::test_not_allowed_repr PASSED [ 67%] tests/test_urldispatch.py::test_default_expect_handler PASSED [ 67%] tests/test_urldispatch.py::test_custom_expect_handler_plain PASSED [ 67%] tests/test_urldispatch.py::test_custom_expect_handler_dynamic PASSED [ 67%] tests/test_urldispatch.py::test_expect_handler_non_coroutine PASSED [ 68%] tests/test_urldispatch.py::test_dynamic_match_non_ascii PASSED [ 68%] tests/test_urldispatch.py::test_dynamic_match_with_static_part PASSED [ 68%] tests/test_urldispatch.py::test_dynamic_match_two_part2 PASSED [ 68%] tests/test_urldispatch.py::test_dynamic_match_unquoted_path PASSED [ 68%] tests/test_urldispatch.py::test_add_route_not_started_with_slash PASSED [ 68%] tests/test_urldispatch.py::test_add_route_invalid_method PASSED [ 68%] tests/test_urldispatch.py::test_routes_view_len PASSED [ 68%] tests/test_urldispatch.py::test_routes_view_iter PASSED [ 68%] tests/test_urldispatch.py::test_routes_view_contains PASSED [ 68%] tests/test_urldispatch.py::test_routes_abc PASSED [ 68%] tests/test_urldispatch.py::test_named_resources_abc PASSED [ 68%] tests/test_urldispatch.py::test_named_resources PASSED [ 68%] tests/test_urldispatch.py::test_resource_iter PASSED [ 68%] tests/test_urldispatch.py::test_deprecate_bare_generators PASSED [ 68%] tests/test_urldispatch.py::test_view_route PASSED [ 68%] tests/test_urldispatch.py::test_resource_route_match PASSED [ 68%] tests/test_urldispatch.py::test_error_on_double_route_adding PASSED [ 68%] tests/test_urldispatch.py::test_error_on_adding_route_after_wildcard PASSED [ 68%] tests/test_urldispatch.py::test_http_exception_is_none_when_resolved PASSED [ 68%] tests/test_urldispatch.py::test_http_exception_is_not_none_when_not_resolved PASSED [ 68%] tests/test_urldispatch.py::test_match_info_get_info_plain PASSED [ 68%] tests/test_urldispatch.py::test_match_info_get_info_dynamic PASSED [ 68%] tests/test_urldispatch.py::test_match_info_get_info_dynamic2 PASSED [ 68%] tests/test_urldispatch.py::test_static_resource_get_info PASSED [ 68%] tests/test_urldispatch.py::test_system_route_get_info PASSED [ 68%] tests/test_urldispatch.py::test_resources_view_len PASSED [ 68%] tests/test_urldispatch.py::test_resources_view_iter PASSED [ 68%] tests/test_urldispatch.py::test_resources_view_contains PASSED [ 68%] tests/test_urldispatch.py::test_resources_abc PASSED [ 68%] tests/test_urldispatch.py::test_static_route_user_home PASSED [ 69%] tests/test_urldispatch.py::test_static_route_points_to_file PASSED [ 69%] tests/test_urldispatch.py::test_404_for_static_resource PASSED [ 69%] tests/test_urldispatch.py::test_405_for_resource_adapter PASSED [ 69%] tests/test_urldispatch.py::test_check_allowed_method_for_found_resource PASSED [ 69%] tests/test_urldispatch.py::test_url_for_in_static_resource PASSED [ 69%] tests/test_urldispatch.py::test_url_for_in_static_resource_pathlib PASSED [ 69%] tests/test_urldispatch.py::test_url_for_in_resource_route PASSED [ 69%] tests/test_urldispatch.py::test_subapp_get_info PASSED [ 69%] tests/test_urldispatch.py::test_domain_validation_error[None-TypeError] PASSED [ 69%] tests/test_urldispatch.py::test_domain_validation_error[-ValueError] PASSED [ 69%] tests/test_urldispatch.py::test_domain_validation_error[http://dom-ValueError] PASSED [ 69%] tests/test_urldispatch.py::test_domain_validation_error[*.example.com-ValueError] PASSED [ 69%] tests/test_urldispatch.py::test_domain_validation_error[example$com-ValueError] PASSED [ 69%] tests/test_urldispatch.py::test_domain_valid PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[example.com-example.com-True] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[example.com:81-example.com:81-True] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[example.com:81-example.com-False] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[\u043f\u0443\u043d\u0438\u043a\u043e\u0434-xn--d1ahgkhc2a-True] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[*.example.com-jpg.example.com-True] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[*.example.com-a.example.com-True] PASSED [ 69%] tests/test_urldispatch.py::test_match_domain[*.example.com-example.com-False] PASSED [ 69%] tests/test_urldispatch.py::test_add_subapp_errors PASSED [ 69%] tests/test_urldispatch.py::test_subapp_rule_resource PASSED [ 69%] tests/test_urldispatch.py::test_add_domain_not_str[pyloop] PASSED [ 69%] tests/test_urldispatch.py::test_add_domain[pyloop] PASSED [ 69%] tests/test_urldispatch.py::test_subapp_url_for PASSED [ 69%] tests/test_urldispatch.py::test_subapp_repr PASSED [ 69%] tests/test_urldispatch.py::test_subapp_len PASSED [ 69%] tests/test_urldispatch.py::test_subapp_iter PASSED [ 69%] tests/test_urldispatch.py::test_invalid_route_name PASSED [ 70%] tests/test_urldispatch.py::test_frozen_router PASSED [ 70%] tests/test_urldispatch.py::test_frozen_router_subapp PASSED [ 70%] tests/test_urldispatch.py::test_frozen_app_on_subapp PASSED [ 70%] tests/test_urldispatch.py::test_set_options_route PASSED [ 70%] tests/test_urldispatch.py::test_dynamic_url_with_name_started_from_underscore PASSED [ 70%] tests/test_urldispatch.py::test_cannot_add_subapp_with_empty_prefix PASSED [ 70%] tests/test_urldispatch.py::test_cannot_add_subapp_with_slash_prefix PASSED [ 70%] tests/test_urldispatch.py::test_convert_empty_path_to_slash_on_freezing PASSED [ 70%] tests/test_urldispatch.py::test_deprecate_non_coroutine PASSED [ 70%] tests/test_urldispatch.py::test_plain_resource_canonical PASSED [ 70%] tests/test_urldispatch.py::test_dynamic_resource_canonical PASSED [ 70%] tests/test_urldispatch.py::test_static_resource_canonical PASSED [ 70%] tests/test_urldispatch.py::test_prefixed_subapp_resource_canonical PASSED [ 70%] tests/test_urldispatch.py::test_prefixed_subapp_overlap PASSED [ 70%] tests/test_urldispatch.py::test_prefixed_subapp_empty_route PASSED [ 70%] tests/test_urldispatch.py::test_prefixed_subapp_root_route PASSED [ 70%] tests/test_web_app.py::test_app_ctor PASSED [ 70%] tests/test_web_app.py::test_app_call PASSED [ 70%] tests/test_web_app.py::test_app_default_loop PASSED [ 70%] tests/test_web_app.py::test_set_loop PASSED [ 70%] tests/test_web_app.py::test_set_loop_default_loop PASSED [ 70%] tests/test_web_app.py::test_set_loop_with_different_loops PASSED [ 70%] tests/test_web_app.py::test_app_make_handler_debug_exc[True] PASSED [ 70%] tests/test_web_app.py::test_app_make_handler_debug_exc[False] PASSED [ 70%] tests/test_web_app.py::test_app_make_handler_args PASSED [ 70%] tests/test_web_app.py::test_app_make_handler_access_log_class PASSED [ 70%] tests/test_web_app.py::test_app_make_handler_raises_deprecation_warning PASSED [ 70%] tests/test_web_app.py::test_app_register_on_finish PASSED [ 70%] tests/test_web_app.py::test_app_register_coro PASSED [ 70%] tests/test_web_app.py::test_non_default_router PASSED [ 70%] tests/test_web_app.py::test_logging PASSED [ 71%] tests/test_web_app.py::test_on_shutdown PASSED [ 71%] tests/test_web_app.py::test_on_startup PASSED [ 71%] tests/test_web_app.py::test_appkey PASSED [ 71%] tests/test_web_app.py::test_appkey_repr_concrete PASSED [ 71%] tests/test_web_app.py::test_appkey_repr_nonconcrete PASSED [ 71%] tests/test_web_app.py::test_appkey_repr_annotated PASSED [ 71%] tests/test_web_app.py::test_app_str_keys PASSED [ 71%] tests/test_web_app.py::test_app_get PASSED [ 71%] tests/test_web_app.py::test_app_freeze PASSED [ 71%] tests/test_web_app.py::test_equality PASSED [ 71%] tests/test_web_app.py::test_app_run_middlewares PASSED [ 71%] tests/test_web_app.py::test_subapp_pre_frozen_after_adding PASSED [ 71%] tests/test_web_app.py::test_app_inheritance PASSED [ 71%] tests/test_web_app.py::test_app_custom_attr SKIPPED (The check is applied in DEBUG mode only) [ 71%] tests/test_web_app.py::test_cleanup_ctx PASSED [ 71%] tests/test_web_app.py::test_cleanup_ctx_exception_on_startup PASSED [ 71%] tests/test_web_app.py::test_cleanup_ctx_exception_on_cleanup PASSED [ 71%] tests/test_web_app.py::test_cleanup_ctx_cleanup_after_exception PASSED [ 71%] tests/test_web_app.py::test_cleanup_ctx_exception_on_cleanup_multiple PASSED [ 71%] tests/test_web_app.py::test_cleanup_ctx_multiple_yields PASSED [ 71%] tests/test_web_app.py::test_subapp_chained_config_dict_visibility[pyloop] PASSED [ 71%] tests/test_web_app.py::test_subapp_chained_config_dict_overriding[pyloop] PASSED [ 71%] tests/test_web_app.py::test_subapp_on_startup[pyloop] PASSED [ 71%] tests/test_web_app.py::test_app_iter PASSED [ 71%] tests/test_web_app.py::test_app_boolean PASSED [ 71%] tests/test_web_cli.py::test_entry_func_empty PASSED [ 71%] tests/test_web_cli.py::test_entry_func_only_module PASSED [ 71%] tests/test_web_cli.py::test_entry_func_only_function PASSED [ 71%] tests/test_web_cli.py::test_entry_func_only_separator PASSED [ 71%] tests/test_web_cli.py::test_entry_func_relative_module PASSED [ 72%] tests/test_web_cli.py::test_entry_func_non_existent_module PASSED [ 72%] tests/test_web_cli.py::test_entry_func_non_existent_attribute PASSED [ 72%] tests/test_web_cli.py::test_path_when_unsupported PASSED [ 72%] tests/test_web_cli.py::test_entry_func_call PASSED [ 72%] tests/test_web_cli.py::test_running_application PASSED [ 72%] tests/test_web_exceptions.py::test_all_http_exceptions_exported PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPOk PASSED [ 72%] tests/test_web_exceptions.py::test_terminal_classes_has_status_code PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPFound PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPFound_empty_location PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPFound_location_CRLF PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPMethodNotAllowed PASSED [ 72%] tests/test_web_exceptions.py::test_override_body_with_text PASSED [ 72%] tests/test_web_exceptions.py::test_override_body_with_binary PASSED [ 72%] tests/test_web_exceptions.py::test_default_body PASSED [ 72%] tests/test_web_exceptions.py::test_empty_body_204 PASSED [ 72%] tests/test_web_exceptions.py::test_empty_body_205 PASSED [ 72%] tests/test_web_exceptions.py::test_empty_body_304 PASSED [ 72%] tests/test_web_exceptions.py::test_no_link_451 PASSED [ 72%] tests/test_web_exceptions.py::test_link_none_451 PASSED [ 72%] tests/test_web_exceptions.py::test_link_empty_451 PASSED [ 72%] tests/test_web_exceptions.py::test_link_str_451 PASSED [ 72%] tests/test_web_exceptions.py::test_link_url_451 PASSED [ 72%] tests/test_web_exceptions.py::test_link_CRLF_451 PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPException_retains_cause PASSED [ 72%] tests/test_web_exceptions.py::test_HTTPException_retains_cookie[pyloop] PASSED [ 72%] tests/test_web_exceptions.py::test_unicode_text_body_unauthorized PASSED [ 72%] tests/test_web_functional.py::test_simple_get[pyloop] PASSED [ 72%] tests/test_web_functional.py::test_simple_get_with_text[pyloop] PASSED [ 72%] tests/test_web_functional.py::test_handler_returns_not_response[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_handler_returns_none[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_head_returns_empty_body[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_response_before_complete[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_form[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_text[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_json[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_multipart[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_multipart_empty[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_multipart_content_transfer_encoding[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_render_redirect[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_single_file[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_files_upload_with_same_key[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_files[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_release_post_data[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_POST_DATA_with_content_transfer_encoding[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_post_form_with_duplicate_keys[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_repr_for_application PASSED [ 73%] tests/test_web_functional.py::test_expect_default_handler_unknown[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_100_continue[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_100_continue_custom[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_100_continue_custom_response[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_expect_handler_custom_response[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_100_continue_for_not_found[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_100_continue_for_not_allowed[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_http11_keep_alive_default[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_http10_keep_alive_default[pyloop] XFAIL [ 73%] tests/test_web_functional.py::test_http10_keep_alive_with_headers_close[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_http10_keep_alive_with_headers[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_upload_file[pyloop] PASSED [ 73%] tests/test_web_functional.py::test_upload_file_object[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-get] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-post0] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-options] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-post1] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-put] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-patch] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_without_body[pyloop-delete] PASSED [ 74%] tests/test_web_functional.py::test_empty_content_for_query_with_body[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_get_with_empty_arg[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_large_header[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_large_header_allowed[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_get_with_empty_arg_with_equal[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_async_gen[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_streamer[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_async_gen_no_params[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_streamer_no_params[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_file[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_file_ctype[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_payload_disp[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_payload_stringio[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_response_with_precompressed_body[pyloop-compressor0-gzip] PASSED [ 74%] tests/test_web_functional.py::test_response_with_precompressed_body[pyloop-compressor1-deflate] PASSED [ 74%] tests/test_web_functional.py::test_response_with_precompressed_body[pyloop-compressor2-deflate] PASSED [ 74%] tests/test_web_functional.py::test_response_with_precompressed_body_brotli[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_bad_request_payload[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_stream_response_multiple_chunks[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_start_without_routes[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_requests_count[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_redirect_url[pyloop] PASSED [ 74%] tests/test_web_functional.py::test_simple_subapp[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_reverse_url[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_reverse_variable_url[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_reverse_static_url[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_app[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_not_found[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_not_found2[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_not_allowed[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_cannot_add_app_in_handler[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middlewares[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_on_response_prepare[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_on_startup[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_on_shutdown[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_on_cleanup[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/sub/-expected0-AC] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/-expected1-AC] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/sub/-expected2-A] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/-expected3-A] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/sub/-expected4-C] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/-expected5-C] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/sub/-expected6-] PASSED [ 75%] tests/test_web_functional.py::test_subapp_middleware_context[pyloop-/-expected7-] PASSED [ 75%] tests/test_web_functional.py::test_custom_date_header[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_response_prepared_with_clone[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_app_max_client_size[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_app_max_client_size_adjusted[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_app_max_client_size_none[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_post_max_client_size[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_post_max_client_size_for_file[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_response_with_bodypart[pyloop] PASSED [ 75%] tests/test_web_functional.py::test_response_with_bodypart_named[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_response_with_bodypart_invalid_name[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_request_clone[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_await[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_response_context_manager[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_response_context_manager_error[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_context_manager_close_on_release[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_iter_any[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_request_tracing[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_return_http_exception_deprecated[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_request_path[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_app_add_routes[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_request_headers_type[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_signal_on_error_handler[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_bad_method_for_c_http_parser_not_hangs[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_read_bufsize[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_auto_decompress[pyloop-True-uncompressed] PASSED [ 76%] tests/test_web_functional.py::test_auto_decompress[pyloop-False-compressed] PASSED [ 76%] tests/test_web_functional.py::test_response_101_204_no_content_length_http11[pyloop-101] PASSED [ 76%] tests/test_web_functional.py::test_response_101_204_no_content_length_http11[pyloop-204] PASSED [ 76%] tests/test_web_functional.py::test_stream_response_headers_204[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_httpfound_cookies_302[pyloop] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version0-101] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version0-204] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version0-304] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version1-101] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version1-204] PASSED [ 76%] tests/test_web_functional.py::test_no_body_for_1xx_204_304_responses[pyloop-version1-304] PASSED [ 76%] tests/test_web_log.py::test_access_logger_format PASSED [ 76%] tests/test_web_log.py::test_access_logger_atoms[%t-[01/Jan/1843:00:29:56 +0800]-extra0] PASSED [ 76%] tests/test_web_log.py::test_access_logger_atoms[%a %t %P %r %s %b %T %Tf %D "%{H1}i" "%{H2}i"-127.0.0.2 [01/Jan/1843:00:29:56 +0800] <42> GET /path HTTP/1.1 200 42 3 3.141593 3141593 "a" "b"-extra1] PASSED [ 76%] tests/test_web_log.py::test_access_logger_dicts PASSED [ 77%] tests/test_web_log.py::test_access_logger_unix_socket PASSED [ 77%] tests/test_web_log.py::test_logger_no_message PASSED [ 77%] tests/test_web_log.py::test_logger_internal_error PASSED [ 77%] tests/test_web_log.py::test_logger_no_transport PASSED [ 77%] tests/test_web_log.py::test_logger_abc PASSED [ 77%] tests/test_web_log.py::test_contextvars_logger[pyloop] PASSED [ 77%] tests/test_web_log.py::test_logger_does_nothing_when_disabled PASSED [ 77%] tests/test_web_middleware.py::test_middleware_modifies_response[pyloop] PASSED [ 77%] tests/test_web_middleware.py::test_middleware_handles_exception[pyloop] PASSED [ 77%] tests/test_web_middleware.py::test_middleware_chain[pyloop] PASSED [ 77%] tests/test_web_middleware.py::test_middleware_subapp[pyloop] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource1-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource1/-404] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2/-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource1?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource1/?p1=1&p2=2-404] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2/?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2/a/b%2Fc-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_add_trailing_when_necessary[pyloop-/resource2/a/b%2Fc/-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource1-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource1/-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2-404] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2/-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource1?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource1/?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2?p1=1&p2=2-404] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2/?p1=1&p2=2-200] PASSED [ 77%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2/a/b%2Fc-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_trailing_when_necessary[pyloop-/resource2/a/b%2Fc/-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource1-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource1/-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2/-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource1?p1=1&p2=2-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource1/?p1=1&p2=2-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2?p1=1&p2=2-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2/?p1=1&p2=2-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2/a/b%2Fc-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_no_trailing_slash_when_disabled[pyloop-/resource2/a/b%2Fc/-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/resource1/a/b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-//resource1//a//b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-//resource1//a//b/-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-///resource1//a//b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/////resource1/a///b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/////resource1/a//b/-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/resource1/a/b?p=1-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-//resource1//a//b?p=1-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-//resource1//a//b/?p=1-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-///resource1//a//b?p=1-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/////resource1/a///b?p=1-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_merge_slash[pyloop-/////resource1/a//b/?p=1-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource1/a/b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource1/a/b/-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b-200_0] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b/-200_0] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource1//a//b-200] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource1//a//b/-404] PASSED [ 78%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource1/a///b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource1/a///b/-404] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource2/a/b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b-200_1] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b/-200_1] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource2//a//b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource2//a//b/-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource2/a///b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource2/a///b/-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource1/a/b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource1/a/b/?p=1-404] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b?p=1-200_0] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b/?p=1-200_0] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource1//a//b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource1//a//b/?p=1-404] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource1/a///b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource1/a///b/?p=1-404] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/resource2/a/b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b?p=1-200_1] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-//resource2//a//b/?p=1-200_1] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource2//a//b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-///resource2//a//b/?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource2/a///b?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_append_and_merge_slash[pyloop-/////resource2/a///b/?p=1-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource1/a/b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource1/a/b/-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b-404_0] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b/-200_0] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource1//a//b-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource1//a//b/-200] PASSED [ 79%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource1/a///b-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource1/a///b/-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource1/a///b///-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource2/a/b-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b-404_1] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b/-200_1] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource2//a//b-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource2//a//b/-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource2/a///b-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource2/a///b/-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource1/a/b?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource1/a/b/?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b?p=1-404_0] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b/?p=1-200_0] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource1//a//b?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource1//a//b/?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource1/a///b?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource1/a///b/?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/resource2/a/b?p=1-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b?p=1-404_1] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-//resource2//a//b/?p=1-200_1] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource2//a//b?p=1-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-///resource2//a//b/?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource2/a///b?p=1-404] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_remove_and_merge_slash[pyloop-/////resource2/a///b/?p=1-200] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_cannot_remove_and_add_slash PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_open_redirects[pyloop-True-False] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_open_redirects[pyloop-False-True] PASSED [ 80%] tests/test_web_middleware.py::TestNormalizePathMiddleware::test_open_redirects[pyloop-False-False] PASSED [ 80%] tests/test_web_middleware.py::test_old_style_middleware[pyloop] PASSED [ 80%] tests/test_web_middleware.py::test_old_style_middleware_class[pyloop] PASSED [ 81%] tests/test_web_middleware.py::test_new_style_middleware_class[pyloop] PASSED [ 81%] tests/test_web_middleware.py::test_new_style_middleware_method[pyloop] PASSED [ 81%] tests/test_web_request.py::test_base_ctor PASSED [ 81%] tests/test_web_request.py::test_ctor PASSED [ 81%] tests/test_web_request.py::test_deprecated_message PASSED [ 81%] tests/test_web_request.py::test_doubleslashes PASSED [ 81%] tests/test_web_request.py::test_content_type_not_specified PASSED [ 81%] tests/test_web_request.py::test_content_type_from_spec PASSED [ 81%] tests/test_web_request.py::test_content_type_from_spec_with_charset PASSED [ 81%] tests/test_web_request.py::test_calc_content_type_on_getting_charset PASSED [ 81%] tests/test_web_request.py::test_urlencoded_querystring PASSED [ 81%] tests/test_web_request.py::test_non_ascii_path PASSED [ 81%] tests/test_web_request.py::test_non_ascii_raw_path PASSED [ 81%] tests/test_web_request.py::test_absolute_url PASSED [ 81%] tests/test_web_request.py::test_content_length PASSED [ 81%] tests/test_web_request.py::test_range_to_slice_head PASSED [ 81%] tests/test_web_request.py::test_range_to_slice_mid PASSED [ 81%] tests/test_web_request.py::test_range_to_slice_tail_start PASSED [ 81%] tests/test_web_request.py::test_range_to_slice_tail_stop PASSED [ 81%] tests/test_web_request.py::test_non_keepalive_on_http10 PASSED [ 81%] tests/test_web_request.py::test_non_keepalive_on_closing PASSED [ 81%] tests/test_web_request.py::test_call_POST_on_GET_request PASSED [ 81%] tests/test_web_request.py::test_call_POST_on_weird_content_type PASSED [ 81%] tests/test_web_request.py::test_call_POST_twice PASSED [ 81%] tests/test_web_request.py::test_no_request_cookies PASSED [ 81%] tests/test_web_request.py::test_request_cookie PASSED [ 81%] tests/test_web_request.py::test_request_cookie__set_item PASSED [ 81%] tests/test_web_request.py::test_match_info PASSED [ 81%] tests/test_web_request.py::test_request_is_mutable_mapping PASSED [ 81%] tests/test_web_request.py::test_request_delitem PASSED [ 82%] tests/test_web_request.py::test_request_len PASSED [ 82%] tests/test_web_request.py::test_request_iter PASSED [ 82%] tests/test_web_request.py::test___repr__ PASSED [ 82%] tests/test_web_request.py::test___repr___non_ascii_path PASSED [ 82%] tests/test_web_request.py::test_http_scheme PASSED [ 82%] tests/test_web_request.py::test_https_scheme_by_ssl_transport PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header PASSED [ 82%] tests/test_web_request.py::test_forwarded_node_identifier[1.2.3.4:1234-1.2.3.4:1234] PASSED [ 82%] tests/test_web_request.py::test_forwarded_node_identifier[1.2.3.4-1.2.3.4] PASSED [ 82%] tests/test_web_request.py::test_forwarded_node_identifier["[2001:db8:cafe::17]:1234"-[2001:db8:cafe::17]:1234] PASSED [ 82%] tests/test_web_request.py::test_forwarded_node_identifier["[2001:db8:cafe::17]"-[2001:db8:cafe::17]] PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_camelcase PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_single_param PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_multiple_param PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_quoted_escaped PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_custom_param PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_empty_params PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_bad_separator PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_injection1 PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_injection2 PASSED [ 82%] tests/test_web_request.py::test_single_forwarded_header_long_quoted_string PASSED [ 82%] tests/test_web_request.py::test_multiple_forwarded_headers PASSED [ 82%] tests/test_web_request.py::test_multiple_forwarded_headers_bad_syntax PASSED [ 82%] tests/test_web_request.py::test_multiple_forwarded_headers_injection PASSED [ 82%] tests/test_web_request.py::test_host_by_host_header PASSED [ 82%] tests/test_web_request.py::test_raw_headers PASSED [ 82%] tests/test_web_request.py::test_rel_url PASSED [ 82%] tests/test_web_request.py::test_url_url PASSED [ 82%] tests/test_web_request.py::test_clone PASSED [ 82%] tests/test_web_request.py::test_clone_client_max_size PASSED [ 82%] tests/test_web_request.py::test_clone_override_client_max_size PASSED [ 83%] tests/test_web_request.py::test_clone_method PASSED [ 83%] tests/test_web_request.py::test_clone_rel_url PASSED [ 83%] tests/test_web_request.py::test_clone_rel_url_str PASSED [ 83%] tests/test_web_request.py::test_clone_headers PASSED [ 83%] tests/test_web_request.py::test_clone_headers_dict PASSED [ 83%] tests/test_web_request.py::test_cannot_clone_after_read PASSED [ 83%] tests/test_web_request.py::test_make_too_big_request PASSED [ 83%] tests/test_web_request.py::test_make_too_big_request_adjust_limit PASSED [ 83%] tests/test_web_request.py::test_multipart_formdata PASSED [ 83%] tests/test_web_request.py::test_multipart_formdata_file PASSED [ 83%] tests/test_web_request.py::test_make_too_big_request_limit_None PASSED [ 83%] tests/test_web_request.py::test_remote_peername_tcp PASSED [ 83%] tests/test_web_request.py::test_remote_peername_unix PASSED [ 83%] tests/test_web_request.py::test_save_state_on_clone PASSED [ 83%] tests/test_web_request.py::test_clone_scheme PASSED [ 83%] tests/test_web_request.py::test_clone_host PASSED [ 83%] tests/test_web_request.py::test_clone_remote PASSED [ 83%] tests/test_web_request.py::test_remote_with_closed_transport PASSED [ 83%] tests/test_web_request.py::test_url_http_with_closed_transport PASSED [ 83%] tests/test_web_request.py::test_url_https_with_closed_transport PASSED [ 83%] tests/test_web_request.py::test_get_extra_info PASSED [ 83%] tests/test_web_request.py::test_eq PASSED [ 83%] tests/test_web_request.py::test_loop_prop PASSED [ 83%] tests/test_web_request.py::test_etag_headers["67ab43", W/"54ed21", "7892,dd"-expected0-If-Match-if_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["67ab43", W/"54ed21", "7892,dd"-expected0-If-None-Match-if_none_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["bfc1ef-5b2c2730249c88ca92d82d"-expected1-If-Match-if_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["bfc1ef-5b2c2730249c88ca92d82d"-expected1-If-None-Match-if_none_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["valid-tag", "also-valid-tag",somegarbage"last-tag"-expected2-If-Match-if_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["valid-tag", "also-valid-tag",somegarbage"last-tag"-expected2-If-None-Match-if_none_match] PASSED [ 83%] tests/test_web_request.py::test_etag_headers["ascii", "\u044d\u0442\u043e \u0442\u043e\u0447\u043d\u043e \u043d\u0435 ascii", "ascii again"-expected3-If-Match-if_match] PASSED [ 84%] tests/test_web_request.py::test_etag_headers["ascii", "\u044d\u0442\u043e \u0442\u043e\u0447\u043d\u043e \u043d\u0435 ascii", "ascii again"-expected3-If-None-Match-if_none_match] PASSED [ 84%] tests/test_web_request.py::test_etag_headers[*-expected4-If-Match-if_match] PASSED [ 84%] tests/test_web_request.py::test_etag_headers[*-expected4-If-None-Match-if_none_match] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[xxyyzz-None-If-Modified-Since-if_modified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[xxyyzz-None-If-Unmodified-Since-if_unmodified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[xxyyzz-None-If-Range-if_range] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 4446413 00:56:40 GMT-None-If-Modified-Since-if_modified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 4446413 00:56:40 GMT-None-If-Unmodified-Since-if_unmodified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 4446413 00:56:40 GMT-None-If-Range-if_range] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:80 GMT-None-If-Modified-Since-if_modified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:80 GMT-None-If-Unmodified-Since-if_unmodified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:80 GMT-None-If-Range-if_range] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:40 GMT-expected3-If-Modified-Since-if_modified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:40 GMT-expected3-If-Unmodified-Since-if_unmodified_since] PASSED [ 84%] tests/test_web_request.py::test_datetime_headers[Tue, 08 Oct 2000 00:56:40 GMT-expected3-If-Range-if_range] PASSED [ 84%] tests/test_web_request_handler.py::test_repr PASSED [ 84%] tests/test_web_request_handler.py::test_connections PASSED [ 84%] tests/test_web_request_handler.py::test_shutdown_no_timeout PASSED [ 84%] tests/test_web_request_handler.py::test_shutdown_timeout PASSED [ 84%] tests/test_web_response.py::test_stream_response_ctor PASSED [ 84%] tests/test_web_response.py::test_stream_response_hashable PASSED [ 84%] tests/test_web_response.py::test_stream_response_eq PASSED [ 84%] tests/test_web_response.py::test_stream_response_is_mutable_mapping PASSED [ 84%] tests/test_web_response.py::test_stream_response_delitem PASSED [ 84%] tests/test_web_response.py::test_stream_response_len PASSED [ 84%] tests/test_web_response.py::test_request_iter PASSED [ 84%] tests/test_web_response.py::test_content_length PASSED [ 84%] tests/test_web_response.py::test_content_length_setter PASSED [ 84%] tests/test_web_response.py::test_content_length_setter_with_enable_chunked_encoding PASSED [ 84%] tests/test_web_response.py::test_drop_content_length_header_on_setting_len_to_None PASSED [ 85%] tests/test_web_response.py::test_set_content_length_to_None_on_non_set PASSED [ 85%] tests/test_web_response.py::test_setting_content_type PASSED [ 85%] tests/test_web_response.py::test_setting_charset PASSED [ 85%] tests/test_web_response.py::test_default_charset PASSED [ 85%] tests/test_web_response.py::test_reset_charset PASSED [ 85%] tests/test_web_response.py::test_reset_charset_after_setting PASSED [ 85%] tests/test_web_response.py::test_charset_without_content_type PASSED [ 85%] tests/test_web_response.py::test_last_modified_initial PASSED [ 85%] tests/test_web_response.py::test_last_modified_string PASSED [ 85%] tests/test_web_response.py::test_last_modified_timestamp PASSED [ 85%] tests/test_web_response.py::test_last_modified_datetime PASSED [ 85%] tests/test_web_response.py::test_last_modified_reset PASSED [ 85%] tests/test_web_response.py::test_last_modified_string_invalid[xxyyzz-None] PASSED [ 85%] tests/test_web_response.py::test_last_modified_string_invalid[Tue, 08 Oct 4446413 00:56:40 GMT-None] PASSED [ 85%] tests/test_web_response.py::test_last_modified_string_invalid[Tue, 08 Oct 2000 00:56:80 GMT-None] PASSED [ 85%] tests/test_web_response.py::test_etag_initial PASSED [ 85%] tests/test_web_response.py::test_etag_string PASSED [ 85%] tests/test_web_response.py::test_etag_class[etag0-W/"0123-weak-kotik"] PASSED [ 85%] tests/test_web_response.py::test_etag_class[etag1-"0123-strong-kotik"] PASSED [ 85%] tests/test_web_response.py::test_etag_any PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_set["invalid"] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_set[\u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 ascii] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_set[invalid_value2] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_set[invalid_value3] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_get[forgotten quotes] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_get["\u2200 x \u2209 ascii"] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_class[123] PASSED [ 85%] tests/test_web_response.py::test_etag_invalid_value_class[invalid1] PASSED [ 85%] tests/test_web_response.py::test_etag_reset PASSED [ 85%] tests/test_web_response.py::test_start PASSED [ 86%] tests/test_web_response.py::test_chunked_encoding PASSED [ 86%] tests/test_web_response.py::test_enable_chunked_encoding_with_content_length PASSED [ 86%] tests/test_web_response.py::test_chunk_size PASSED [ 86%] tests/test_web_response.py::test_chunked_encoding_forbidden_for_http_10 PASSED [ 86%] tests/test_web_response.py::test_compression_no_accept PASSED [ 86%] tests/test_web_response.py::test_force_compression_no_accept_backwards_compat PASSED [ 86%] tests/test_web_response.py::test_force_compression_false_backwards_compat PASSED [ 86%] tests/test_web_response.py::test_compression_default_coding PASSED [ 86%] tests/test_web_response.py::test_force_compression_deflate PASSED [ 86%] tests/test_web_response.py::test_force_compression_no_accept_deflate PASSED [ 86%] tests/test_web_response.py::test_force_compression_gzip PASSED [ 86%] tests/test_web_response.py::test_force_compression_no_accept_gzip PASSED [ 86%] tests/test_web_response.py::test_change_content_threaded_compression_enabled PASSED [ 86%] tests/test_web_response.py::test_change_content_threaded_compression_enabled_explicit PASSED [ 86%] tests/test_web_response.py::test_change_content_length_if_compression_enabled PASSED [ 86%] tests/test_web_response.py::test_set_content_length_if_compression_enabled PASSED [ 86%] tests/test_web_response.py::test_remove_content_length_if_compression_enabled_http11 PASSED [ 86%] tests/test_web_response.py::test_remove_content_length_if_compression_enabled_http10 PASSED [ 86%] tests/test_web_response.py::test_force_compression_identity PASSED [ 86%] tests/test_web_response.py::test_force_compression_identity_response PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_if_compression_http11 PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_if_compression_http10 PASSED [ 86%] tests/test_web_response.py::test_rm_transfer_encoding_rfc_9112_6_3_http_11[100] PASSED [ 86%] tests/test_web_response.py::test_rm_transfer_encoding_rfc_9112_6_3_http_11[101] PASSED [ 86%] tests/test_web_response.py::test_rm_transfer_encoding_rfc_9112_6_3_http_11[204] PASSED [ 86%] tests/test_web_response.py::test_rm_transfer_encoding_rfc_9112_6_3_http_11[304] PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_1xx_204_304_responses[100] PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_1xx_204_304_responses[101] PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_1xx_204_304_responses[102] PASSED [ 86%] tests/test_web_response.py::test_rm_content_length_1xx_204_304_responses[204] PASSED [ 87%] tests/test_web_response.py::test_rm_content_length_1xx_204_304_responses[304] PASSED [ 87%] tests/test_web_response.py::test_head_response_keeps_content_length_of_original_body PASSED [ 87%] tests/test_web_response.py::test_head_response_omits_content_length_when_body_unset PASSED [ 87%] tests/test_web_response.py::test_304_response_omits_content_length_when_body_unset PASSED [ 87%] tests/test_web_response.py::test_content_length_on_chunked PASSED [ 87%] tests/test_web_response.py::test_write_non_byteish PASSED [ 87%] tests/test_web_response.py::test_write_before_start PASSED [ 87%] tests/test_web_response.py::test_cannot_write_after_eof PASSED [ 87%] tests/test_web_response.py::test___repr___after_eof PASSED [ 87%] tests/test_web_response.py::test_cannot_write_eof_before_headers PASSED [ 87%] tests/test_web_response.py::test_cannot_write_eof_twice PASSED [ 87%] tests/test_web_response.py::test_force_close PASSED [ 87%] tests/test_web_response.py::test_response_output_length PASSED [ 87%] tests/test_web_response.py::test_response_cookies PASSED [ 87%] tests/test_web_response.py::test_response_cookie_path PASSED [ 87%] tests/test_web_response.py::test_response_cookie__issue_del_cookie PASSED [ 87%] tests/test_web_response.py::test_cookie_set_after_del PASSED [ 87%] tests/test_web_response.py::test_set_status_with_reason PASSED [ 87%] tests/test_web_response.py::test_start_force_close PASSED [ 87%] tests/test_web_response.py::test___repr__ PASSED [ 87%] tests/test_web_response.py::test___repr___not_prepared PASSED [ 87%] tests/test_web_response.py::test_keep_alive_http10_default PASSED [ 87%] tests/test_web_response.py::test_keep_alive_http10_switched_on PASSED [ 87%] tests/test_web_response.py::test_keep_alive_http09 PASSED [ 87%] tests/test_web_response.py::test_prepare_twice PASSED [ 87%] tests/test_web_response.py::test_prepare_calls_signal PASSED [ 87%] tests/test_web_response.py::test_response_ctor PASSED [ 87%] tests/test_web_response.py::test_ctor_with_headers_and_status PASSED [ 87%] tests/test_web_response.py::test_ctor_content_type PASSED [ 87%] tests/test_web_response.py::test_ctor_text_body_combined PASSED [ 88%] tests/test_web_response.py::test_ctor_text PASSED [ 88%] tests/test_web_response.py::test_ctor_charset PASSED [ 88%] tests/test_web_response.py::test_ctor_charset_default_utf8 PASSED [ 88%] tests/test_web_response.py::test_ctor_charset_in_content_type PASSED [ 88%] tests/test_web_response.py::test_ctor_charset_without_text PASSED [ 88%] tests/test_web_response.py::test_ctor_content_type_with_extra PASSED [ 88%] tests/test_web_response.py::test_ctor_both_content_type_param_and_header_with_text PASSED [ 88%] tests/test_web_response.py::test_ctor_both_charset_param_and_header_with_text PASSED [ 88%] tests/test_web_response.py::test_ctor_both_content_type_param_and_header PASSED [ 88%] tests/test_web_response.py::test_ctor_both_charset_param_and_header PASSED [ 88%] tests/test_web_response.py::test_assign_nonbyteish_body PASSED [ 88%] tests/test_web_response.py::test_assign_nonstr_text PASSED [ 88%] tests/test_web_response.py::test_response_set_content_length PASSED [ 88%] tests/test_web_response.py::test_send_headers_for_empty_body PASSED [ 88%] tests/test_web_response.py::test_render_with_body PASSED [ 88%] tests/test_web_response.py::test_send_set_cookie_header PASSED [ 88%] tests/test_web_response.py::test_consecutive_write_eof PASSED [ 88%] tests/test_web_response.py::test_set_text_with_content_type PASSED [ 88%] tests/test_web_response.py::test_set_text_with_charset PASSED [ 88%] tests/test_web_response.py::test_default_content_type_in_stream_response PASSED [ 88%] tests/test_web_response.py::test_default_content_type_in_response PASSED [ 88%] tests/test_web_response.py::test_content_type_with_set_text PASSED [ 88%] tests/test_web_response.py::test_content_type_with_set_body PASSED [ 88%] tests/test_web_response.py::test_started_when_not_started PASSED [ 88%] tests/test_web_response.py::test_started_when_started PASSED [ 88%] tests/test_web_response.py::test_drain_before_start PASSED [ 88%] tests/test_web_response.py::test_changing_status_after_prepare_raises PASSED [ 88%] tests/test_web_response.py::test_nonstr_text_in_ctor PASSED [ 88%] tests/test_web_response.py::test_text_in_ctor_with_content_type PASSED [ 88%] tests/test_web_response.py::test_text_in_ctor_with_content_type_header PASSED [ 88%] tests/test_web_response.py::test_text_in_ctor_with_content_type_header_multidict PASSED [ 89%] tests/test_web_response.py::test_body_in_ctor_with_content_type_header_multidict PASSED [ 89%] tests/test_web_response.py::test_text_with_empty_payload PASSED [ 89%] tests/test_web_response.py::test_response_with_content_length_header_without_body PASSED [ 89%] tests/test_web_response.py::test_response_with_immutable_headers PASSED [ 89%] tests/test_web_response.py::test_response_prepared_after_header_preparation PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_content_type_is_application_json_by_default PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_passing_text_only PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_data_and_text_raises_value_error PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_data_and_body_raises_value_error PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_text_is_json_encoded PASSED [ 89%] tests/test_web_response.py::TestJSONResponse::test_content_type_is_overrideable PASSED [ 89%] tests/test_web_runner.py::test_site_for_nonfrozen_app[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_runner_setup_handle_signals[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_runner_setup_without_signal_handling[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_site_double_added[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_site_stop_not_started[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_custom_log_format[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_unreg_site[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_app_property[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_non_app PASSED [ 89%] tests/test_web_runner.py::test_addresses[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_named_pipe_runner_wrong_loop SKIPPED [ 89%] tests/test_web_runner.py::test_named_pipe_runner_proactor_loop SKIPPED [ 89%] tests/test_web_runner.py::test_tcpsite_default_host[pyloop] PASSED [ 89%] tests/test_web_runner.py::test_run_after_asyncio_run PASSED [ 89%] tests/test_web_runner.py::test_app_handler_args_failure PASSED [ 89%] tests/test_web_runner.py::test_app_handler_args_ceil_threshold[2-2_0] PASSED [ 89%] tests/test_web_runner.py::test_app_handler_args_ceil_threshold[None-5] PASSED [ 89%] tests/test_web_runner.py::test_app_handler_args_ceil_threshold[2-2_1] PASSED [ 89%] tests/test_web_sendfile.py::test_using_gzip_if_header_present_and_file_available[pyloop] PASSED [ 90%] tests/test_web_sendfile.py::test_gzip_if_header_not_present_and_file_available[pyloop] PASSED [ 90%] tests/test_web_sendfile.py::test_gzip_if_header_not_present_and_file_not_available[pyloop] PASSED [ 90%] tests/test_web_sendfile.py::test_gzip_if_header_present_and_file_not_available[pyloop] PASSED [ 90%] tests/test_web_sendfile.py::test_status_controlled_by_user[pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_ok[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_ok[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_zero_bytes_file_ok[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_zero_bytes_file_ok[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_zero_bytes_file_mocked_native_sendfile[pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_ok_string_path[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_ok_string_path[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_not_exists[pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_name_too_long[pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_upper_directory[pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_content_type[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_content_type[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_custom_content_type[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_custom_content_type[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_custom_content_type_compress[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_custom_content_type_compress[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_gziped_counter_part_enable_compression[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_gziped_counter_part_enable_compression[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_content_encoding[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_with_content_encoding[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_past_date[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_past_date[no_sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_invalid_date[sendfile-pyloop] PASSED [ 90%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_invalid_date[no_sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_future_date[sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_modified_since_future_date[no_sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match[sendfile-pyloop-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match[sendfile-pyloop-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match[no_sendfile-pyloop-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match[no_sendfile-pyloop-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[sendfile-pyloop-etags0-200-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[sendfile-pyloop-etags0-200-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[sendfile-pyloop-etags1-412-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[sendfile-pyloop-etags1-412-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[no_sendfile-pyloop-etags0-200-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[no_sendfile-pyloop-etags0-200-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[no_sendfile-pyloop-etags1-412-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_match_custom_tags[no_sendfile-pyloop-etags1-412-Fri, 31 Dec 0000 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[sendfile-pyloop-additional_etags0-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[sendfile-pyloop-additional_etags0-Fri, 31 Dec 9999 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[sendfile-pyloop-additional_etags1-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[sendfile-pyloop-additional_etags1-Fri, 31 Dec 9999 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[no_sendfile-pyloop-additional_etags0-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[no_sendfile-pyloop-additional_etags0-Fri, 31 Dec 9999 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[no_sendfile-pyloop-additional_etags1-] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match[no_sendfile-pyloop-additional_etags1-Fri, 31 Dec 9999 23:59:59 GMT] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match_star[sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_if_none_match_star[no_sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_ssl[pyloop] XFAIL [ 91%] tests/test_web_sendfile_functional.py::test_static_file_directory_traversal_attack[pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_route_path_existence_check PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_huge[pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_range[sendfile-pyloop] PASSED [ 91%] tests/test_web_sendfile_functional.py::test_static_file_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_end_bigger_than_size[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_end_bigger_than_size[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_beyond_eof[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_beyond_eof[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_tail[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_range_tail[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_invalid_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_invalid_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_past_with_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_past_with_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_future_with_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_future_with_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_past_with_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_past_with_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_future_with_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_future_with_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_past_without_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_past_without_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_future_without_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_future_without_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_past_without_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_past_without_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_future_without_range[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_future_without_range[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_invalid_date[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_unmodified_since_invalid_date[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_invalid_date[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_if_range_invalid_date[no_sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_compression[sendfile-pyloop] PASSED [ 92%] tests/test_web_sendfile_functional.py::test_static_file_compression[no_sendfile-pyloop] PASSED [ 93%] tests/test_web_sendfile_functional.py::test_static_file_huge_cancel[pyloop] PASSED [ 93%] tests/test_web_sendfile_functional.py::test_static_file_huge_error[pyloop] PASSED [ 93%] tests/test_web_server.py::test_simple_server[pyloop] PASSED [ 93%] tests/test_web_server.py::test_unsupported_upgrade[pyloop] XFAIL (The behavior of C-extensions differs from pure-Python: https://github.com/aio-libs/aiohttp/issues/6446) [ 93%] tests/test_web_server.py::test_raw_server_not_http_exception[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_handler_timeout[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_do_not_swallow_exceptions[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_cancelled_in_write_eof[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_not_http_exception_debug[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_html_exception[pyloop] PASSED [ 93%] tests/test_web_server.py::test_raw_server_html_exception_debug[pyloop] PASSED [ 93%] tests/test_web_server.py::test_handler_cancellation PASSED [ 93%] tests/test_web_server.py::test_no_handler_cancellation PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_root_of_static_handler[pyloop-index_forbidden] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_root_of_static_handler[pyloop-index_root] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_root_of_static_handler[pyloop-index_static] PASSED [ 93%] tests/test_web_urldispatcher.py::test_follow_symlink[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_follow_symlink_directory_traversal[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_follow_symlink_directory_traversal_after_normalization[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_to_the_file_with_spaces[pyloop--test file.txt-test text] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_to_the_file_with_spaces[pyloop-test dir name-test dir file .txt-test text file folder] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_non_existing_resource[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_url_escaping[pyloop-/a:b-/a:b] PASSED [ 93%] tests/test_web_urldispatcher.py::test_url_escaping[pyloop-/a@b-/a@b] PASSED [ 93%] tests/test_web_urldispatcher.py::test_url_escaping[pyloop-/a:b-/a%3Ab] PASSED [ 93%] tests/test_web_urldispatcher.py::test_handler_metadata_persistence PASSED [ 93%] tests/test_web_urldispatcher.py::test_unauthorized_folder_access[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_symlink_loop[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_access_special_resource[pyloop] PASSED [ 93%] tests/test_web_urldispatcher.py::test_partially_applied_handler[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_static_head[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_system_route PASSED [ 94%] tests/test_web_urldispatcher.py::test_412_is_returned[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_allow_head[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_reuse_last_added_resource[/a] PASSED [ 94%] tests/test_web_urldispatcher.py::test_reuse_last_added_resource[/{a}] PASSED [ 94%] tests/test_web_urldispatcher.py::test_resource_raw_match PASSED [ 94%] tests/test_web_urldispatcher.py::test_add_view[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_decorate_view[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_web_view[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_static_absolute_url[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_for_issue_5250[pyloop] PASSED [ 94%] tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route] XFAIL [ 94%] tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route_with_regex] XFAIL [ 94%] tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urlencoded_route] XFAIL [ 94%] tests/test_web_websocket.py::test_nonstarted_ping PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_pong PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_send_str PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_send_bytes PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_send_json PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_close PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_receive_str PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_receive_bytes PASSED [ 94%] tests/test_web_websocket.py::test_nonstarted_receive_json PASSED [ 94%] tests/test_web_websocket.py::test_receive_str_nonstring[pyloop] PASSED [ 94%] tests/test_web_websocket.py::test_receive_bytes_nonsbytes[pyloop] PASSED [ 94%] tests/test_web_websocket.py::test_send_str_nonstring[pyloop] PASSED [ 94%] tests/test_web_websocket.py::test_send_bytes_nonbytes[pyloop] PASSED [ 94%] tests/test_web_websocket.py::test_send_json_nonjson[pyloop] PASSED [ 94%] tests/test_web_websocket.py::test_write_non_prepared PASSED [ 94%] tests/test_web_websocket.py::test_heartbeat_timeout[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_websocket_ready PASSED [ 95%] tests/test_web_websocket.py::test_websocket_not_ready PASSED [ 95%] tests/test_web_websocket.py::test_websocket_ready_unknown_protocol PASSED [ 95%] tests/test_web_websocket.py::test_bool_websocket_ready PASSED [ 95%] tests/test_web_websocket.py::test_bool_websocket_not_ready PASSED [ 95%] tests/test_web_websocket.py::test_can_prepare_ok[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_can_prepare_unknown_protocol[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_can_prepare_without_upgrade[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_can_prepare_started[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_closed_after_ctor PASSED [ 95%] tests/test_web_websocket.py::test_send_str_closed[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_send_bytes_closed[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_send_json_closed[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_ping_closed[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_pong_closed[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_close_idempotent[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_prepare_post_method_ok[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_prepare_without_upgrade[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_wait_closed_before_start PASSED [ 95%] tests/test_web_websocket.py::test_write_eof_not_started PASSED [ 95%] tests/test_web_websocket.py::test_write_eof_idempotent[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_receive_eofstream_in_reader[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_receive_timeouterror[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_multiple_receive_on_close_connection[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_concurrent_receive[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_close_exc[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_prepare_twice_idempotent[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_send_with_per_message_deflate[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_no_transfer_encoding_header[pyloop] PASSED [ 95%] tests/test_web_websocket.py::test_get_extra_info[pyloop-ws_transport0-existent] PASSED [ 96%] tests/test_web_websocket.py::test_get_extra_info[pyloop-None-default] PASSED [ 96%] tests/test_web_websocket.py::test_get_extra_info[pyloop-ws_transport2-default] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_can_prepare[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_json[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_json_invalid_message[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_send_json[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_receive_json[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_send_recv_text[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_send_recv_bytes[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_send_recv_json[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_close_timeout[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_concurrent_close[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_auto_pong_with_closing_by_peer[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_ping[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_pong[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_change_status[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_handle_protocol[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_server_close_handshake[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_server_close_handshake_server_eats_client_messages[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_receive_timeout[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_custom_receive_timeout[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_heartbeat[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_heartbeat_no_pong[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_server_ws_async_for[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_closed_async_for[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_websocket_disable_keepalive[pyloop] PASSED [ 96%] tests/test_web_websocket_functional.py::test_bug3380[pyloop] PASSED [ 96%] tests/test_websocket_handshake.py::test_no_upgrade PASSED [ 96%] tests/test_websocket_handshake.py::test_no_connection PASSED [ 96%] tests/test_websocket_handshake.py::test_protocol_version_unset PASSED [ 97%] tests/test_websocket_handshake.py::test_protocol_version_not_supported PASSED [ 97%] tests/test_websocket_handshake.py::test_protocol_key_not_present PASSED [ 97%] tests/test_websocket_handshake.py::test_protocol_key_invalid PASSED [ 97%] tests/test_websocket_handshake.py::test_protocol_key_bad_size PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_ok PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_protocol PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_protocol_agreement PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_protocol_unsupported PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_server_notakeover PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_client_notakeover PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_wbits PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_wbits_error PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_bad_ext PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_multi_ext_bad PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_compress_multi_ext_wbits PASSED [ 97%] tests/test_websocket_handshake.py::test_handshake_no_transfer_encoding PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_length0[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_length2[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_length4[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_mask[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_header_reversed_bits[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_header_control_frame[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_parse_frame_header_payload_size[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_ping_frame[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_pong_frame[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_close_frame[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_close_frame_info[pyloop] PASSED [ 97%] tests/test_websocket_parser.py::test_close_frame_invalid[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_close_frame_invalid_2[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_close_frame_unicode_err[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_unknown_frame[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_simple_text[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_simple_text_unicode_err[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_simple_binary[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_fragmentation_header[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_ping[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_err[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_close[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_close_unicode_err[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_close_bad_code[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_close_bad_payload[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_continuation_with_close_empty[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_websocket_mask_python PASSED [ 98%] tests/test_websocket_parser.py::test_websocket_mask_cython PASSED [ 98%] tests/test_websocket_parser.py::test_websocket_mask_python_empty PASSED [ 98%] tests/test_websocket_parser.py::test_websocket_mask_cython_empty PASSED [ 98%] tests/test_websocket_parser.py::test_msgtype_aliases PASSED [ 98%] tests/test_websocket_parser.py::test_parse_compress_frame_single[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_parse_compress_frame_multi[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_parse_compress_error_frame[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_parse_no_compress_frame_single PASSED [ 98%] tests/test_websocket_parser.py::test_msg_too_large[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_msg_too_large_not_fin[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::test_compressed_msg_too_large[pyloop] PASSED [ 98%] tests/test_websocket_parser.py::TestWebSocketError::test_ctor PASSED [ 98%] tests/test_websocket_parser.py::TestWebSocketError::test_pickle PASSED [ 98%] tests/test_websocket_writer.py::test_pong PASSED [ 99%] tests/test_websocket_writer.py::test_ping PASSED [ 99%] tests/test_websocket_writer.py::test_send_text PASSED [ 99%] tests/test_websocket_writer.py::test_send_binary PASSED [ 99%] tests/test_websocket_writer.py::test_send_binary_long PASSED [ 99%] tests/test_websocket_writer.py::test_send_binary_very_long PASSED [ 99%] tests/test_websocket_writer.py::test_close PASSED [ 99%] tests/test_websocket_writer.py::test_send_text_masked PASSED [ 99%] tests/test_websocket_writer.py::test_send_compress_text PASSED [ 99%] tests/test_websocket_writer.py::test_send_compress_text_notakeover PASSED [ 99%] tests/test_websocket_writer.py::test_send_compress_text_per_message PASSED [ 99%] tests/test_websocket_writer.py::test_concurrent_messages[16-] PASSED [ 99%] tests/test_websocket_writer.py::test_concurrent_messages[4096-] PASSED [ 99%] tests/test_websocket_writer.py::test_concurrent_messages[32-] PASSED [ 99%] tests/test_worker.py::test_init_process[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test_run[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test_run_async_factory[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test_run_not_app[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test_handle_abort[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__wait_next_notify[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__notify_waiter_done[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__notify_waiter_done_explicit_waiter[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test_init_signals[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__get_valid_log_format_ok[AsyncioWorker-pyloop-%a "%{Referrer}i" %s-%a "%{Referrer}i" %s] PASSED [ 99%] tests/test_worker.py::test__get_valid_log_format_ok[AsyncioWorker-pyloop-%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"-%a %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"] PASSED [ 99%] tests/test_worker.py::test__get_valid_log_format_exc[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__run_ok_parent_changed[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__run_exc[AsyncioWorker-pyloop] PASSED [ 99%] tests/test_worker.py::test__create_ssl_context_without_certs_and_ciphers[AsyncioWorker-pyloop] XFAIL [ 99%] tests/test_worker.py::test__create_ssl_context_with_ciphers[AsyncioWorker-pyloop] XFAIL [ 99%] tests/test_worker.py::test__create_ssl_context_with_ca_certs[AsyncioWorker-pyloop] XFAIL [100%] ================================== XFAILURES =================================== ___________________________ test_ssl_client[pyloop] ____________________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed __________________ test_tcp_connector_fingerprint_ok[pyloop] ___________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _________________ test_tcp_connector_fingerprint_fail[pyloop] __________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ________________________ test_broken_connection[pyloop] ________________________ aiohttp_client = .go at 0x7f7acaf460c0> @pytest.mark.xfail async def test_broken_connection(aiohttp_client) -> None: async def handler(request): request.transport.close() return web.Response(text="answer" * 1000) app = web.Application() app.router.add_get("/", handler) client = await aiohttp_client(app) with pytest.raises(aiohttp.ClientResponseError): > await client.get("/") aiohttp_client = .go at 0x7f7acaf460c0> app = client = handler = .handler at 0x7f7acaf44360> tests/test_client_functional.py:2358: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ build/lib.linux-x86_64-cpython-311/aiohttp/test_utils.py:322: in _request resp = await self._session.request(method, self.make_url(path), **kwargs) kwargs = {} method = 'GET' path = '/' self = build/lib.linux-x86_64-cpython-311/aiohttp/client.py:605: in _request await resp.start(conn) all_cookies = allow_redirects = True auth = None auth_from_url = None auto_decompress = True chunked = None compress = None conn = Connection cookies = None data = None expect100 = False fingerprint = None handle = None headers = history = [] json = None max_field_size = 8190 max_line_size = 8190 max_redirects = 10 method = 'GET' params = {} proxy = None proxy_auth = None proxy_headers = raise_for_status = None read_bufsize = 65536 read_until_eof = True real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=None, ceil_threshold=5) redirects = 0 req = resp = None self = server_hostname = None skip_auto_headers = None skip_headers = set() ssl = True ssl_context = None str_or_url = URL('http://127.0.0.1:43027/') timeout = <_SENTINEL.sentinel: 1> timer = tm = trace_request_ctx = None traces = [] url = URL('http://127.0.0.1:43027/') verify_ssl = None version = HttpVersion(major=1, minor=1) build/lib.linux-x86_64-cpython-311/aiohttp/client_reqrep.py:966: in start message, payload = await protocol.read() # type: ignore[union-attr] connection = Connection protocol = self = None _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = async def read(self) -> _T: if not self._buffer and not self._eof: assert not self._waiter self._waiter = self._loop.create_future() try: > await self._waiter E aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected self = build/lib.linux-x86_64-cpython-311/aiohttp/streams.py:622: ServerDisconnectedError __ test_drop_auth_on_redirect_to_other_host[pyloop-entirely different hosts] ___ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ________ test_drop_auth_on_redirect_to_other_host[pyloop-http -> https] ________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ________ test_drop_auth_on_redirect_to_other_host[pyloop-https -> http] ________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _________ test_aiohttp_request_ctx_manager_close_sess_on_error[pyloop] _________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ___________________ test_error_in_performing_request[pyloop] ___________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _________________________ test_rejected_upload[pyloop] _________________________ aiohttp_client = .go at 0x7f7aca2e13a0> tmp_path = PosixPath('/tmp/pytest-of-buildozer/pytest-389/test_rejected_upload_pyloop_0') @pytest.mark.xfail(raises=asyncio.TimeoutError, reason="#7599") async def test_rejected_upload(aiohttp_client, tmp_path) -> None: async def ok_handler(request): return web.Response() async def not_ok_handler(request): raise web.HTTPBadRequest() app = web.Application() app.router.add_get("/ok", ok_handler) app.router.add_post("/not_ok", not_ok_handler) client = await aiohttp_client(app) file_size_bytes = 1024 * 1024 file_path = tmp_path / "uploaded.txt" file_path.write_text("0" * file_size_bytes, encoding="utf8") with open(file_path, "rb") as file: data = {"file": file} async with await client.post("/not_ok", data=data) as resp_not_ok: assert 400 == resp_not_ok.status > async with await client.get( "/ok", timeout=aiohttp.ClientTimeout(total=0.01) ) as resp_ok: aiohttp_client = .go at 0x7f7aca2e13a0> app = client = data = {'file': <_io.BufferedReader name='/tmp/pytest-of-buildozer/pytest-389/test_rejected_upload_pyloop_0/uploaded.txt'>} file = <_io.BufferedReader name='/tmp/pytest-of-buildozer/pytest-389/test_rejected_upload_pyloop_0/uploaded.txt'> file_path = PosixPath('/tmp/pytest-of-buildozer/pytest-389/test_rejected_upload_pyloop_0/uploaded.txt') file_size_bytes = 1048576 not_ok_handler = .not_ok_handler at 0x7f7aca2e1580> ok_handler = .ok_handler at 0x7f7aca2e14e0> resp_not_ok = tmp_path = PosixPath('/tmp/pytest-of-buildozer/pytest-389/test_rejected_upload_pyloop_0') tests/test_client_functional.py:3454: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ build/lib.linux-x86_64-cpython-311/aiohttp/test_utils.py:322: in _request resp = await self._session.request(method, self.make_url(path), **kwargs) kwargs = {'timeout': ClientTimeout(total=0.01, connect=None, sock_read=None, sock_connect=None, ceil_threshold=5)} method = 'GET' path = '/ok' self = build/lib.linux-x86_64-cpython-311/aiohttp/client.py:605: in _request await resp.start(conn) all_cookies = allow_redirects = True auth = None auth_from_url = None auto_decompress = True chunked = None compress = None conn = Connection cookies = None data = None expect100 = False fingerprint = None handle = None headers = history = [] json = None max_field_size = 8190 max_line_size = 8190 max_redirects = 10 method = 'GET' params = {} proxy = None proxy_auth = None proxy_headers = raise_for_status = None read_bufsize = 65536 read_until_eof = True real_timeout = ClientTimeout(total=0.01, connect=None, sock_read=None, sock_connect=None, ceil_threshold=5) redirects = 0 req = resp = None self = server_hostname = None skip_auto_headers = None skip_headers = set() ssl = True ssl_context = None str_or_url = URL('http://127.0.0.1:35911/ok') timeout = ClientTimeout(total=0.01, connect=None, sock_read=None, sock_connect=None, ceil_threshold=5) timer = tm = trace_request_ctx = None traces = [] url = URL('http://127.0.0.1:35911/ok') verify_ssl = None version = HttpVersion(major=1, minor=1) build/lib.linux-x86_64-cpython-311/aiohttp/client_reqrep.py:961: in start with self._timer: connection = Connection protocol = self = None _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = exc_type = exc_val = CancelledError(), exc_tb = def __exit__( self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[TracebackType], ) -> Optional[bool]: if self._tasks: self._tasks.pop() if exc_type is asyncio.CancelledError and self._cancelled: > raise asyncio.TimeoutError from None E TimeoutError exc_tb = exc_type = exc_val = CancelledError() self = build/lib.linux-x86_64-cpython-311/aiohttp/helpers.py:735: TimeoutError ________________ test_verify_ssl_false_with_ssl_context[pyloop] ________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ___________________ test_del_with_scheduled_cleanup[pyloop] ____________________ self = args = (<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) kwargs = {} expected = call(<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) actual = call(<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': ]}) _error_message = ._error_message at 0x7f7acb18f9c0> cause = None def assert_called_with(self, /, *args, **kwargs): """assert that the last call was made with the specified arguments. Raises an AssertionError if the args and keyword args passed in are different to the last call to the mock.""" if self.call_args is None: expected = self._format_mock_call_signature(args, kwargs) actual = 'not called.' error_message = ('expected call not found.\nExpected: %s\n Actual: %s' % (expected, actual)) raise AssertionError(error_message) def _error_message(): msg = self._format_mock_failure_message(args, kwargs) return msg expected = self._call_matcher(_Call((args, kwargs), two=True)) actual = self._call_matcher(self.call_args) if actual != expected: cause = expected if isinstance(expected, Exception) else None > raise AssertionError(_error_message()) from cause E AssertionError: expected call not found. E Expected: mock(<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) E Actual: mock(<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'connections': ["[(, 123)]"], 'message': 'Unclosed connector', 'source_traceback': [>, , , , , , , , , , , , , , , , , , , , , >, , , , , , , , , , , , , , ]}) _error_message = ._error_message at 0x7f7acb18f9c0> actual = call(<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': , 'connections': ["[(, 123)]"], 'message': 'Unclosed connector', 'source_traceback': [>, , , , , , , , , , , , , , , , , , , , , >, , , , , , , , , , , , , , ]}) args = (<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) cause = None expected = call(<_UnixSelectorEventLoop running=False closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) kwargs = {} self = /usr/lib/python3.11/unittest/mock.py:939: AssertionError During handling of the above exception, another exception occurred: loop = <_UnixSelectorEventLoop running=False closed=False debug=True> @pytest.mark.xfail async def test_del_with_scheduled_cleanup(loop) -> None: loop.set_debug(True) conn = aiohttp.BaseConnector(loop=loop, keepalive_timeout=0.01) transp = mock.Mock() conn._conns["a"] = [(transp, 123)] conns_impl = conn._conns exc_handler = mock.Mock() loop.set_exception_handler(exc_handler) with pytest.warns(ResourceWarning): # obviously doesn't deletion because loop has a strong # reference to connector's instance method, isn't it? del conn await asyncio.sleep(0.01) gc.collect() assert not conns_impl transp.close.assert_called_with() msg = {"connector": mock.ANY, "message": "Unclosed connector"} # conn was deleted if loop.get_debug(): msg["source_traceback"] = mock.ANY > exc_handler.assert_called_with(loop, msg) E AssertionError: expected call not found. E Expected: mock(<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) E Actual: mock(<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'connections': ["[(, 123)]"], 'message': 'Unclosed connector', 'source_traceback': [>, , , , , , , , , , , , , , , , , , , , , >, , , , , , , , , , , , , , ]}) E E pytest introspection follows: E E Args: E assert (<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'connections': ["[(, 123)]"], 'message': 'Unclosed connector', 'source_traceback': [>, , , , , , , , , , , , , , , , , , , , , >, , , , , , , , , , , , , , ]}) == (<_UnixSelectorEventLoop running=True closed=False debug=True>, {'connector': , 'message': 'Unclosed connector', 'source_traceback': }) E E At index 1 diff: {'connector': , 'connections': ["[(, 123)]"], 'message': 'Unclosed connector', 'source_traceback': [>, , , , , , , , , , , , , , , , , , , , , >, , , , , , , , , , , , , , ]} != {'connector': , 'message': 'Unclosed connector', 'source_traceback': } E E Full diff: E ( E <_UnixSelectorEventLoop running=True closed=False debug=True>, E { E - 'connector': , E ? ^ ^^^^^^ E + 'connections': [ E ? + ^^ ^ E + "[(, 123)]", E + ], E + 'connector': , E 'message': 'Unclosed connector', E - 'source_traceback': , E ? ^^^^^^ E + 'source_traceback': [ E ? ^ E + >, E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + >, E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + , E + ], E }, E ) conns_impl = {} exc_handler = loop = <_UnixSelectorEventLoop running=False closed=False debug=True> msg = {'connector': , 'message': 'Unclosed connector', 'source_traceback': } transp = tests/test_connector.py:200: AssertionError _____________ test_tcp_connector_raise_connector_ssl_error[pyloop] _____________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ____ test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-ip address] ____ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ___ test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-domain name] ____ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _ test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name] _ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _ test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name with multiple trailing dots] _ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _ test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-idna fully-qualified domain name] _ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ______________ test_parse_unusual_request_line[py-parser-pyloop] _______________ parser = def test_parse_unusual_request_line(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:288: XFailed _______________ test_parse_unusual_request_line[c-parser-pyloop] _______________ parser = def test_parse_unusual_request_line(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:288: XFailed _ test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-empty-name-empty] _ parser = pad1 = b'', pad2 = b'', hdr = b'' @pytest.mark.parametrize("hdr", [b"", b"foo"], ids=["name-empty", "with-name"]) @pytest.mark.parametrize("pad2", _pad.keys(), ids=["post-" + n for n in _pad.values()]) @pytest.mark.parametrize("pad1", _pad.keys(), ids=["pre-" + n for n in _pad.values()]) def test_invalid_header_spacing(parser, pad1: bytes, pad2: bytes, hdr: bytes) -> None: text = b"GET /test HTTP/1.1\r\n" b"%s%s%s: value\r\n\r\n" % (pad1, hdr, pad2) expectation = pytest.raises(http_exceptions.BadHttpMessage) if pad1 == pad2 == b"" and hdr != b"": # one entry in param matrix is correct: non-empty name, not padded expectation = nullcontext() if pad1 == pad2 == hdr == b"": if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. expectation = <_pytest.python_api.RaisesContext object at 0x7f7ac9aff210> hdr = b'' pad1 = b'' pad2 = b'' parser = text = b'GET /test HTTP/1.1\r\n: value\r\n\r\n' tests/test_http_parser.py:626: XFailed _ test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-empty-name-empty] _ parser = pad1 = b'', pad2 = b'', hdr = b'' @pytest.mark.parametrize("hdr", [b"", b"foo"], ids=["name-empty", "with-name"]) @pytest.mark.parametrize("pad2", _pad.keys(), ids=["post-" + n for n in _pad.values()]) @pytest.mark.parametrize("pad1", _pad.keys(), ids=["pre-" + n for n in _pad.values()]) def test_invalid_header_spacing(parser, pad1: bytes, pad2: bytes, hdr: bytes) -> None: text = b"GET /test HTTP/1.1\r\n" b"%s%s%s: value\r\n\r\n" % (pad1, hdr, pad2) expectation = pytest.raises(http_exceptions.BadHttpMessage) if pad1 == pad2 == b"" and hdr != b"": # one entry in param matrix is correct: non-empty name, not padded expectation = nullcontext() if pad1 == pad2 == hdr == b"": if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. expectation = <_pytest.python_api.RaisesContext object at 0x7f7ac9b0c650> hdr = b'' pad1 = b'' pad2 = b'' parser = text = b'GET /test HTTP/1.1\r\n: value\r\n\r\n' tests/test_http_parser.py:626: XFailed ___________________ test_empty_header_name[py-parser-pyloop] ___________________ parser = def test_empty_header_name(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:633: XFailed ___________________ test_empty_header_name[c-parser-pyloop] ____________________ parser = def test_empty_header_name(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:633: XFailed _________ test_http_request_parser_utf8_request_line[py-parser-pyloop] _________ parser = def test_http_request_parser_utf8_request_line(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:812: XFailed _________ test_http_request_parser_utf8_request_line[c-parser-pyloop] __________ parser = def test_http_request_parser_utf8_request_line(parser) -> None: if not isinstance(response, HttpResponseParserPy): > pytest.xfail("Regression test for Py parser. May match C behaviour later.") E _pytest.outcomes.XFailed: Regression test for Py parser. May match C behaviour later. parser = tests/test_http_parser.py:812: XFailed _____________________ test_parse_uri_utf8[c-parser-pyloop] _____________________ parser = def test_parse_uri_utf8(parser) -> None: if not isinstance(parser, HttpRequestParserPy): > pytest.xfail("Not valid HTTP. Maybe update py-parser to reject later.") E _pytest.outcomes.XFailed: Not valid HTTP. Maybe update py-parser to reject later. parser = tests/test_http_parser.py:1379: XFailed ____________________ test_http10_keep_alive_default[pyloop] ____________________ aiohttp_client = .go at 0x7f7ac965a7a0> @pytest.mark.xfail async def test_http10_keep_alive_default(aiohttp_client) -> None: async def handler(request): return web.Response() app = web.Application() app.router.add_get("/", handler) client = await aiohttp_client(app, version=HttpVersion10) resp = await client.get("/") assert 200 == resp.status assert resp.version == HttpVersion10 > assert resp.headers["Connection"] == "keep-alive" E KeyError: 'Connection' aiohttp_client = .go at 0x7f7ac965a7a0> app = client = handler = .handler at 0x7f7ac965a8e0> resp = tests/test_web_functional.py:671: KeyError _________________________ test_static_file_ssl[pyloop] _________________________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _______________________ test_unsupported_upgrade[pyloop] _______________________ aiohttp_raw_server = .go at 0x7f7ac8ac5a80> aiohttp_client = .go at 0x7f7ac8ac4e00> @pytest.mark.xfail( not helpers.NO_EXTENSIONS, raises=client.ServerDisconnectedError, reason="The behavior of C-extensions differs from pure-Python: " "https://github.com/aio-libs/aiohttp/issues/6446", ) async def test_unsupported_upgrade(aiohttp_raw_server, aiohttp_client) -> None: # don't fail if a client probes for an unsupported protocol upgrade # https://github.com/aio-libs/aiohttp/issues/6446#issuecomment-999032039 async def handler(request: web.Request): return web.Response(body=await request.read()) upgrade_headers = {"Connection": "Upgrade", "Upgrade": "unsupported_proto"} server = await aiohttp_raw_server(handler) cli = await aiohttp_client(server) test_data = b"Test" > resp = await cli.post("/path/to", data=test_data, headers=upgrade_headers) aiohttp_client = .go at 0x7f7ac8ac4e00> aiohttp_raw_server = .go at 0x7f7ac8ac5a80> cli = handler = .handler at 0x7f7ac8a1da80> server = test_data = b'Test' upgrade_headers = {'Connection': 'Upgrade', 'Upgrade': 'unsupported_proto'} tests/test_web_server.py:38: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ build/lib.linux-x86_64-cpython-311/aiohttp/test_utils.py:322: in _request resp = await self._session.request(method, self.make_url(path), **kwargs) kwargs = {'data': b'Test', 'headers': {'Connection': 'Upgrade', 'Upgrade': 'unsupported_proto'}} method = 'POST' path = '/path/to' self = build/lib.linux-x86_64-cpython-311/aiohttp/client.py:605: in _request await resp.start(conn) all_cookies = allow_redirects = True auth = None auth_from_url = None auto_decompress = True chunked = None compress = None conn = Connection cookies = None data = b'Test' expect100 = False fingerprint = None handle = None headers = history = [] json = None max_field_size = 8190 max_line_size = 8190 max_redirects = 10 method = 'POST' params = {} proxy = None proxy_auth = None proxy_headers = raise_for_status = None read_bufsize = 65536 read_until_eof = True real_timeout = ClientTimeout(total=300, connect=None, sock_read=None, sock_connect=None, ceil_threshold=5) redirects = 0 req = resp = None self = server_hostname = None skip_auto_headers = None skip_headers = set() ssl = True ssl_context = None str_or_url = URL('http://127.0.0.1:33121/path/to') timeout = <_SENTINEL.sentinel: 1> timer = tm = trace_request_ctx = None traces = [] url = URL('http://127.0.0.1:33121/path/to') verify_ssl = None version = HttpVersion(major=1, minor=1) build/lib.linux-x86_64-cpython-311/aiohttp/client_reqrep.py:966: in start message, payload = await protocol.read() # type: ignore[union-attr] connection = Connection protocol = self = None _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = async def read(self) -> _T: if not self._buffer and not self._eof: assert not self._waiter self._waiter = self._loop.create_future() try: > await self._waiter E aiohttp.client_exceptions.ServerDisconnectedError: Server disconnected self = build/lib.linux-x86_64-cpython-311/aiohttp/streams.py:622: ServerDisconnectedError ------------------------------ Captured log call ------------------------------- ERROR aiohttp.server:web_protocol.py:421 Unhandled exception Traceback (most recent call last): File "/home/buildozer/aports/community/py3-aiohttp/src/aiohttp-3.9.3/build/lib.linux-x86_64-cpython-311/aiohttp/web_protocol.py", line 531, in start resp, reset = await task ^^^^^^^^^^ File "/home/buildozer/aports/community/py3-aiohttp/src/aiohttp-3.9.3/build/lib.linux-x86_64-cpython-311/aiohttp/web_protocol.py", line 477, in _handle_request reset = await self.finish_response(request, resp, start_time) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/buildozer/aports/community/py3-aiohttp/src/aiohttp-3.9.3/build/lib.linux-x86_64-cpython-311/aiohttp/web_protocol.py", line 616, in finish_response self._request_parser.feed_data(self._message_tail) File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data raise ex aiohttp.http_exceptions.BadStatusLine: 400, message: Invalid method encountered: b'Test' ^ _______________ test_decoded_url_match[pyloop-urldecoded_route] ________________ aiohttp_client = .go at 0x7f7ac8a1fa60> route_definition = '/467,802,24834/hello' urlencoded_path = '/467%2C802%2C24834/hello', expected_http_resp_status = 200 @pytest.mark.xfail( raises=AssertionError, reason="Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621", ) @pytest.mark.parametrize( ("route_definition", "urlencoded_path", "expected_http_resp_status"), ( ("/467,802,24834/hello", "/467%2C802%2C24834/hello", 200), ("/{user_ids:([0-9]+)(,([0-9]+))*}/hello", "/467%2C802%2C24834/hello", 200), ("/1%2C3/hello", "/1%2C3/hello", 404), ), ids=("urldecoded_route", "urldecoded_route_with_regex", "urlencoded_route"), ) async def test_decoded_url_match( aiohttp_client: AiohttpClient, route_definition: str, urlencoded_path: str, expected_http_resp_status: int, ) -> None: app = web.Application() async def handler(request: web.Request) -> web.Response: return web.Response() app.router.add_get(route_definition, handler) client = await aiohttp_client(app) r = await client.get(yarl.URL(urlencoded_path, encoded=True)) > assert r.status == expected_http_resp_status E AssertionError: assert 404 == 200 E + where 404 = \n\n.status aiohttp_client = .go at 0x7f7ac8a1fa60> app = client = expected_http_resp_status = 200 handler = .handler at 0x7f7ac8a1ccc0> r = route_definition = '/467,802,24834/hello' urlencoded_path = '/467%2C802%2C24834/hello' tests/test_web_urldispatcher.py:657: AssertionError __________ test_decoded_url_match[pyloop-urldecoded_route_with_regex] __________ aiohttp_client = .go at 0x7f7ac8a68040> route_definition = '/{user_ids:([0-9]+)(,([0-9]+))*}/hello' urlencoded_path = '/467%2C802%2C24834/hello', expected_http_resp_status = 200 @pytest.mark.xfail( raises=AssertionError, reason="Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621", ) @pytest.mark.parametrize( ("route_definition", "urlencoded_path", "expected_http_resp_status"), ( ("/467,802,24834/hello", "/467%2C802%2C24834/hello", 200), ("/{user_ids:([0-9]+)(,([0-9]+))*}/hello", "/467%2C802%2C24834/hello", 200), ("/1%2C3/hello", "/1%2C3/hello", 404), ), ids=("urldecoded_route", "urldecoded_route_with_regex", "urlencoded_route"), ) async def test_decoded_url_match( aiohttp_client: AiohttpClient, route_definition: str, urlencoded_path: str, expected_http_resp_status: int, ) -> None: app = web.Application() async def handler(request: web.Request) -> web.Response: return web.Response() app.router.add_get(route_definition, handler) client = await aiohttp_client(app) r = await client.get(yarl.URL(urlencoded_path, encoded=True)) > assert r.status == expected_http_resp_status E AssertionError: assert 404 == 200 E + where 404 = \n\n.status aiohttp_client = .go at 0x7f7ac8a68040> app = client = expected_http_resp_status = 200 handler = .handler at 0x7f7ac8a68400> r = route_definition = '/{user_ids:([0-9]+)(,([0-9]+))*}/hello' urlencoded_path = '/467%2C802%2C24834/hello' tests/test_web_urldispatcher.py:657: AssertionError _______________ test_decoded_url_match[pyloop-urlencoded_route] ________________ aiohttp_client = .go at 0x7f7ac8a1fce0> route_definition = '/1%2C3/hello', urlencoded_path = '/1%2C3/hello' expected_http_resp_status = 404 @pytest.mark.xfail( raises=AssertionError, reason="Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621", ) @pytest.mark.parametrize( ("route_definition", "urlencoded_path", "expected_http_resp_status"), ( ("/467,802,24834/hello", "/467%2C802%2C24834/hello", 200), ("/{user_ids:([0-9]+)(,([0-9]+))*}/hello", "/467%2C802%2C24834/hello", 200), ("/1%2C3/hello", "/1%2C3/hello", 404), ), ids=("urldecoded_route", "urldecoded_route_with_regex", "urlencoded_route"), ) async def test_decoded_url_match( aiohttp_client: AiohttpClient, route_definition: str, urlencoded_path: str, expected_http_resp_status: int, ) -> None: app = web.Application() async def handler(request: web.Request) -> web.Response: return web.Response() app.router.add_get(route_definition, handler) client = await aiohttp_client(app) r = await client.get(yarl.URL(urlencoded_path, encoded=True)) > assert r.status == expected_http_resp_status E AssertionError: assert 200 == 404 E + where 200 = \n\n.status aiohttp_client = .go at 0x7f7ac8a1fce0> app = client = expected_http_resp_status = 404 handler = .handler at 0x7f7ac8a1f240> r = route_definition = '/1%2C3/hello' urlencoded_path = '/1%2C3/hello' tests/test_web_urldispatcher.py:657: AssertionError ___ test__create_ssl_context_without_certs_and_ciphers[AsyncioWorker-pyloop] ___ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _________ test__create_ssl_context_with_ciphers[AsyncioWorker-pyloop] __________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed _________ test__create_ssl_context_with_ca_certs[AsyncioWorker-pyloop] _________ @pytest.fixture def tls_certificate_authority(): if not TRUSTME: > pytest.xfail("trustme is not supported") E _pytest.outcomes.XFailed: trustme is not supported tests/conftest.py:34: XFailed ============================= slowest 10 durations ============================= 10.02s call tests/test_run_app.py::TestShutdown::test_shutdown_new_conn_rejected 4.01s call tests/test_run_app.py::TestShutdown::test_shutdown_pending_handler_responds 3.01s call tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_spawned_task 3.01s call tests/test_run_app.py::TestShutdown::test_shutdown_wait_for_task 2.01s call tests/test_run_app.py::TestShutdown::test_shutdown_timeout_task 2.01s call tests/test_run_app.py::TestShutdown::test_shutdown_timeout_not_reached 2.01s call tests/test_client_functional.py::test_read_timeout_between_chunks[pyloop] 2.00s call tests/test_client_functional.py::test_set_cookies_max_age[pyloop] 1.01s call tests/test_run_app.py::TestShutdown::test_shutdown_close_websockets 1.01s call tests/test_run_app.py::TestShutdown::test_shutdown_close_idle_keepalive =========================== short test summary info ============================ SKIPPED [1] tests/test_client_session.py:781: The check is applied in DEBUG mode only SKIPPED [1] tests/test_connector.py:1966: Proactor Event loop present only in Windows SKIPPED [1] tests/test_connector.py:1974: Proactor Event loop present only in Windows SKIPPED [1] tests/test_connector.py:1985: Proactor Event loop present only in Windows SKIPPED [1] tests/test_connector.py:2168: Proactor Event loop present only in Windows SKIPPED [1] tests/test_multipart_helpers.py:99: need more smart parser which respects quoted text SKIPPED [1] tests/test_multipart_helpers.py:446: should raise decoding error: %82 is invalid for latin1 SKIPPED [1] tests/test_multipart_helpers.py:455: should raise decoding error: %E4 is invalid for utf-8 SKIPPED [1] tests/test_multipart_helpers.py:510: urllib.parse.unquote is tolerate to standalone % chars SKIPPED [1] tests/test_multipart_helpers.py:519: urllib.parse.unquote is tolerate to standalone % chars SKIPPED [1] tests/test_resolver.py:48: aiodns 1.1 required SKIPPED [1] tests/test_resolver.py:58: aiodns required SKIPPED [1] tests/test_resolver.py:69: aiodns 1.1 required SKIPPED [1] tests/test_resolver.py:80: aiodns required SKIPPED [1] tests/test_resolver.py:91: aiodns 1.1 required SKIPPED [1] tests/test_resolver.py:100: aiodns required SKIPPED [1] tests/test_resolver.py:110: aiodns required SKIPPED [1] tests/test_resolver.py:120: aiodns 1.1 required SKIPPED [1] tests/test_resolver.py:212: aiodns required SKIPPED [1] tests/test_resolver.py:224: aiodns required SKIPPED [1] tests/test_resolver.py:231: aiodns 1.1 required SKIPPED [1] tests/test_resolver.py:241: aiodns required SKIPPED [1] tests/test_web_app.py:365: The check is applied in DEBUG mode only SKIPPED [1] tests/test_web_runner.py:121: Proactor Event loop present only in Windows SKIPPED [1] tests/test_web_runner.py:131: Proactor Event loop present only in Windows XFAIL tests/test_client_functional.py::test_ssl_client[pyloop] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_tcp_connector_fingerprint_ok[pyloop] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_tcp_connector_fingerprint_fail[pyloop] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_broken_connection[pyloop] XFAIL tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-entirely different hosts] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-http -> https] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_drop_auth_on_redirect_to_other_host[pyloop-https -> http] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_aiohttp_request_ctx_manager_close_sess_on_error[pyloop] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_error_in_performing_request[pyloop] - reason: trustme is not supported XFAIL tests/test_client_functional.py::test_rejected_upload[pyloop] - #7599 XFAIL tests/test_client_request.py::test_verify_ssl_false_with_ssl_context[pyloop] - reason: trustme is not supported XFAIL tests/test_connector.py::test_del_with_scheduled_cleanup[pyloop] XFAIL tests/test_connector.py::test_tcp_connector_raise_connector_ssl_error[pyloop] - reason: trustme is not supported XFAIL tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-ip address] - reason: trustme is not supported XFAIL tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-domain name] - reason: trustme is not supported XFAIL tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name] - reason: trustme is not supported XFAIL tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-fully-qualified domain name with multiple trailing dots] - reason: trustme is not supported XFAIL tests/test_connector.py::test_tcp_connector_do_not_raise_connector_ssl_error[pyloop-idna fully-qualified domain name] - reason: trustme is not supported XFAIL tests/test_http_parser.py::test_parse_unusual_request_line[py-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_parse_unusual_request_line[c-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_invalid_header_spacing[py-parser-pyloop-pre-empty-post-empty-name-empty] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_invalid_header_spacing[c-parser-pyloop-pre-empty-post-empty-name-empty] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_empty_header_name[py-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_empty_header_name[c-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_http_request_parser_utf8_request_line[py-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_http_request_parser_utf8_request_line[c-parser-pyloop] - reason: Regression test for Py parser. May match C behaviour later. XFAIL tests/test_http_parser.py::test_parse_uri_utf8[c-parser-pyloop] - reason: Not valid HTTP. Maybe update py-parser to reject later. XFAIL tests/test_web_functional.py::test_http10_keep_alive_default[pyloop] XFAIL tests/test_web_sendfile_functional.py::test_static_file_ssl[pyloop] - reason: trustme is not supported XFAIL tests/test_web_server.py::test_unsupported_upgrade[pyloop] - The behavior of C-extensions differs from pure-Python: https://github.com/aio-libs/aiohttp/issues/6446 XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621 XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urldecoded_route_with_regex] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621 XFAIL tests/test_web_urldispatcher.py::test_decoded_url_match[pyloop-urlencoded_route] - Regression in v3.7: https://github.com/aio-libs/aiohttp/issues/5621 XFAIL tests/test_worker.py::test__create_ssl_context_without_certs_and_ciphers[AsyncioWorker-pyloop] - reason: trustme is not supported XFAIL tests/test_worker.py::test__create_ssl_context_with_ciphers[AsyncioWorker-pyloop] - reason: trustme is not supported XFAIL tests/test_worker.py::test__create_ssl_context_with_ca_certs[AsyncioWorker-pyloop] - reason: trustme is not supported === 2956 passed, 25 skipped, 62 deselected, 36 xfailed in 133.35s (0:02:13) ==== >>> py3-aiohttp: Entering fakeroot... >>> py3-aiohttp-pyc*: Running split function pyc... '/home/buildozer/aports/community/py3-aiohttp/pkg/py3-aiohttp/usr/lib/python3.11/site-packages/aiohttp/__pycache__' -> '/home/buildozer/aports/community/py3-aiohttp/pkg/py3-aiohttp-pyc/usr/lib/python3.11/site-packages/aiohttp/__pycache__' >>> py3-aiohttp-pyc*: Preparing subpackage py3-aiohttp-pyc... >>> py3-aiohttp-pyc*: Running postcheck for py3-aiohttp-pyc >>> py3-aiohttp*: Running postcheck for py3-aiohttp >>> py3-aiohttp*: Preparing package py3-aiohttp... >>> py3-aiohttp*: Stripping binaries >>> py3-aiohttp-pyc*: Scanning shared objects >>> py3-aiohttp*: Scanning shared objects >>> py3-aiohttp-pyc*: Tracing dependencies... py3-aiosignal py3-async-timeout py3-attrs py3-brotli py3-charset-normalizer py3-idna-ssl py3-multidict py3-typing-extensions py3-yarl python3 python3~3.11 >>> py3-aiohttp-pyc*: Package size: 1.1 MB >>> py3-aiohttp-pyc*: Compressing data... >>> py3-aiohttp-pyc*: Create checksum... >>> py3-aiohttp-pyc*: Create py3-aiohttp-pyc-3.9.3-r0.apk >>> py3-aiohttp*: Tracing dependencies... py3-aiosignal py3-async-timeout py3-attrs py3-brotli py3-charset-normalizer py3-idna-ssl py3-multidict py3-typing-extensions py3-yarl python3 python3~3.11 so:libc.musl-x86_64.so.1 >>> py3-aiohttp*: Package size: 1.4 MB >>> py3-aiohttp*: Compressing data... >>> py3-aiohttp*: Create checksum... >>> py3-aiohttp*: Create py3-aiohttp-3.9.3-r0.apk >>> py3-aiohttp: Build complete at Wed, 20 Mar 2024 19:47:56 +0000 elapsed time 0h 2m 43s >>> py3-aiohttp: Cleaning up srcdir >>> py3-aiohttp: Cleaning up pkgdir >>> py3-aiohttp: Uninstalling dependencies... (1/78) Purging .makedepends-py3-aiohttp (20240320.194515) (2/78) Purging py3-aiosignal-pyc (1.3.1-r2) (3/78) Purging py3-aiosignal (1.3.1-r2) (4/78) Purging py3-frozenlist-pyc (1.4.1-r0) (5/78) Purging py3-frozenlist (1.4.1-r0) (6/78) Purging py3-async-timeout-pyc (4.0.3-r0) (7/78) Purging py3-async-timeout (4.0.3-r0) (8/78) Purging py3-attrs-pyc (23.2.0-r0) (9/78) Purging py3-attrs (23.2.0-r0) (10/78) Purging py3-brotli-pyc (1.1.0-r1) (11/78) Purging py3-brotli (1.1.0-r1) (12/78) Purging py3-charset-normalizer-pyc (3.3.2-r0) (13/78) Purging py3-charset-normalizer (3.3.2-r0) (14/78) Purging py3-idna-ssl-pyc (1.1.0-r8) (15/78) Purging py3-idna-ssl (1.1.0-r8) (16/78) Purging py3-typing-extensions-pyc (4.10.0-r0) (17/78) Purging py3-typing-extensions (4.10.0-r0) (18/78) Purging py3-yarl-pyc (1.9.4-r0) (19/78) Purging py3-yarl (1.9.4-r0) (20/78) Purging py3-idna-pyc (3.6-r0) (21/78) Purging py3-idna (3.6-r0) (22/78) Purging py3-multidict-pyc (6.0.5-r0) (23/78) Purging py3-multidict (6.0.5-r0) (24/78) Purging python3-dev (3.11.8-r0) (25/78) Purging py3-gpep517-pyc (15-r1) (26/78) Purging py3-gpep517 (15-r1) (27/78) Purging py3-installer-pyc (0.7.0-r1) (28/78) Purging py3-installer (0.7.0-r1) (29/78) Purging py3-setuptools-pyc (69.2.0-r0) (30/78) Purging py3-setuptools (69.2.0-r0) (31/78) Purging py3-wheel-pyc (0.42.0-r0) (32/78) Purging py3-wheel (0.42.0-r0) (33/78) Purging py3-async_generator-pyc (1.10-r5) (34/78) Purging py3-async_generator (1.10-r5) (35/78) Purging py3-freezegun-pyc (1.4.0-r0) (36/78) Purging py3-freezegun (1.4.0-r0) (37/78) Purging py3-dateutil-pyc (2.9.0-r0) (38/78) Purging py3-dateutil (2.9.0-r0) (39/78) Purging py3-six-pyc (1.16.0-r8) (40/78) Purging py3-six (1.16.0-r8) (41/78) Purging py3-gunicorn-pyc (21.2.0-r0) (42/78) Purging py3-gunicorn (21.2.0-r0) (43/78) Purging py3-pytest-cov-pyc (4.1.0-r0) (44/78) Purging py3-pytest-cov (4.1.0-r0) (45/78) Purging py3-coverage-pyc (6.5.0-r5) (46/78) Purging py3-coverage (6.5.0-r5) (47/78) Purging py3-pytest-mock-pyc (3.10.0-r2) (48/78) Purging py3-pytest-mock (3.10.0-r2) (49/78) Purging py3-mock-pyc (5.1.0-r1) (50/78) Purging py3-mock (5.1.0-r1) (51/78) Purging py3-pytest-pyc (8.0.2-r0) (52/78) Purging py3-pytest (8.0.2-r0) (53/78) Purging py3-iniconfig-pyc (1.1.1-r8) (54/78) Purging py3-iniconfig (1.1.1-r8) (55/78) Purging py3-packaging-pyc (24.0-r0) (56/78) Purging py3-packaging (24.0-r0) (57/78) Purging py3-parsing-pyc (3.1.2-r0) (58/78) Purging py3-parsing (3.1.2-r0) (59/78) Purging py3-pluggy-pyc (1.4.0-r0) (60/78) Purging py3-pluggy (1.4.0-r0) (61/78) Purging py3-py-pyc (1.11.0-r2) (62/78) Purging py3-py (1.11.0-r2) (63/78) Purging py3-re-assert-pyc (1.1.0-r4) (64/78) Purging py3-re-assert (1.1.0-r4) (65/78) Purging py3-regex-pyc (2023.12.26-r0) (66/78) Purging py3-regex (2023.12.26-r0) (67/78) Purging python3-pyc (3.11.8-r0) (68/78) Purging python3-pycache-pyc0 (3.11.8-r0) (69/78) Purging pyc (3.11.8-r0) (70/78) Purging python3 (3.11.8-r0) (71/78) Purging gdbm (1.23-r1) (72/78) Purging libbz2 (1.0.8-r6) (73/78) Purging libffi (3.4.6-r0) (74/78) Purging libpanelw (6.4_p20240309-r0) (75/78) Purging mpdecimal (4.0.0-r0) (76/78) Purging readline (8.2.10-r0) (77/78) Purging sqlite-libs (3.45.2-r0) (78/78) Purging xz-libs (5.6.1-r1) Executing busybox-1.36.1-r21.trigger OK: 378 MiB in 107 packages >>> py3-aiohttp: Updating the community/x86_64 repository index... >>> py3-aiohttp: Signing the index...