============================= test session starts ============================== platform sunos5 -- Python $(PYTHON_VERSION).X -- $(PYTHON) cachedir: .pytest_cache rootdir: $(@D) configfile: pyproject.toml collecting ... collected 819 items tests/importer/test_importer.py::test_invalid_format PASSED tests/importer/test_importer.py::test_invalid_module PASSED tests/importer/test_importer.py::test_invalid_attr PASSED tests/importer/test_importer.py::test_internal_import_error PASSED tests/importer/test_importer.py::test_valid_import PASSED tests/importer/test_importer.py::test_no_import_needed PASSED tests/importer/test_importer.py::test_circular_import_error PASSED tests/middleware/test_logging.py::test_trace_logging PASSED tests/middleware/test_logging.py::test_trace_logging_on_http_protocol[httptools] SKIPPED tests/middleware/test_logging.py::test_trace_logging_on_http_protocol[h11] PASSED tests/middleware/test_logging.py::test_trace_logging_on_ws_protocol[wsproto] SKIPPED tests/middleware/test_logging.py::test_trace_logging_on_ws_protocol[websockets] PASSED tests/middleware/test_logging.py::test_access_logging[True] PASSED tests/middleware/test_logging.py::test_access_logging[False] PASSED tests/middleware/test_logging.py::test_access_logging[None] PASSED tests/middleware/test_logging.py::test_default_logging[True] PASSED tests/middleware/test_logging.py::test_default_logging[False] PASSED tests/middleware/test_logging.py::test_running_log_using_uds PASSED tests/middleware/test_logging.py::test_running_log_using_fd PASSED tests/middleware/test_logging.py::test_unknown_status_code PASSED tests/middleware/test_logging.py::test_server_start_with_port_zero PASSED tests/middleware/test_message_logger.py::test_message_logger PASSED tests/middleware/test_message_logger.py::test_message_logger_exc PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts0-127.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts1-127.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts2-127.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts3-127.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts4-10.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts5-10.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts6-10.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts7-10.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts8-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts9-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts10-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts11-2001:db8::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts12-2001:db8:abcd:0012::0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts13-2001:db8:abcd:0012::1:1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts14-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts15-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts16-2001:db8:3333:4444:5555:6666:102:304-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts17-::b16:212c-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts18-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts19-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts20-some-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts21-unix:///foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts22-/foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts23-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts24-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts25-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts26-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts27--False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-127.0.0.0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-127.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-127.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-127.255.255.255-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-10.0.0.0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-10.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-10.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-10.255.255.255-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-192.168.0.0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-192.168.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-1.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts39-1.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-2001:db8::-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-2001:db8:abcd:0012::0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-2001:db8:abcd:0012::1:1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-::-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-::1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-2001:db8:3333:4444:5555:6666:102:304-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-::b16:212c-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-a:b:c:d::-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-::a:b:c:d-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts49-::a:b:c:d-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-some-literal-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-unix:///foo/bar-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-/foo/bar-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-*-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-another-literal-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-unix:///another/path-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*-/another/path-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[*--True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts58--True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-127.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-127.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-127.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-127.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-10.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-10.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-10.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-10.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-2001:db8::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-2001:db8:abcd:0012::0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-2001:db8:abcd:0012::1:1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-2001:db8:3333:4444:5555:6666:102:304-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-::b16:212c-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-some-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-unix:///foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-/foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[127.0.0.1, 10.0.0.1--False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts87-127.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts88-127.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts89-127.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts90-127.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts91-10.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts92-10.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts93-10.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts94-10.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts95-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts96-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts97-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts98-2001:db8::-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts99-2001:db8:abcd:0012::0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts100-2001:db8:abcd:0012::1:1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts101-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts102-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts103-2001:db8:3333:4444:5555:6666:102:304-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts104-::b16:212c-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts105-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts106-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts107-some-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts108-unix:///foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts109-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts110-/foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts111-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts112-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts113-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts114--False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts115-127.0.0.0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts116-127.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts117-127.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts118-127.255.255.255-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts119-10.0.0.0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts120-10.0.0.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts121-10.1.1.1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts122-10.255.255.255-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts123-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts124-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts125-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts126-2001:db8::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts127-2001:db8:abcd:0012::0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts128-2001:db8:abcd:0012::1:1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts129-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts130-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts131-2001:db8:3333:4444:5555:6666:102:304-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts132-::b16:212c-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts133-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts134-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts135-some-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts136-unix:///foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts137-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts138-/foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts139-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts140-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts141-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[init_hosts142--False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-127.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-127.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-127.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-127.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-10.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-10.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-10.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-10.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-2001:db8::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-2001:db8:abcd:0012::0-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-2001:db8:abcd:0012::1:1-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-2001:db8:3333:4444:5555:6666:102:304-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-::b16:212c-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-some-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-unix:///foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-/foo/bar-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[2001:db8:abcd:0012::0/64--False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-127.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-127.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-127.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-127.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-10.0.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-10.0.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-10.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-10.255.255.255-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-192.168.0.0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-192.168.0.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-1.1.1.1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-2001:db8::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-2001:db8:abcd:0012::0-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-2001:db8:abcd:0012::1:1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-::1-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-2001:db8:3333:4444:5555:6666:102:304-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-::b16:212c-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-a:b:c:d::-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-::a:b:c:d-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-some-literal-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-unix:///foo/bar-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-*-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-/foo/bar-True] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-another-literal-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-unix:///another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*-/another/path-False] PASSED tests/middleware/test_proxy_headers.py::test_forwarded_hosts[some-literal , unix:///foo/bar , /foo/bar, garba*gewith*--False] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[*-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[127.0.0.1-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[trusted_hosts2-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[trusted_hosts3-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[127.0.0.1, 10.0.0.1-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[127.0.0.0/24, 10.0.0.1-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[192.168.0.1-http://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[192.168.0.0/16-http://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts[trusted_hosts8-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[--http://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[-None-http://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[-asdf-http://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[ , -https-https://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[, , -https-https://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[ , 10.0.0.1-https-https://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[9.9.9.9 , , , 10.0.0.1-https-https://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[, , 9.9.9.9-https-https://9.9.9.9:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_trusted_hosts_malformed[, , 9.9.9.9, , -https-https://127.0.0.1:123] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_multiple_proxies[*-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_multiple_proxies[trusted_hosts1-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_multiple_proxies[trusted_hosts2-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_multiple_proxies[trusted_hosts3-https://10.0.2.1:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_multiple_proxies[trusted_hosts4-https://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_invalid_x_forwarded_for PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-httptools-http-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-httptools-https-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-httptools-ws-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-httptools-wss-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-h11-http-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-h11-https-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-h11-ws-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[wsproto-h11-wss-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-httptools-http-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-httptools-https-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-httptools-ws-ws://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-httptools-wss-wss://1.2.3.4:0] SKIPPED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-h11-http-ws://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-h11-https-wss://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-h11-ws-ws://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_websocket_x_forwarded_proto[websockets-h11-wss-wss://1.2.3.4:0] PASSED tests/middleware/test_proxy_headers.py::test_proxy_headers_empty_x_forwarded_for PASSED tests/middleware/test_wsgi.py::test_wsgi_get[_WSGIMiddleware] PASSED tests/middleware/test_wsgi.py::test_wsgi_post[_WSGIMiddleware] PASSED tests/middleware/test_wsgi.py::test_wsgi_put_more_body[_WSGIMiddleware] PASSED tests/middleware/test_wsgi.py::test_wsgi_exception[_WSGIMiddleware] PASSED tests/middleware/test_wsgi.py::test_wsgi_exc_info[_WSGIMiddleware] PASSED tests/middleware/test_wsgi.py::test_build_environ_encoding PASSED tests/protocols/test_http.py::test_get_request[httptools] SKIPPED (h...) tests/protocols/test_http.py::test_get_request[h11] PASSED tests/protocols/test_http.py::test_header_value_allowed_characters[httptools-allow_ascii_letter] SKIPPED tests/protocols/test_http.py::test_header_value_allowed_characters[httptools-allow_tab] SKIPPED tests/protocols/test_http.py::test_header_value_allowed_characters[httptools-allow_space] SKIPPED tests/protocols/test_http.py::test_header_value_allowed_characters[httptools-allow_non_ascii_char] SKIPPED tests/protocols/test_http.py::test_header_value_allowed_characters[h11-allow_ascii_letter] PASSED tests/protocols/test_http.py::test_header_value_allowed_characters[h11-allow_tab] PASSED tests/protocols/test_http.py::test_header_value_allowed_characters[h11-allow_space] PASSED tests/protocols/test_http.py::test_header_value_allowed_characters[h11-allow_non_ascii_char] PASSED tests/protocols/test_http.py::test_request_logging[httptools-/] SKIPPED tests/protocols/test_http.py::test_request_logging[httptools-/?foo] SKIPPED tests/protocols/test_http.py::test_request_logging[httptools-/?foo=bar] SKIPPED tests/protocols/test_http.py::test_request_logging[httptools-/?foo=bar&baz=1] SKIPPED tests/protocols/test_http.py::test_request_logging[h11-/] PASSED tests/protocols/test_http.py::test_request_logging[h11-/?foo] PASSED tests/protocols/test_http.py::test_request_logging[h11-/?foo=bar] PASSED tests/protocols/test_http.py::test_request_logging[h11-/?foo=bar&baz=1] PASSED tests/protocols/test_http.py::test_head_request[httptools] SKIPPED (...) tests/protocols/test_http.py::test_head_request[h11] PASSED tests/protocols/test_http.py::test_post_request[httptools] SKIPPED (...) tests/protocols/test_http.py::test_post_request[h11] PASSED tests/protocols/test_http.py::test_keepalive[httptools] SKIPPED (htt...) tests/protocols/test_http.py::test_keepalive[h11] PASSED tests/protocols/test_http.py::test_keepalive_timeout[httptools] SKIPPED tests/protocols/test_http.py::test_keepalive_timeout[h11] PASSED tests/protocols/test_http.py::test_keepalive_timeout_with_pipelined_requests[httptools] SKIPPED tests/protocols/test_http.py::test_keepalive_timeout_with_pipelined_requests[h11] PASSED tests/protocols/test_http.py::test_close[httptools] SKIPPED (httptoo...) tests/protocols/test_http.py::test_close[h11] PASSED tests/protocols/test_http.py::test_chunked_encoding[httptools] SKIPPED tests/protocols/test_http.py::test_chunked_encoding[h11] PASSED tests/protocols/test_http.py::test_chunked_encoding_empty_body[httptools] SKIPPED tests/protocols/test_http.py::test_chunked_encoding_empty_body[h11] PASSED tests/protocols/test_http.py::test_chunked_encoding_head_request[httptools] SKIPPED tests/protocols/test_http.py::test_chunked_encoding_head_request[h11] PASSED tests/protocols/test_http.py::test_pipelined_requests[httptools] SKIPPED tests/protocols/test_http.py::test_pipelined_requests[h11] PASSED tests/protocols/test_http.py::test_undersized_request[httptools] SKIPPED tests/protocols/test_http.py::test_undersized_request[h11] PASSED tests/protocols/test_http.py::test_oversized_request[httptools] SKIPPED tests/protocols/test_http.py::test_oversized_request[h11] PASSED tests/protocols/test_http.py::test_large_post_request[httptools] SKIPPED tests/protocols/test_http.py::test_large_post_request[h11] PASSED tests/protocols/test_http.py::test_invalid_http[httptools] SKIPPED (...) tests/protocols/test_http.py::test_invalid_http[h11] PASSED tests/protocols/test_http.py::test_app_exception[httptools] SKIPPED tests/protocols/test_http.py::test_app_exception[h11] PASSED tests/protocols/test_http.py::test_exception_during_response[httptools] SKIPPED tests/protocols/test_http.py::test_exception_during_response[h11] PASSED tests/protocols/test_http.py::test_no_response_returned[httptools] SKIPPED tests/protocols/test_http.py::test_no_response_returned[h11] PASSED tests/protocols/test_http.py::test_partial_response_returned[httptools] SKIPPED tests/protocols/test_http.py::test_partial_response_returned[h11] PASSED tests/protocols/test_http.py::test_response_header_splitting[httptools] SKIPPED tests/protocols/test_http.py::test_response_header_splitting[h11] PASSED tests/protocols/test_http.py::test_duplicate_start_message[httptools] SKIPPED tests/protocols/test_http.py::test_duplicate_start_message[h11] PASSED tests/protocols/test_http.py::test_missing_start_message[httptools] SKIPPED tests/protocols/test_http.py::test_missing_start_message[h11] PASSED tests/protocols/test_http.py::test_message_after_body_complete[httptools] SKIPPED tests/protocols/test_http.py::test_message_after_body_complete[h11] PASSED tests/protocols/test_http.py::test_value_returned[httptools] SKIPPED tests/protocols/test_http.py::test_value_returned[h11] PASSED tests/protocols/test_http.py::test_early_disconnect[httptools] SKIPPED tests/protocols/test_http.py::test_early_disconnect[h11] PASSED tests/protocols/test_http.py::test_early_response[httptools] SKIPPED tests/protocols/test_http.py::test_early_response[h11] PASSED tests/protocols/test_http.py::test_read_after_response[httptools] SKIPPED tests/protocols/test_http.py::test_read_after_response[h11] PASSED tests/protocols/test_http.py::test_http10_request[httptools] SKIPPED tests/protocols/test_http.py::test_http10_request[h11] PASSED tests/protocols/test_http.py::test_root_path[httptools] SKIPPED (htt...) tests/protocols/test_http.py::test_root_path[h11] PASSED tests/protocols/test_http.py::test_raw_path[httptools] SKIPPED (http...) tests/protocols/test_http.py::test_raw_path[h11] PASSED tests/protocols/test_http.py::test_max_concurrency[httptools] SKIPPED tests/protocols/test_http.py::test_max_concurrency[h11] PASSED tests/protocols/test_http.py::test_shutdown_during_request[httptools] SKIPPED tests/protocols/test_http.py::test_shutdown_during_request[h11] PASSED tests/protocols/test_http.py::test_shutdown_during_idle[httptools] SKIPPED tests/protocols/test_http.py::test_shutdown_during_idle[h11] PASSED tests/protocols/test_http.py::test_100_continue_sent_when_body_consumed[httptools] SKIPPED tests/protocols/test_http.py::test_100_continue_sent_when_body_consumed[h11] PASSED tests/protocols/test_http.py::test_100_continue_not_sent_when_body_not_consumed[httptools] SKIPPED tests/protocols/test_http.py::test_100_continue_not_sent_when_body_not_consumed[h11] PASSED tests/protocols/test_http.py::test_supported_upgrade_request[httptools] SKIPPED tests/protocols/test_http.py::test_supported_upgrade_request[h11] SKIPPED tests/protocols/test_http.py::test_unsupported_ws_upgrade_request[httptools] SKIPPED tests/protocols/test_http.py::test_unsupported_ws_upgrade_request[h11] PASSED tests/protocols/test_http.py::test_unsupported_ws_upgrade_request_warn_on_auto[httptools] SKIPPED tests/protocols/test_http.py::test_unsupported_ws_upgrade_request_warn_on_auto[h11] PASSED tests/protocols/test_http.py::test_http2_upgrade_request[httptools-wsproto] SKIPPED tests/protocols/test_http.py::test_http2_upgrade_request[httptools-websockets] SKIPPED tests/protocols/test_http.py::test_http2_upgrade_request[h11-wsproto] SKIPPED tests/protocols/test_http.py::test_http2_upgrade_request[h11-websockets] PASSED tests/protocols/test_http.py::test_scopes[httptools-asgi3app-expected_scopes0] SKIPPED tests/protocols/test_http.py::test_scopes[httptools-asgi2app-expected_scopes1] SKIPPED tests/protocols/test_http.py::test_scopes[h11-asgi3app-expected_scopes0] PASSED tests/protocols/test_http.py::test_scopes[h11-asgi2app-expected_scopes1] PASSED tests/protocols/test_http.py::test_invalid_http_request[httptools-invalid-method] SKIPPED tests/protocols/test_http.py::test_invalid_http_request[httptools-invalid-path] SKIPPED tests/protocols/test_http.py::test_invalid_http_request[httptools-invalid-http-version] SKIPPED tests/protocols/test_http.py::test_invalid_http_request[h11-invalid-method] PASSED tests/protocols/test_http.py::test_invalid_http_request[h11-invalid-path] PASSED tests/protocols/test_http.py::test_invalid_http_request[h11-invalid-http-version] PASSED tests/protocols/test_http.py::test_fragmentation SKIPPED (httptools ...) tests/protocols/test_http.py::test_huge_headers_h11protocol_failure PASSED tests/protocols/test_http.py::test_huge_headers_httptools_will_pass SKIPPED tests/protocols/test_http.py::test_huge_headers_h11protocol_failure_with_setting PASSED tests/protocols/test_http.py::test_huge_headers_httptools SKIPPED (h...) tests/protocols/test_http.py::test_huge_headers_h11_max_incomplete PASSED tests/protocols/test_http.py::test_return_close_header[httptools] SKIPPED tests/protocols/test_http.py::test_return_close_header[h11] PASSED tests/protocols/test_http.py::test_close_connection_with_multiple_requests[httptools] SKIPPED tests/protocols/test_http.py::test_close_connection_with_multiple_requests[h11] PASSED tests/protocols/test_http.py::test_close_connection_with_post_request[httptools] SKIPPED tests/protocols/test_http.py::test_close_connection_with_post_request[h11] PASSED tests/protocols/test_http.py::test_iterator_headers[httptools] SKIPPED tests/protocols/test_http.py::test_iterator_headers[h11] PASSED tests/protocols/test_http.py::test_lifespan_state[httptools] SKIPPED tests/protocols/test_http.py::test_lifespan_state[h11] PASSED tests/protocols/test_http.py::test_header_upgrade_is_not_websocket_depend_installed[httptools] SKIPPED tests/protocols/test_http.py::test_header_upgrade_is_not_websocket_depend_installed[h11] PASSED tests/protocols/test_http.py::test_header_upgrade_is_websocket_depend_not_installed[httptools] SKIPPED tests/protocols/test_http.py::test_header_upgrade_is_websocket_depend_not_installed[h11] PASSED tests/protocols/test_utils.py::test_get_local_addr_with_socket PASSED tests/protocols/test_utils.py::test_get_remote_addr_with_socket PASSED tests/protocols/test_utils.py::test_get_local_addr PASSED tests/protocols/test_utils.py::test_get_remote_addr PASSED tests/protocols/test_utils.py::test_get_client_addr[ip:port client] PASSED tests/protocols/test_utils.py::test_get_client_addr[None client] PASSED tests/protocols/test_websocket.py::test_invalid_upgrade[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_invalid_upgrade[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_invalid_upgrade[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_invalid_upgrade[websockets-h11] PASSED tests/protocols/test_websocket.py::test_accept_connection[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_accept_connection[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_accept_connection[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_accept_connection[websockets-h11] PASSED tests/protocols/test_websocket.py::test_shutdown[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_shutdown[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_shutdown[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_shutdown[websockets-h11] PASSED tests/protocols/test_websocket.py::test_supports_permessage_deflate_extension[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_supports_permessage_deflate_extension[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_supports_permessage_deflate_extension[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_supports_permessage_deflate_extension[websockets-h11] PASSED tests/protocols/test_websocket.py::test_can_disable_permessage_deflate_extension[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_can_disable_permessage_deflate_extension[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_can_disable_permessage_deflate_extension[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_can_disable_permessage_deflate_extension[websockets-h11] PASSED tests/protocols/test_websocket.py::test_close_connection[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_close_connection[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_close_connection[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_close_connection[websockets-h11] PASSED tests/protocols/test_websocket.py::test_headers[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_headers[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_headers[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_headers[websockets-h11] PASSED tests/protocols/test_websocket.py::test_extra_headers[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_extra_headers[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_extra_headers[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_extra_headers[websockets-h11] PASSED tests/protocols/test_websocket.py::test_path_and_raw_path[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_path_and_raw_path[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_path_and_raw_path[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_path_and_raw_path[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_text_data_to_client[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_client[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_client[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_client[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_client[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_client[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_client[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_client[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_and_close_connection[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_and_close_connection[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_and_close_connection[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_and_close_connection[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_text_data_to_server[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_server[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_server[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_text_data_to_server[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_server[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_after_protocol_close[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_after_protocol_close[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_after_protocol_close[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_after_protocol_close[websockets-h11] PASSED tests/protocols/test_websocket.py::test_missing_handshake[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_missing_handshake[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_missing_handshake[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_missing_handshake[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_before_handshake[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_before_handshake[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_before_handshake[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_before_handshake[websockets-h11] PASSED tests/protocols/test_websocket.py::test_duplicate_handshake[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_duplicate_handshake[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_duplicate_handshake[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_duplicate_handshake[websockets-h11] PASSED tests/protocols/test_websocket.py::test_asgi_return_value[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_asgi_return_value[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_asgi_return_value[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_asgi_return_value[websockets-h11] PASSED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-none_as_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-none_as_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-none_as_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-normal_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-normal_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-normal_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-without_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-without_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-httptools-without_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-none_as_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-none_as_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-none_as_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-normal_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-normal_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-normal_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-without_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-without_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[wsproto-h11-without_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-none_as_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-none_as_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-none_as_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-normal_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-normal_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-normal_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-without_reason-None] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-without_reason-1000] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-httptools-without_reason-1001] SKIPPED tests/protocols/test_websocket.py::test_app_close[websockets-h11-none_as_reason-None] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-none_as_reason-1000] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-none_as_reason-1001] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-normal_reason-None] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-normal_reason-1000] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-normal_reason-1001] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-without_reason-None] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-without_reason-1000] PASSED tests/protocols/test_websocket.py::test_app_close[websockets-h11-without_reason-1001] PASSED tests/protocols/test_websocket.py::test_client_close[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_close[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_client_close[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_close[websockets-h11] PASSED tests/protocols/test_websocket.py::test_client_connection_lost[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost[websockets-h11] PASSED tests/protocols/test_websocket.py::test_client_connection_lost_on_send[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost_on_send[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost_on_send[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_client_connection_lost_on_send[websockets-h11] PASSED tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete[websockets-h11] PASSED tests/protocols/test_websocket.py::test_send_close_on_server_shutdown[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_close_on_server_shutdown[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_send_close_on_server_shutdown[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_send_close_on_server_shutdown[websockets-h11] PASSED tests/protocols/test_websocket.py::test_subprotocols[wsproto-httptools-proto1] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[wsproto-httptools-proto2] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[wsproto-h11-proto1] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[wsproto-h11-proto2] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[websockets-httptools-proto1] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[websockets-httptools-proto2] SKIPPED tests/protocols/test_websocket.py::test_subprotocols[websockets-h11-proto1] PASSED tests/protocols/test_websocket.py::test_subprotocols[websockets-h11-proto2] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=defaults sent=defaults+1] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=10 sent=10] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[httptools-max=10 sent=11] SKIPPED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=defaults sent=defaults+1] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=10 sent=10] PASSED tests/protocols/test_websocket.py::test_send_binary_data_to_server_bigger_than_default_on_websockets[h11-max=10 sent=11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_response[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_response[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_response[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_response[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_multibody_response[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_multibody_response[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_multibody_response[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_multibody_response[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_status[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_status[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_status[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_status[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_body_nolength[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_body_nolength[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_body_nolength[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_body_nolength[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_msg[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_msg[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_msg[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_invalid_msg[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_reject_connection_with_missing_body[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_missing_body[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_missing_body[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_reject_connection_with_missing_body[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_multiple_websocket_http_response_start_events[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_multiple_websocket_http_response_start_events[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_multiple_websocket_http_response_start_events[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_multiple_websocket_http_response_start_events[websockets-h11] PASSED tests/protocols/test_websocket.py::test_server_can_read_messages_in_buffer_after_close[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_can_read_messages_in_buffer_after_close[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_server_can_read_messages_in_buffer_after_close[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_server_can_read_messages_in_buffer_after_close[websockets-h11] PASSED tests/protocols/test_websocket.py::test_default_server_headers[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_default_server_headers[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_default_server_headers[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_default_server_headers[websockets-h11] PASSED tests/protocols/test_websocket.py::test_no_server_headers[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_no_server_headers[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_no_server_headers[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_no_server_headers[websockets-h11] PASSED tests/protocols/test_websocket.py::test_no_date_header_on_wsproto[httptools] SKIPPED tests/protocols/test_websocket.py::test_no_date_header_on_wsproto[h11] SKIPPED tests/protocols/test_websocket.py::test_multiple_server_header[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_multiple_server_header[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_multiple_server_header[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_multiple_server_header[websockets-h11] PASSED tests/protocols/test_websocket.py::test_lifespan_state[wsproto-httptools] SKIPPED tests/protocols/test_websocket.py::test_lifespan_state[wsproto-h11] SKIPPED tests/protocols/test_websocket.py::test_lifespan_state[websockets-httptools] SKIPPED tests/protocols/test_websocket.py::test_lifespan_state[websockets-h11] PASSED tests/supervisors/test_multiprocess.py::test_process_ping_pong PASSED tests/supervisors/test_multiprocess.py::test_process_ping_pong_timeout PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_run PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_health_check PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigterm PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigbreak SKIPPED tests/supervisors/test_multiprocess.py::test_multiprocess_sighup PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigttin PASSED tests/supervisors/test_multiprocess.py::test_multiprocess_sigttou PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reloader_should_initialize[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_python_file_is_changed[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_python_file_in_subdir_is_changed[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_python_file_in_excluded_subdir_is_changed[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_python_file_in_excluded_subdir_is_changed[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_pattern_matched_file_is_changed[StatReload-False] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_reload_when_pattern_matched_file_is_changed[None-True] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_exclude_pattern_match_file_is_changed[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_exclude_pattern_match_file_is_changed[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_dot_file_is_changed[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_reload_when_directories_have_same_prefix[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[StatReload] PASSED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_not_reload_when_only_subdirectory_is_watched[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_override_defaults[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_override_defaults[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_explicit_paths[None0] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_explicit_paths[None1] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_watchfiles_no_changes[None] SKIPPED tests/supervisors/test_reload.py::TestBaseReload::test_should_detect_new_reload_dirs[None] SKIPPED tests/supervisors/test_reload.py::test_should_watch_one_dir_cwd SKIPPED tests/supervisors/test_reload.py::test_should_watch_separate_dirs_outside_cwd SKIPPED tests/supervisors/test_reload.py::test_display_path_relative PASSED tests/supervisors/test_reload.py::test_display_path_non_relative PASSED tests/supervisors/test_reload.py::test_base_reloader_run PASSED tests/supervisors/test_reload.py::test_base_reloader_should_exit PASSED tests/supervisors/test_reload.py::test_base_reloader_closes_sockets_on_shutdown PASSED tests/supervisors/test_signal.py::test_sigint_finish_req PASSED tests/supervisors/test_signal.py::test_sigint_abort_req PASSED tests/supervisors/test_signal.py::test_sigint_deny_request_after_triggered PASSED tests/test_auto_detection.py::test_loop_auto PASSED tests/test_auto_detection.py::test_http_auto PASSED tests/test_auto_detection.py::test_websocket_auto PASSED tests/test_cli.py::test_cli_print_version PASSED tests/test_cli.py::test_cli_headers PASSED tests/test_cli.py::test_cli_call_server_run PASSED tests/test_cli.py::test_cli_call_change_reload_run PASSED tests/test_cli.py::test_cli_call_multiprocess_run PASSED tests/test_cli.py::test_cli_uds[True] PASSED tests/test_cli.py::test_cli_uds[False] PASSED tests/test_cli.py::test_cli_incomplete_app_parameter PASSED tests/test_cli.py::test_cli_event_size PASSED tests/test_cli.py::test_env_variables[h11] PASSED tests/test_cli.py::test_env_variables[httptools] PASSED tests/test_cli.py::test_ignore_environment_variable_when_set_on_cli PASSED tests/test_cli.py::test_app_dir PASSED tests/test_cli.py::test_set_app_via_environment_variable PASSED tests/test_config.py::test_config_should_reload_is_set[asgi_app-False] PASSED tests/test_config.py::test_config_should_reload_is_set[tests.test_config:asgi_app-True] PASSED tests/test_config.py::test_should_warn_on_invalid_reload_configuration PASSED tests/test_config.py::test_reload_dir_is_set PASSED tests/test_config.py::test_non_existant_reload_dir_is_not_set PASSED tests/test_config.py::test_reload_subdir_removal PASSED tests/test_config.py::test_reload_included_dir_is_added_to_reload_dirs PASSED tests/test_config.py::test_reload_dir_subdirectories_are_removed PASSED tests/test_config.py::test_reload_excluded_subdirectories_are_removed PASSED tests/test_config.py::test_reload_includes_exclude_dir_patterns_are_matched PASSED tests/test_config.py::test_wsgi_app PASSED tests/test_config.py::test_proxy_headers PASSED tests/test_config.py::test_app_unimportable_module PASSED tests/test_config.py::test_app_unimportable_other PASSED tests/test_config.py::test_app_factory PASSED tests/test_config.py::test_concrete_http_class PASSED tests/test_config.py::test_socket_bind PASSED tests/test_config.py::test_ssl_config PASSED tests/test_config.py::test_ssl_config_combined PASSED tests/test_config.py::test_asgi_version[asgi_app-3.0] PASSED tests/test_config.py::test_asgi_version[asgi2_app-2.0] PASSED tests/test_config.py::test_log_config_default[use_colors_not_provided] PASSED tests/test_config.py::test_log_config_default[use_colors_invalid_value] PASSED tests/test_config.py::test_log_config_default[use_colors_enabled] PASSED tests/test_config.py::test_log_config_default[use_colors_disabled] PASSED tests/test_config.py::test_log_config_json PASSED tests/test_config.py::test_log_config_yaml[log_config.yml] PASSED tests/test_config.py::test_log_config_yaml[log_config.yaml] PASSED tests/test_config.py::test_log_config_file[log_config.ini] PASSED tests/test_config.py::test_log_config_file[config_file1] PASSED tests/test_config.py::test_log_config_file[config_file2] PASSED tests/test_config.py::test_env_file[0-127.0.0.1] PASSED tests/test_config.py::test_env_file[0-127.0.0.2] PASSED tests/test_config.py::test_env_file[1-127.0.0.1] PASSED tests/test_config.py::test_env_file[1-127.0.0.2] PASSED tests/test_config.py::test_config_access_log[access log enabled should have single handler] PASSED tests/test_config.py::test_config_access_log[access log disabled shouldn't have handlers] PASSED tests/test_config.py::test_config_log_level[5] PASSED tests/test_config.py::test_config_log_level[10] PASSED tests/test_config.py::test_config_log_level[20] PASSED tests/test_config.py::test_config_log_level[30] PASSED tests/test_config.py::test_config_log_level[40] PASSED tests/test_config.py::test_config_log_level[50] PASSED tests/test_config.py::test_config_log_effective_level[0-None] PASSED tests/test_config.py::test_config_log_effective_level[0-0] PASSED tests/test_config.py::test_config_log_effective_level[0-5] PASSED tests/test_config.py::test_config_log_effective_level[0-10] PASSED tests/test_config.py::test_config_log_effective_level[0-20] PASSED tests/test_config.py::test_config_log_effective_level[0-30] PASSED tests/test_config.py::test_config_log_effective_level[0-40] PASSED tests/test_config.py::test_config_log_effective_level[0-50] PASSED tests/test_config.py::test_config_log_effective_level[5-None] PASSED tests/test_config.py::test_config_log_effective_level[5-0] PASSED tests/test_config.py::test_config_log_effective_level[5-5] PASSED tests/test_config.py::test_config_log_effective_level[5-10] PASSED tests/test_config.py::test_config_log_effective_level[5-20] PASSED tests/test_config.py::test_config_log_effective_level[5-30] PASSED tests/test_config.py::test_config_log_effective_level[5-40] PASSED tests/test_config.py::test_config_log_effective_level[5-50] PASSED tests/test_config.py::test_config_log_effective_level[10-None] PASSED tests/test_config.py::test_config_log_effective_level[10-0] PASSED tests/test_config.py::test_config_log_effective_level[10-5] PASSED tests/test_config.py::test_config_log_effective_level[10-10] PASSED tests/test_config.py::test_config_log_effective_level[10-20] PASSED tests/test_config.py::test_config_log_effective_level[10-30] PASSED tests/test_config.py::test_config_log_effective_level[10-40] PASSED tests/test_config.py::test_config_log_effective_level[10-50] PASSED tests/test_config.py::test_config_log_effective_level[20-None] PASSED tests/test_config.py::test_config_log_effective_level[20-0] PASSED tests/test_config.py::test_config_log_effective_level[20-5] PASSED tests/test_config.py::test_config_log_effective_level[20-10] PASSED tests/test_config.py::test_config_log_effective_level[20-20] PASSED tests/test_config.py::test_config_log_effective_level[20-30] PASSED tests/test_config.py::test_config_log_effective_level[20-40] PASSED tests/test_config.py::test_config_log_effective_level[20-50] PASSED tests/test_config.py::test_config_log_effective_level[30-None] PASSED tests/test_config.py::test_config_log_effective_level[30-0] PASSED tests/test_config.py::test_config_log_effective_level[30-5] PASSED tests/test_config.py::test_config_log_effective_level[30-10] PASSED tests/test_config.py::test_config_log_effective_level[30-20] PASSED tests/test_config.py::test_config_log_effective_level[30-30] PASSED tests/test_config.py::test_config_log_effective_level[30-40] PASSED tests/test_config.py::test_config_log_effective_level[30-50] PASSED tests/test_config.py::test_config_log_effective_level[40-None] PASSED tests/test_config.py::test_config_log_effective_level[40-0] PASSED tests/test_config.py::test_config_log_effective_level[40-5] PASSED tests/test_config.py::test_config_log_effective_level[40-10] PASSED tests/test_config.py::test_config_log_effective_level[40-20] PASSED tests/test_config.py::test_config_log_effective_level[40-30] PASSED tests/test_config.py::test_config_log_effective_level[40-40] PASSED tests/test_config.py::test_config_log_effective_level[40-50] PASSED tests/test_config.py::test_config_log_effective_level[50-None] PASSED tests/test_config.py::test_config_log_effective_level[50-0] PASSED tests/test_config.py::test_config_log_effective_level[50-5] PASSED tests/test_config.py::test_config_log_effective_level[50-10] PASSED tests/test_config.py::test_config_log_effective_level[50-20] PASSED tests/test_config.py::test_config_log_effective_level[50-30] PASSED tests/test_config.py::test_config_log_effective_level[50-40] PASSED tests/test_config.py::test_config_log_effective_level[50-50] PASSED tests/test_config.py::test_ws_max_size PASSED tests/test_config.py::test_ws_max_queue PASSED tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers[--reload=True --workers=1] PASSED tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers[--reload=False --workers=2] PASSED tests/test_config.py::test_bind_fd_works_with_reload_or_workers[--reload=True --workers=1] PASSED tests/test_config.py::test_bind_fd_works_with_reload_or_workers[--reload=False --workers=2] PASSED tests/test_config.py::test_config_use_subprocess[--reload=True --workers=1] PASSED tests/test_config.py::test_config_use_subprocess[--reload=False --workers=2] PASSED tests/test_config.py::test_config_use_subprocess[--reload=False --workers=1] PASSED tests/test_config.py::test_warn_when_using_reload_and_workers PASSED tests/test_default_headers.py::test_default_default_headers PASSED tests/test_default_headers.py::test_override_server_header PASSED tests/test_default_headers.py::test_disable_default_server_header PASSED tests/test_default_headers.py::test_override_server_header_multiple_times PASSED tests/test_default_headers.py::test_add_additional_header PASSED tests/test_default_headers.py::test_disable_default_date_header PASSED tests/test_lifespan.py::test_lifespan_on PASSED tests/test_lifespan.py::test_lifespan_off PASSED tests/test_lifespan.py::test_lifespan_auto PASSED tests/test_lifespan.py::test_lifespan_auto_with_error PASSED tests/test_lifespan.py::test_lifespan_on_with_error PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[True-auto] PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[True-on] PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[False-auto] PASSED tests/test_lifespan.py::test_lifespan_with_failed_startup[False-on] PASSED tests/test_lifespan.py::test_lifespan_scope_asgi3app PASSED tests/test_lifespan.py::test_lifespan_scope_asgi2app PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[True-auto] PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[True-on] PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[False-auto] PASSED tests/test_lifespan.py::test_lifespan_with_failed_shutdown[False-on] PASSED tests/test_lifespan.py::test_lifespan_state PASSED tests/test_main.py::test_run[default] PASSED tests/test_main.py::test_run[hostname] PASSED tests/test_main.py::test_run[ipv6] PASSED tests/test_main.py::test_run_multiprocess PASSED tests/test_main.py::test_run_reload PASSED tests/test_main.py::test_run_invalid_app_config_combination PASSED tests/test_main.py::test_run_startup_failure PASSED tests/test_main.py::test_run_match_config_params PASSED tests/test_main.py::test_exit_on_create_server_with_invalid_host PASSED tests/test_server.py::test_server_interrupt[capture_signal_sync-Signals.SIGTERM] PASSED tests/test_server.py::test_server_interrupt[capture_signal_sync-Signals.SIGINT] PASSED tests/test_server.py::test_server_interrupt[capture_signal_async-Signals.SIGTERM] PASSED tests/test_server.py::test_server_interrupt[capture_signal_async-Signals.SIGINT] PASSED tests/test_ssl.py::test_run PASSED tests/test_ssl.py::test_run_chain PASSED tests/test_ssl.py::test_run_chain_only PASSED tests/test_ssl.py::test_run_password PASSED tests/test_subprocess.py::test_get_subprocess PASSED tests/test_subprocess.py::test_subprocess_started PASSED =========================== short test summary info ============================ ======== 564 passed, 255 skipped ======== $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_static_directory_without_0 : [Errno 17] File exists: 'test_static_directory_without_0' warnings.warn( $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_static_directory_without_1 : [Errno 17] File exists: 'test_static_directory_without_1' warnings.warn( $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR) : [Errno 17] File exists: '$(TMPDIR) warnings.warn( $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_static_directory_without_0 : [Errno 17] File exists: 'test_static_directory_without_0' warnings.warn( $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_static_directory_without_1 : [Errno 17] File exists: 'test_static_directory_without_1' warnings.warn( $(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:91: PytestWarning: (rm_rf) error removing $(TMPDIR) : [Errno 17] File exists: '$(TMPDIR) warnings.warn(