==> Building on articuno ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/python-starlette ./ .SRCINFO 1,335 100% 0.00kB/s 0:00:00 1,335 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=3/5) .nvchecker.toml 54 100% 52.73kB/s 0:00:00 54 100% 52.73kB/s 0:00:00 (xfr#2, to-chk=2/5) PKGBUILD 1,771 100% 1.69MB/s 0:00:00 1,771 100% 1.69MB/s 0:00:00 (xfr#3, to-chk=1/5) python-starlette-0.37.2-5.log 239 100% 233.40kB/s 0:00:00 239 100% 233.40kB/s 0:00:00 (xfr#4, to-chk=0/5) sent 2,031 bytes received 143 bytes 4,348.00 bytes/sec total size is 3,355 speedup is 1.54 ==> Running extra-riscv64-build -- -d /home/felix/packages/riscv64-pkg-cache:/var/cache/pacman/pkg -l root14 on remote host... [?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [root14]...done ==> Making package: python-starlette 0.37.2-5 (Sun Jun 2 09:12:32 2024) ==> Retrieving sources...  -> Downloading starlette-0.37.2.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 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 16384 0 16384 0 0 12651 0 --:--:-- 0:00:01 --:--:-- 12651 100 2779k 0 2779k 0 0 1556k 0 --:--:-- 0:00:01 --:--:-- 5640k ==> Validating source files with sha512sums... starlette-0.37.2.tar.gz ... Passed ==> Validating source files with b2sums... starlette-0.37.2.tar.gz ... Passed ==> Making package: python-starlette 0.37.2-5 (Sun Jun 2 09:12:55 2024) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (6) New Version Net Change Download Size core/expat 2.6.2-1 0.38 MiB extra/mpdecimal 4.0.0-2 0.29 MiB extra/python-idna 3.6-2 0.70 MiB extra/python-sniffio 1.3.1-3 0.04 MiB core/python 3.12.3-1 105.93 MiB extra/python-anyio 4.4.0-1 1.23 MiB 0.19 MiB Total Download Size: 0.19 MiB Total Installed Size: 108.56 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-anyio-4.4.0-1-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing expat... installing mpdecimal... installing python... Optional dependencies for python python-setuptools: for building Python packages using tooling that is usually bundled with Python python-pip: for installing Python packages using tooling that is usually bundled with Python python-pipx: for installing Python software not packaged on Arch Linux sqlite: for a default database integration [installed] xz: for lzma [installed] tk: for tkinter installing python-idna... installing python-sniffio... installing python-anyio... Optional dependencies for python-anyio python-trio: trio backend python-outcome: trio backend python-uvloop: use uvloop for asyncio backend python-pytest: pytest plugin [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (31) New Version Net Change Download Size extra/libyaml 0.2.5-2 0.15 MiB extra/python-attrs 23.2.0-3 0.54 MiB extra/python-certifi 2024.02.02-2 0.02 MiB extra/python-editables 0.5-3 0.03 MiB extra/python-greenlet 3.0.3-2 0.41 MiB extra/python-h11 0.14.0-3 0.58 MiB extra/python-httpcore 1.0.5-1 0.92 MiB 0.12 MiB extra/python-iniconfig 2.0.0-5 0.04 MiB extra/python-markupsafe 2.1.5-2 0.07 MiB extra/python-outcome 1.3.0.post0-4 0.05 MiB extra/python-packaging 24.0-1 0.50 MiB extra/python-pathspec 0.12.1-2 0.23 MiB extra/python-pluggy 1.5.0-1 0.20 MiB extra/python-pyproject-hooks 1.1.0-1 0.10 MiB extra/python-sortedcontainers 2.4.0-6 0.39 MiB extra/python-trove-classifiers 2024.5.22-1 0.12 MiB extra/python-typing_extensions 4.12.0-1 0.41 MiB extra/python-aiosqlite 0.19.0-4 0.21 MiB 0.04 MiB extra/python-build 1.2.1-3 0.19 MiB extra/python-databases 0.8.0-2 0.33 MiB 0.05 MiB extra/python-hatchling 1.24.2-1 1.05 MiB extra/python-httpx 0.27.0-1 0.95 MiB 0.16 MiB extra/python-installer 0.7.0-8 0.18 MiB extra/python-itsdangerous 2.1.2-4 0.13 MiB 0.03 MiB extra/python-jinja 1:3.1.4-1 1.74 MiB 0.29 MiB extra/python-pytest 1:8.2.1-1 3.91 MiB extra/python-python-multipart 0.0.6-4 0.41 MiB 0.07 MiB extra/python-sqlalchemy 1.4.52-4 19.81 MiB 2.51 MiB extra/python-trio 0.25.1-1 5.38 MiB extra/python-wheel 0.43.0-4 0.25 MiB extra/python-yaml 6.0.1-3 0.87 MiB Total Download Size: 3.26 MiB Total Installed Size: 40.17 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... python-sqlalchemy-1.4.52-4-riscv64 downloading... python-jinja-1:3.1.4-1-any downloading... python-httpx-0.27.0-1-any downloading... python-httpcore-1.0.5-1-any downloading... python-python-multipart-0.0.6-4-any downloading... python-databases-0.8.0-2-any downloading... python-aiosqlite-0.19.0-4-any downloading... python-itsdangerous-2.1.2-4-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing python-packaging... installing python-pyproject-hooks... installing python-build... Optional dependencies for python-build python-pip: to use as the Python package installer (default) python-uv: to use as the Python package installer python-virtualenv: to use virtualenv for build isolation installing python-installer... installing python-pathspec... installing python-pluggy... installing python-editables... installing python-trove-classifiers... installing python-hatchling... installing python-wheel... Optional dependencies for python-wheel python-keyring: for wheel.signatures python-xdg: for wheel.signatures installing python-aiosqlite... installing python-databases... Optional dependencies for python-databases python-asyncpg: postgresql support python-aiopg: postgresql + aiopg support python-aiomysql: mysql support python-aiosqlite: sqlite support [installed] installing python-iniconfig... installing python-pytest... installing python-attrs... installing python-typing_extensions... installing python-outcome... installing python-sortedcontainers... installing python-trio... installing python-itsdangerous... installing python-markupsafe... installing python-jinja... Optional dependencies for python-jinja python-babel: for i18n support installing python-python-multipart... installing libyaml... installing python-yaml... installing python-certifi... installing python-h11... installing python-httpcore... Optional dependencies for python-httpcore python-h2: for HTTP/2 support python-socksio: for SOCKS support python-anyio: for asyncio backend [installed] python-trio: for trio backend [installed] python-sniffio: for async support [installed] installing python-httpx... Optional dependencies for python-httpx python-brotli: for brotli response decompression python-brotlicffi: for brotli response decompression python-h2: HTTP/2 support python-socksio: SOCKS proxy support python-click: command line client support python-rich: command line client support python-pygments: command line client support python-trio: alternative async library [installed] installing python-greenlet... installing python-sqlalchemy... Optional dependencies for python-sqlalchemy python-psycopg2: connect to PostgreSQL database [?25h==> Retrieving sources...  -> Found starlette-0.37.2.tar.gz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting starlette-0.37.2.tar.gz with bsdtar ==> Starting build()... * Getting build dependencies for wheel... * Building wheel... Successfully built starlette-0.37.2-py3-none-any.whl ==> Starting check()... ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-8.2.1, pluggy-1.5.0 -- /usr/bin/python cachedir: .pytest_cache rootdir: /build/python-starlette/src/starlette-0.37.2 configfile: pyproject.toml plugins: anyio-4.4.0 collecting ... collected 795 items / 2 deselected / 793 selected tests/middleware/test_base.py::test_custom_middleware[asyncio] FAILED [ 0%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[asyncio] PASSED [ 0%] tests/middleware/test_base.py::test_app_middleware_argument[asyncio] PASSED [ 0%] tests/middleware/test_base.py::test_fully_evaluated_response[asyncio] PASSED [ 0%] tests/middleware/test_base.py::test_contextvars[asyncio-CustomMiddlewareWithoutBaseHTTPMiddleware] PASSED [ 0%] tests/middleware/test_base.py::test_contextvars[asyncio-CustomMiddlewareUsingBaseHTTPMiddleware] XFAILses any changes to it made within the TaskGroup) [ 0%] tests/middleware/test_base.py::test_run_background_tasks_even_if_client_disconnects[asyncio] PASSED [ 0%] tests/middleware/test_base.py::test_do_not_block_on_background_tasks[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_run_context_manager_exit_even_if_client_disconnects[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_app_receives_http_disconnect_while_sending_if_discarded[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_app_receives_http_disconnect_after_sending_if_discarded[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_stream[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_body[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_stream[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_body[asyncio] PASSED [ 1%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_stream[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_wrapping_app_calls_body[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_body_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_disconnected_client[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_read_request_disconnected_after_consuming_steam[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_downstream_middleware_modifies_receive[asyncio] PASSED [ 2%] tests/middleware/test_base.py::test_custom_middleware[trio] FAILED [ 3%] tests/middleware/test_base.py::test_state_data_across_multiple_middlewares[trio] PASSED [ 3%] tests/middleware/test_base.py::test_app_middleware_argument[trio] PASSED [ 3%] tests/middleware/test_base.py::test_fully_evaluated_response[trio] FAILED [ 3%] tests/middleware/test_base.py::test_contextvars[trio-CustomMiddlewareWithoutBaseHTTPMiddleware] PASSED [ 3%] tests/middleware/test_base.py::test_contextvars[trio-CustomMiddlewareUsingBaseHTTPMiddleware] XFAILses any changes to it made within the TaskGroup) [ 3%] tests/middleware/test_base.py::test_run_background_tasks_even_if_client_disconnects[trio] PASSED [ 3%] tests/middleware/test_base.py::test_do_not_block_on_background_tasks[trio] PASSED [ 3%] tests/middleware/test_base.py::test_run_context_manager_exit_even_if_client_disconnects[trio] PASSED [ 4%] tests/middleware/test_base.py::test_app_receives_http_disconnect_while_sending_if_discarded[trio] PASSED [ 4%] tests/middleware/test_base.py::test_app_receives_http_disconnect_after_sending_if_discarded[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_stream[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_stream_in_app_after_middleware_calls_body[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_stream[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_body_in_app_after_middleware_calls_body[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_stream[trio] PASSED [ 4%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body[trio] PASSED [ 5%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_wrapping_app_calls_body[trio] PASSED [ 5%] tests/middleware/test_base.py::test_read_request_stream_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[trio] PASSED [ 5%] tests/middleware/test_base.py::test_read_request_body_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next[trio] PASSED [ 5%] tests/middleware/test_base.py::test_read_request_disconnected_client[trio] PASSED [ 5%] tests/middleware/test_base.py::test_read_request_disconnected_after_consuming_steam[trio] PASSED [ 5%] tests/middleware/test_base.py::test_downstream_middleware_modifies_receive[trio] PASSED [ 5%] tests/middleware/test_base.py::test_pr_1519_comment_1236166180_example PASSED [ 5%] tests/middleware/test_cors.py::test_cors_allow_all[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_allow_all_methods[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[asyncio] PASSED [ 6%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[asyncio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_allow_all[trio] PASSED [ 7%] tests/middleware/test_cors.py::test_cors_allow_all_except_credentials[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_allow_specific_origin[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_disallowed_preflight[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_preflight_allow_all_methods[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_allow_all_methods[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_allow_origin_regex[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_allow_origin_regex_fullmatch[trio] PASSED [ 8%] tests/middleware/test_cors.py::test_cors_credentialed_requests_return_specific_origin[trio] PASSED [ 9%] tests/middleware/test_cors.py::test_cors_vary_header_defaults_to_origin[trio] PASSED [ 9%] tests/middleware/test_cors.py::test_cors_vary_header_is_not_set_for_non_credentialed_request[trio] PASSED [ 9%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_for_credentialed_request[trio] PASSED [ 9%] tests/middleware/test_cors.py::test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard[trio] PASSED [ 9%] tests/middleware/test_cors.py::test_cors_allowed_origin_does_not_leak_between_credentialed_requests[trio] PASSED [ 9%] tests/middleware/test_errors.py::test_handler[asyncio] PASSED [ 9%] tests/middleware/test_errors.py::test_debug_text[asyncio] PASSED [ 9%] tests/middleware/test_errors.py::test_debug_html[asyncio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_after_response_sent[asyncio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_not_http[asyncio] PASSED [ 10%] tests/middleware/test_errors.py::test_background_task[asyncio] PASSED [ 10%] tests/middleware/test_errors.py::test_handler[trio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_text[trio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_html[trio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_after_response_sent[trio] PASSED [ 10%] tests/middleware/test_errors.py::test_debug_not_http[trio] PASSED [ 11%] tests/middleware/test_errors.py::test_background_task[trio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_responses[asyncio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[asyncio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[asyncio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_streaming_response[asyncio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_ignored_for_responses_with_encoding_set[asyncio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_responses[trio] PASSED [ 11%] tests/middleware/test_gzip.py::test_gzip_not_in_accept_encoding[trio] PASSED [ 12%] tests/middleware/test_gzip.py::test_gzip_ignored_for_small_responses[trio] PASSED [ 12%] tests/middleware/test_gzip.py::test_gzip_streaming_response[trio] PASSED [ 12%] tests/middleware/test_gzip.py::test_gzip_ignored_for_responses_with_encoding_set[trio] PASSED [ 12%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[asyncio] PASSED [ 12%] tests/middleware/test_https_redirect.py::test_https_redirect_middleware[trio] PASSED [ 12%] tests/middleware/test_middleware.py::test_middleware_repr PASSED [ 12%] tests/middleware/test_middleware.py::test_middleware_iter PASSED [ 12%] tests/middleware/test_session.py::test_session[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_session_expires[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_secure_session[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_session_cookie_subpath[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_invalid_session_cookie[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_session_cookie[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_domain_cookie[asyncio] PASSED [ 13%] tests/middleware/test_session.py::test_session[trio] PASSED [ 13%] tests/middleware/test_session.py::test_session_expires[trio] PASSED [ 14%] tests/middleware/test_session.py::test_secure_session[trio] PASSED [ 14%] tests/middleware/test_session.py::test_session_cookie_subpath[trio] PASSED [ 14%] tests/middleware/test_session.py::test_invalid_session_cookie[trio] PASSED [ 14%] tests/middleware/test_session.py::test_session_cookie[trio] PASSED [ 14%] tests/middleware/test_session.py::test_domain_cookie[trio] PASSED [ 14%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[asyncio] PASSED [ 14%] tests/middleware/test_trusted_host.py::test_www_redirect[asyncio] PASSED [ 15%] tests/middleware/test_trusted_host.py::test_trusted_host_middleware[trio] PASSED [ 15%] tests/middleware/test_trusted_host.py::test_www_redirect[trio] PASSED [ 15%] tests/middleware/test_trusted_host.py::test_default_allowed_hosts PASSED [ 15%] tests/middleware/test_wsgi.py::test_wsgi_get[asyncio] PASSED [ 15%] tests/middleware/test_wsgi.py::test_wsgi_post[asyncio] PASSED [ 15%] tests/middleware/test_wsgi.py::test_wsgi_exception[asyncio] PASSED [ 15%] tests/middleware/test_wsgi.py::test_wsgi_exc_info[asyncio] PASSED [ 15%] tests/middleware/test_wsgi.py::test_wsgi_get[trio] PASSED [ 16%] tests/middleware/test_wsgi.py::test_wsgi_post[trio] PASSED [ 16%] tests/middleware/test_wsgi.py::test_wsgi_exception[trio] PASSED [ 16%] tests/middleware/test_wsgi.py::test_wsgi_exc_info[trio] PASSED [ 16%] tests/middleware/test_wsgi.py::test_build_environ PASSED [ 16%] tests/middleware/test_wsgi.py::test_build_environ_encoding PASSED [ 16%] tests/test__utils.py::test_async_func PASSED [ 16%] tests/test__utils.py::test_async_partial PASSED [ 16%] tests/test__utils.py::test_async_method PASSED [ 17%] tests/test__utils.py::test_async_object_call PASSED [ 17%] tests/test__utils.py::test_async_partial_object_call PASSED [ 17%] tests/test__utils.py::test_async_nested_partial PASSED [ 17%] tests/test_applications.py::test_url_path_for PASSED [ 17%] tests/test_applications.py::test_func_route[asyncio] PASSED [ 17%] tests/test_applications.py::test_async_route[asyncio] PASSED [ 17%] tests/test_applications.py::test_class_route[asyncio] FAILED [ 17%] tests/test_applications.py::test_mounted_route[asyncio] PASSED [ 18%] tests/test_applications.py::test_mounted_route_path_params[asyncio] PASSED [ 18%] tests/test_applications.py::test_subdomain_route[asyncio] FAILED [ 18%] tests/test_applications.py::test_websocket_route[asyncio] PASSED [ 18%] tests/test_applications.py::test_400[asyncio] PASSED [ 18%] tests/test_applications.py::test_405[asyncio] ERROR [ 18%] tests/test_applications.py::test_500[asyncio] PASSED [ 18%] tests/test_applications.py::test_websocket_raise_websocket_exception[asyncio] PASSED [ 18%] tests/test_applications.py::test_websocket_raise_custom_exception[asyncio] PASSED [ 19%] tests/test_applications.py::test_middleware[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_mount[asyncio] FAILED [ 19%] tests/test_applications.py::test_app_debug[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_add_route[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_add_websocket_route[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_add_event_handler[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_async_cm_lifespan[asyncio] PASSED [ 19%] tests/test_applications.py::test_app_async_gen_lifespan[asyncio] FAILED [ 20%] tests/test_applications.py::test_app_sync_gen_lifespan[asyncio] PASSED [ 20%] tests/test_applications.py::test_middleware_stack_init[asyncio] FAILED [ 20%] tests/test_applications.py::test_func_route[trio] PASSED [ 20%] tests/test_applications.py::test_async_route[trio] PASSED [ 20%] tests/test_applications.py::test_class_route[trio] ERROR [ 20%] tests/test_applications.py::test_mounted_route[trio] PASSED [ 20%] tests/test_applications.py::test_mounted_route_path_params[trio] FAILED [ 20%] tests/test_applications.py::test_subdomain_route[trio] PASSED [ 21%] tests/test_applications.py::test_websocket_route[trio] PASSED [ 21%] tests/test_applications.py::test_400[trio] ERROR [ 21%] tests/test_applications.py::test_405[trio] PASSED [ 21%] tests/test_applications.py::test_500[trio] FAILED [ 21%] tests/test_applications.py::test_websocket_raise_websocket_exception[trio] PASSED [ 21%] tests/test_applications.py::test_websocket_raise_custom_exception[trio] FAILED [ 21%] tests/test_applications.py::test_middleware[trio] PASSED [ 21%] tests/test_applications.py::test_app_mount[trio] PASSED [ 22%] tests/test_applications.py::test_app_debug[trio] PASSED [ 22%] tests/test_applications.py::test_app_add_route[trio] PASSED [ 22%] tests/test_applications.py::test_app_add_websocket_route[trio] PASSED [ 22%] tests/test_applications.py::test_app_add_event_handler[trio] PASSED [ 22%] tests/test_applications.py::test_app_async_cm_lifespan[trio] FAILED [ 22%] tests/test_applications.py::test_app_async_gen_lifespan[trio] PASSED [ 22%] tests/test_applications.py::test_app_sync_gen_lifespan[trio] FAILED [ 22%] tests/test_applications.py::test_middleware_stack_init[trio] FAILED [ 23%] tests/test_applications.py::test_routes PASSED [ 23%] tests/test_applications.py::test_decorator_deprecations PASSED [ 23%] tests/test_applications.py::test_lifespan_app_subclass PASSED [ 23%] tests/test_authentication.py::test_invalid_decorator_usage PASSED [ 23%] tests/test_authentication.py::test_user_interface[asyncio] PASSED [ 23%] tests/test_authentication.py::test_authentication_required[asyncio] FAILED [ 23%] tests/test_authentication.py::test_websocket_authentication_required[asyncio] PASSED [ 23%] tests/test_authentication.py::test_authentication_redirect[asyncio] FAILED [ 24%] tests/test_authentication.py::test_custom_on_error[asyncio] PASSED [ 24%] tests/test_authentication.py::test_user_interface[trio] FAILED [ 24%] tests/test_authentication.py::test_authentication_required[trio] PASSED [ 24%] tests/test_authentication.py::test_websocket_authentication_required[trio] PASSED [ 24%] tests/test_authentication.py::test_authentication_redirect[trio] PASSED [ 24%] tests/test_authentication.py::test_custom_on_error[trio] FAILED [ 24%] tests/test_background.py::test_async_task[asyncio] PASSED [ 24%] tests/test_background.py::test_sync_task[asyncio] PASSED [ 25%] tests/test_background.py::test_multiple_tasks[asyncio] PASSED [ 25%] tests/test_background.py::test_multi_tasks_failure_avoids_next_execution[asyncio] PASSED [ 25%] tests/test_background.py::test_async_task[trio] PASSED [ 25%] tests/test_background.py::test_sync_task[trio] PASSED [ 25%] tests/test_background.py::test_multiple_tasks[trio] PASSED [ 25%] tests/test_background.py::test_multi_tasks_failure_avoids_next_execution[trio] FAILED [ 25%] tests/test_concurrency.py::test_run_until_first_complete[asyncio] PASSED [ 25%] tests/test_concurrency.py::test_accessing_context_from_threaded_sync_endpoint[asyncio] PASSED [ 26%] tests/test_concurrency.py::test_iterate_in_threadpool[asyncio] PASSED [ 26%] tests/test_concurrency.py::test_run_until_first_complete[trio] PASSED [ 26%] tests/test_concurrency.py::test_accessing_context_from_threaded_sync_endpoint[trio] PASSED [ 26%] tests/test_concurrency.py::test_iterate_in_threadpool[trio] PASSED [ 26%] tests/test_config.py::test_config_types PASSED [ 26%] tests/test_config.py::test_config PASSED [ 26%] tests/test_config.py::test_missing_env_file_raises PASSED [ 26%] tests/test_config.py::test_environ PASSED [ 27%] tests/test_config.py::test_config_with_env_prefix PASSED [ 27%] tests/test_convertors.py::test_datetime_convertor[asyncio] PASSED [ 27%] tests/test_convertors.py::test_default_float_convertor[asyncio-1.0-200] PASSED [ 27%] tests/test_convertors.py::test_default_float_convertor[asyncio-1-0-404] PASSED [ 27%] tests/test_convertors.py::test_datetime_convertor[trio] PASSED [ 27%] tests/test_convertors.py::test_default_float_convertor[trio-1.0-200] PASSED [ 27%] tests/test_convertors.py::test_default_float_convertor[trio-1-0-404] PASSED [ 27%] tests/test_datastructures.py::test_url PASSED [ 28%] tests/test_datastructures.py::test_url_query_params PASSED [ 28%] tests/test_datastructures.py::test_hidden_password PASSED [ 28%] tests/test_datastructures.py::test_csv PASSED [ 28%] tests/test_datastructures.py::test_url_from_scope PASSED [ 28%] tests/test_datastructures.py::test_headers PASSED [ 28%] tests/test_datastructures.py::test_mutable_headers PASSED [ 28%] tests/test_datastructures.py::test_mutable_headers_merge PASSED [ 29%] tests/test_datastructures.py::test_mutable_headers_merge_dict PASSED [ 29%] tests/test_datastructures.py::test_mutable_headers_update PASSED [ 29%] tests/test_datastructures.py::test_mutable_headers_update_dict PASSED [ 29%] tests/test_datastructures.py::test_mutable_headers_merge_not_mapping PASSED [ 29%] tests/test_datastructures.py::test_headers_mutablecopy PASSED [ 29%] tests/test_datastructures.py::test_mutable_headers_from_scope PASSED [ 29%] tests/test_datastructures.py::test_url_blank_params PASSED [ 29%] tests/test_datastructures.py::test_queryparams PASSED [ 30%] tests/test_datastructures.py::test_upload_file_file_input[asyncio] PASSED [ 30%] tests/test_datastructures.py::test_upload_file_without_size[asyncio] PASSED [ 30%] tests/test_datastructures.py::test_uploadfile_rolling[asyncio-rolled] PASSED [ 30%] tests/test_datastructures.py::test_uploadfile_rolling[asyncio-unrolled] PASSED [ 30%] tests/test_datastructures.py::test_upload_file_repr[asyncio] PASSED [ 30%] tests/test_datastructures.py::test_upload_file_repr_headers[asyncio] PASSED [ 30%] tests/test_datastructures.py::test_upload_file_file_input[trio] PASSED [ 30%] tests/test_datastructures.py::test_upload_file_without_size[trio] PASSED [ 31%] tests/test_datastructures.py::test_uploadfile_rolling[trio-rolled] PASSED [ 31%] tests/test_datastructures.py::test_uploadfile_rolling[trio-unrolled] PASSED [ 31%] tests/test_datastructures.py::test_upload_file_repr[trio] PASSED [ 31%] tests/test_datastructures.py::test_upload_file_repr_headers[trio] PASSED [ 31%] tests/test_datastructures.py::test_formdata PASSED [ 31%] tests/test_datastructures.py::test_multidict PASSED [ 31%] tests/test_endpoints.py::test_http_endpoint_route[asyncio] PASSED [ 31%] tests/test_endpoints.py::test_http_endpoint_route_path_params[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_http_endpoint_route_method[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[asyncio] FAILED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_default[asyncio] PASSED [ 32%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[asyncio] PASSED [ 33%] tests/test_endpoints.py::test_http_endpoint_route[trio] PASSED [ 33%] tests/test_endpoints.py::test_http_endpoint_route_path_params[trio] PASSED [ 33%] tests/test_endpoints.py::test_http_endpoint_route_method[trio] PASSED [ 33%] tests/test_endpoints.py::test_websocket_endpoint_on_connect[trio] FAILED [ 33%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_bytes[trio] PASSED [ 33%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json[trio] PASSED [ 33%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_json_binary[trio] FAILED [ 33%] tests/test_endpoints.py::test_websocket_endpoint_on_receive_text[trio] PASSED [ 34%] tests/test_endpoints.py::test_websocket_endpoint_on_default[trio] PASSED [ 34%] tests/test_endpoints.py::test_websocket_endpoint_on_disconnect[trio] PASSED [ 34%] tests/test_exceptions.py::test_not_acceptable[asyncio] PASSED [ 34%] tests/test_exceptions.py::test_no_content[asyncio] FAILED [ 34%] tests/test_exceptions.py::test_not_modified[asyncio] PASSED [ 34%] tests/test_exceptions.py::test_with_headers[asyncio] FAILED [ 34%] tests/test_exceptions.py::test_websockets_should_raise[asyncio] PASSED [ 34%] tests/test_exceptions.py::test_handled_exc_after_response[asyncio] FAILED [ 35%] tests/test_exceptions.py::test_force_500_response[asyncio] PASSED [ 35%] tests/test_exceptions.py::test_request_in_app_and_handler_is_the_same_object[asyncio] PASSED [ 35%] tests/test_exceptions.py::test_not_acceptable[trio] ERROR [ 35%] tests/test_exceptions.py::test_no_content[trio] PASSED [ 35%] tests/test_exceptions.py::test_not_modified[trio] ERROR [ 35%] tests/test_exceptions.py::test_with_headers[trio] PASSED [ 35%] tests/test_exceptions.py::test_websockets_should_raise[trio] ERROR [ 35%] tests/test_exceptions.py::test_handled_exc_after_response[trio] PASSED [ 36%] tests/test_exceptions.py::test_force_500_response[trio] PASSED [ 36%] tests/test_exceptions.py::test_request_in_app_and_handler_is_the_same_object[trio] ERROR [ 36%] tests/test_exceptions.py::test_http_str PASSED [ 36%] tests/test_exceptions.py::test_http_repr PASSED [ 36%] tests/test_exceptions.py::test_websocket_str PASSED [ 36%] tests/test_exceptions.py::test_websocket_repr PASSED [ 36%] tests/test_exceptions.py::test_exception_middleware_deprecation PASSED [ 36%] tests/test_formparsers.py::test_multipart_request_data[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_files[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_files_with_content_type[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_multiple_files[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_multiple_files_with_headers[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multi_items[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_mixed_files_and_data[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_with_charset_for_filename[asyncio] PASSED [ 37%] tests/test_formparsers.py::test_multipart_request_without_charset_for_filename[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_multipart_request_with_encoded_value[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_urlencoded_request_data[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_no_request_data[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_urlencoded_percent_encoding[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_urlencoded_percent_encoding_keys[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_urlencoded_multi_field_app_reads_body[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_multipart_multi_field_app_reads_body[asyncio] PASSED [ 38%] tests/test_formparsers.py::test_missing_boundary_parameter[asyncio-app-expectation0] PASSED [ 39%] tests/test_formparsers.py::test_missing_boundary_parameter[asyncio-app1-expectation1] PASSED [ 39%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[asyncio-app-expectation0] PASSED [ 39%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[asyncio-app1-expectation1] PASSED [ 39%] tests/test_formparsers.py::test_too_many_fields_raise[asyncio-app-expectation0] PASSED [ 39%] tests/test_formparsers.py::test_too_many_fields_raise[asyncio-app1-expectation1] PASSED [ 39%] tests/test_formparsers.py::test_too_many_files_raise[asyncio-app-expectation0] PASSED [ 39%] tests/test_formparsers.py::test_too_many_files_raise[asyncio-app1-expectation1] PASSED [ 39%] tests/test_formparsers.py::test_too_many_files_single_field_raise[asyncio-app-expectation0] PASSED [ 40%] tests/test_formparsers.py::test_too_many_files_single_field_raise[asyncio-app1-expectation1] PASSED [ 40%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[asyncio-app-expectation0] PASSED [ 40%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[asyncio-app1-expectation1] PASSED [ 40%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[asyncio-app-expectation0] PASSED [ 40%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[asyncio-app1-expectation1] PASSED [ 40%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[asyncio-app-expectation0] PASSED [ 40%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[asyncio-app1-expectation1] PASSED [ 40%] tests/test_formparsers.py::test_max_fields_is_customizable_high[asyncio] FAILED [ 41%] tests/test_formparsers.py::test_multipart_request_data[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_files[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_files_with_content_type[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_multiple_files[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_multiple_files_with_headers[trio] PASSED [ 41%] tests/test_formparsers.py::test_multi_items[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_mixed_files_and_data[trio] PASSED [ 41%] tests/test_formparsers.py::test_multipart_request_with_charset_for_filename[trio] PASSED [ 42%] tests/test_formparsers.py::test_multipart_request_without_charset_for_filename[trio] PASSED [ 42%] tests/test_formparsers.py::test_multipart_request_with_encoded_value[trio] PASSED [ 42%] tests/test_formparsers.py::test_urlencoded_request_data[trio] PASSED [ 42%] tests/test_formparsers.py::test_no_request_data[trio] PASSED [ 42%] tests/test_formparsers.py::test_urlencoded_percent_encoding[trio] PASSED [ 42%] tests/test_formparsers.py::test_urlencoded_percent_encoding_keys[trio] PASSED [ 42%] tests/test_formparsers.py::test_urlencoded_multi_field_app_reads_body[trio] PASSED [ 43%] tests/test_formparsers.py::test_multipart_multi_field_app_reads_body[trio] PASSED [ 43%] tests/test_formparsers.py::test_missing_boundary_parameter[trio-app-expectation0] PASSED [ 43%] tests/test_formparsers.py::test_missing_boundary_parameter[trio-app1-expectation1] PASSED [ 43%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[trio-app-expectation0] PASSED [ 43%] tests/test_formparsers.py::test_missing_name_parameter_on_content_disposition[trio-app1-expectation1] PASSED [ 43%] tests/test_formparsers.py::test_too_many_fields_raise[trio-app-expectation0] PASSED [ 43%] tests/test_formparsers.py::test_too_many_fields_raise[trio-app1-expectation1] PASSED [ 43%] tests/test_formparsers.py::test_too_many_files_raise[trio-app-expectation0] PASSED [ 44%] tests/test_formparsers.py::test_too_many_files_raise[trio-app1-expectation1] PASSED [ 44%] tests/test_formparsers.py::test_too_many_files_single_field_raise[trio-app-expectation0] PASSED [ 44%] tests/test_formparsers.py::test_too_many_files_single_field_raise[trio-app1-expectation1] PASSED [ 44%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[trio-app-expectation0] PASSED [ 44%] tests/test_formparsers.py::test_too_many_files_and_fields_raise[trio-app1-expectation1] PASSED [ 44%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[trio-app-expectation0] PASSED [ 44%] tests/test_formparsers.py::test_max_fields_is_customizable_low_raises[trio-app1-expectation1] PASSED [ 44%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[trio-app-expectation0] PASSED [ 45%] tests/test_formparsers.py::test_max_files_is_customizable_low_raises[trio-app1-expectation1] PASSED [ 45%] tests/test_formparsers.py::test_max_fields_is_customizable_high[trio] PASSED [ 45%] tests/test_formparsers.py::test_user_safe_decode_helper PASSED [ 45%] tests/test_formparsers.py::test_user_safe_decode_ignores_wrong_charset PASSED [ 45%] tests/test_requests.py::test_request_url[asyncio] PASSED [ 45%] tests/test_requests.py::test_request_query_params[asyncio] PASSED [ 45%] tests/test_requests.py::test_request_headers[asyncio] PASSED [ 45%] tests/test_requests.py::test_request_body[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_stream[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_form_urlencoded[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_form_context_manager[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_body_then_stream[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_stream_then_body[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_json[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_raw_path[asyncio] PASSED [ 46%] tests/test_requests.py::test_request_without_setting_receive[asyncio] PASSED [ 47%] tests/test_requests.py::test_request_disconnect[asyncio] PASSED [ 47%] tests/test_requests.py::test_request_is_disconnected[asyncio] PASSED [ 47%] tests/test_requests.py::test_request_state[asyncio] PASSED [ 47%] tests/test_requests.py::test_request_cookies[asyncio] PASSED [ 47%] tests/test_requests.py::test_cookie_lenient_parsing[asyncio] PASSED [ 47%] tests/test_requests.py::test_cookies_edge_cases[asyncio-chips=ahoy; vienna=finger-expected0] PASSED [ 47%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 47%] tests/test_requests.py::test_cookies_edge_cases[asyncio-keebler=E=mc2-expected2] PASSED [ 48%] tests/test_requests.py::test_cookies_edge_cases[asyncio-key:term=value:term-expected3] PASSED [ 48%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; c=[; d=r; f=h-expected4] PASSED [ 48%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; Domain=example.com-expected5] PASSED [ 48%] tests/test_requests.py::test_cookies_edge_cases[asyncio-a=b; h=i; a=c-expected6] PASSED [ 48%] tests/test_requests.py::test_cookies_invalid[asyncio-abc=def; unnamed; django_language=en-expected0] PASSED [ 48%] tests/test_requests.py::test_cookies_invalid[asyncio-a=b; "; c=d-expected1] PASSED [ 48%] tests/test_requests.py::test_cookies_invalid[asyncio-a b c=d e = f; gh=i-expected2] PASSED [ 48%] tests/test_requests.py::test_cookies_invalid[asyncio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 49%] tests/test_requests.py::test_chunked_encoding[asyncio] PASSED [ 49%] tests/test_requests.py::test_request_send_push_promise[asyncio] PASSED [ 49%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[asyncio] PASSED [ 49%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[asyncio] PASSED [ 49%] tests/test_requests.py::test_request_rcv[asyncio-messages0] PASSED [ 49%] tests/test_requests.py::test_request_rcv[asyncio-messages1] PASSED [ 49%] tests/test_requests.py::test_request_rcv[asyncio-messages2] PASSED [ 49%] tests/test_requests.py::test_request_rcv[asyncio-messages3] PASSED [ 50%] tests/test_requests.py::test_request_stream_called_twice[asyncio] PASSED [ 50%] tests/test_requests.py::test_request_url[trio] PASSED [ 50%] tests/test_requests.py::test_request_query_params[trio] PASSED [ 50%] tests/test_requests.py::test_request_headers[trio] PASSED [ 50%] tests/test_requests.py::test_request_body[trio] PASSED [ 50%] tests/test_requests.py::test_request_stream[trio] PASSED [ 50%] tests/test_requests.py::test_request_form_urlencoded[trio] PASSED [ 50%] tests/test_requests.py::test_request_form_context_manager[trio] PASSED [ 51%] tests/test_requests.py::test_request_body_then_stream[trio] PASSED [ 51%] tests/test_requests.py::test_request_stream_then_body[trio] PASSED [ 51%] tests/test_requests.py::test_request_json[trio] PASSED [ 51%] tests/test_requests.py::test_request_raw_path[trio] PASSED [ 51%] tests/test_requests.py::test_request_without_setting_receive[trio] PASSED [ 51%] tests/test_requests.py::test_request_disconnect[trio] PASSED [ 51%] tests/test_requests.py::test_request_is_disconnected[trio] PASSED [ 51%] tests/test_requests.py::test_request_state[trio] PASSED [ 52%] tests/test_requests.py::test_request_cookies[trio] PASSED [ 52%] tests/test_requests.py::test_cookie_lenient_parsing[trio] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-chips=ahoy; vienna=finger-expected0] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler="E=mc2; L=\\"Loves\\"; fudge=\\012;"-expected1] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-keebler=E=mc2-expected2] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-key:term=value:term-expected3] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; c=[; d=r; f=h-expected4] PASSED [ 52%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; Domain=example.com-expected5] PASSED [ 53%] tests/test_requests.py::test_cookies_edge_cases[trio-a=b; h=i; a=c-expected6] PASSED [ 53%] tests/test_requests.py::test_cookies_invalid[trio-abc=def; unnamed; django_language=en-expected0] PASSED [ 53%] tests/test_requests.py::test_cookies_invalid[trio-a=b; "; c=d-expected1] PASSED [ 53%] tests/test_requests.py::test_cookies_invalid[trio-a b c=d e = f; gh=i-expected2] PASSED [ 53%] tests/test_requests.py::test_cookies_invalid[trio-a b,c<>@:/[]?{}=d " =e,f g-expected3] PASSED [ 53%] tests/test_requests.py::test_chunked_encoding[trio] PASSED [ 53%] tests/test_requests.py::test_request_send_push_promise[trio] PASSED [ 53%] tests/test_requests.py::test_request_send_push_promise_without_push_extension[trio] PASSED [ 54%] tests/test_requests.py::test_request_send_push_promise_without_setting_send[trio] PASSED [ 54%] tests/test_requests.py::test_request_rcv[trio-messages0] PASSED [ 54%] tests/test_requests.py::test_request_rcv[trio-messages1] PASSED [ 54%] tests/test_requests.py::test_request_rcv[trio-messages2] PASSED [ 54%] tests/test_requests.py::test_request_rcv[trio-messages3] PASSED [ 54%] tests/test_requests.py::test_request_stream_called_twice[trio] PASSED [ 54%] tests/test_requests.py::test_request_client[scope0-expected_client0] PASSED [ 54%] tests/test_requests.py::test_request_client[scope1-None] PASSED [ 55%] tests/test_requests.py::test_request_client[scope2-None] PASSED [ 55%] tests/test_requests.py::test_request_scope_interface PASSED [ 55%] tests/test_requests.py::test_request_state_object PASSED [ 55%] tests/test_responses.py::test_text_response[asyncio] PASSED [ 55%] tests/test_responses.py::test_bytes_response[asyncio] PASSED [ 55%] tests/test_responses.py::test_json_none_response[asyncio] PASSED [ 55%] tests/test_responses.py::test_redirect_response[asyncio] PASSED [ 55%] tests/test_responses.py::test_quoting_redirect_response[asyncio] PASSED [ 56%] tests/test_responses.py::test_redirect_response_content_length_header[asyncio] PASSED [ 56%] tests/test_responses.py::test_streaming_response[asyncio] PASSED [ 56%] tests/test_responses.py::test_streaming_response_custom_iterator[asyncio] PASSED [ 56%] tests/test_responses.py::test_streaming_response_custom_iterable[asyncio] PASSED [ 56%] tests/test_responses.py::test_sync_streaming_response[asyncio] PASSED [ 56%] tests/test_responses.py::test_response_headers[asyncio] PASSED [ 56%] tests/test_responses.py::test_response_phrase[asyncio] PASSED [ 56%] tests/test_responses.py::test_file_response[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_on_head_method[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_directory_raises_error[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_missing_file_raises_error[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_chinese_filename[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_inline_disposition[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_method_warns[asyncio] PASSED [ 57%] tests/test_responses.py::test_file_response_with_pathsend[asyncio] PASSED [ 58%] tests/test_responses.py::test_set_cookie[asyncio] PASSED [ 58%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-datetime] PASSED [ 58%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-str] PASSED [ 58%] tests/test_responses.py::test_expires_on_set_cookie[asyncio-int] PASSED [ 58%] tests/test_responses.py::test_delete_cookie[asyncio] PASSED [ 58%] tests/test_responses.py::test_populate_headers[asyncio] PASSED [ 58%] tests/test_responses.py::test_head_method[asyncio] PASSED [ 58%] tests/test_responses.py::test_empty_response[asyncio] PASSED [ 59%] tests/test_responses.py::test_empty_204_response[asyncio] PASSED [ 59%] tests/test_responses.py::test_non_empty_response[asyncio] PASSED [ 59%] tests/test_responses.py::test_response_do_not_add_redundant_charset[asyncio] PASSED [ 59%] tests/test_responses.py::test_file_response_known_size[asyncio] PASSED [ 59%] tests/test_responses.py::test_streaming_response_unknown_size[asyncio] PASSED [ 59%] tests/test_responses.py::test_streaming_response_known_size[asyncio] PASSED [ 59%] tests/test_responses.py::test_streaming_response_stops_if_receiving_http_disconnect[asyncio] PASSED [ 59%] tests/test_responses.py::test_text_response[trio] PASSED [ 60%] tests/test_responses.py::test_bytes_response[trio] PASSED [ 60%] tests/test_responses.py::test_json_none_response[trio] PASSED [ 60%] tests/test_responses.py::test_redirect_response[trio] PASSED [ 60%] tests/test_responses.py::test_quoting_redirect_response[trio] PASSED [ 60%] tests/test_responses.py::test_redirect_response_content_length_header[trio] PASSED [ 60%] tests/test_responses.py::test_streaming_response[trio] PASSED [ 60%] tests/test_responses.py::test_streaming_response_custom_iterator[trio] PASSED [ 60%] tests/test_responses.py::test_streaming_response_custom_iterable[trio] PASSED [ 61%] tests/test_responses.py::test_sync_streaming_response[trio] PASSED [ 61%] tests/test_responses.py::test_response_headers[trio] PASSED [ 61%] tests/test_responses.py::test_response_phrase[trio] PASSED [ 61%] tests/test_responses.py::test_file_response[trio] PASSED [ 61%] tests/test_responses.py::test_file_response_on_head_method[trio] PASSED [ 61%] tests/test_responses.py::test_file_response_with_directory_raises_error[trio] PASSED [ 61%] tests/test_responses.py::test_file_response_with_missing_file_raises_error[trio] PASSED [ 61%] tests/test_responses.py::test_file_response_with_chinese_filename[trio] PASSED [ 62%] tests/test_responses.py::test_file_response_with_inline_disposition[trio] PASSED [ 62%] tests/test_responses.py::test_file_response_with_method_warns[trio] PASSED [ 62%] tests/test_responses.py::test_file_response_with_pathsend[trio] PASSED [ 62%] tests/test_responses.py::test_set_cookie[trio] PASSED [ 62%] tests/test_responses.py::test_expires_on_set_cookie[trio-datetime] PASSED [ 62%] tests/test_responses.py::test_expires_on_set_cookie[trio-str] PASSED [ 62%] tests/test_responses.py::test_expires_on_set_cookie[trio-int] PASSED [ 62%] tests/test_responses.py::test_delete_cookie[trio] PASSED [ 63%] tests/test_responses.py::test_populate_headers[trio] PASSED [ 63%] tests/test_responses.py::test_head_method[trio] PASSED [ 63%] tests/test_responses.py::test_empty_response[trio] PASSED [ 63%] tests/test_responses.py::test_empty_204_response[trio] PASSED [ 63%] tests/test_responses.py::test_non_empty_response[trio] PASSED [ 63%] tests/test_responses.py::test_response_do_not_add_redundant_charset[trio] PASSED [ 63%] tests/test_responses.py::test_file_response_known_size[trio] PASSED [ 63%] tests/test_responses.py::test_streaming_response_unknown_size[trio] PASSED [ 64%] tests/test_responses.py::test_streaming_response_known_size[trio] PASSED [ 64%] tests/test_responses.py::test_streaming_response_stops_if_receiving_http_disconnect[trio] PASSED [ 64%] tests/test_routing.py::test_router[asyncio] PASSED [ 64%] tests/test_routing.py::test_route_converters[asyncio] PASSED [ 64%] tests/test_routing.py::test_router_add_route[asyncio] FAILED [ 64%] tests/test_routing.py::test_router_duplicate_path[asyncio] PASSED [ 64%] tests/test_routing.py::test_router_add_websocket_route[asyncio] PASSED [ 64%] tests/test_routing.py::test_router_middleware[asyncio] PASSED [ 65%] tests/test_routing.py::test_protocol_switch[asyncio] FAILED [ 65%] tests/test_routing.py::test_mount_urls[asyncio] PASSED [ 65%] tests/test_routing.py::test_mount_at_root[asyncio] PASSED [ 65%] tests/test_routing.py::test_host_routing[asyncio] PASSED [ 65%] tests/test_routing.py::test_subdomain_routing[asyncio] PASSED [ 65%] tests/test_routing.py::test_url_for_with_root_path[asyncio] PASSED [ 65%] tests/test_routing.py::test_standalone_route_matches[asyncio] PASSED [ 65%] tests/test_routing.py::test_standalone_route_does_not_match[asyncio] PASSED [ 66%] tests/test_routing.py::test_standalone_ws_route_matches[asyncio] PASSED [ 66%] tests/test_routing.py::test_standalone_ws_route_does_not_match[asyncio] PASSED [ 66%] tests/test_routing.py::test_lifespan_async[asyncio] PASSED [ 66%] tests/test_routing.py::test_lifespan_sync[asyncio] PASSED [ 66%] tests/test_routing.py::test_lifespan_state_unsupported[asyncio] FAILED [ 66%] tests/test_routing.py::test_lifespan_state_async_cm[asyncio] PASSED [ 66%] tests/test_routing.py::test_raise_on_startup[asyncio] PASSED [ 66%] tests/test_routing.py::test_raise_on_shutdown[asyncio] FAILED [ 67%] tests/test_routing.py::test_partial_async_endpoint[asyncio] PASSED [ 67%] tests/test_routing.py::test_partial_async_ws_endpoint[asyncio] PASSED [ 67%] tests/test_routing.py::test_base_route_middleware[asyncio-app0] PASSED [ 67%] tests/test_routing.py::test_base_route_middleware[asyncio-app1] PASSED [ 67%] tests/test_routing.py::test_base_route_middleware[asyncio-app2] PASSED [ 67%] tests/test_routing.py::test_add_route_to_app_after_mount[asyncio] PASSED [ 67%] tests/test_routing.py::test_exception_on_mounted_apps[asyncio] PASSED [ 67%] tests/test_routing.py::test_mounted_middleware_does_not_catch_exception[asyncio] FAILED [ 68%] tests/test_routing.py::test_websocket_route_middleware[asyncio] PASSED [ 68%] tests/test_routing.py::test_paths_with_root_path[asyncio] PASSED [ 68%] tests/test_routing.py::test_router[trio] PASSED [ 68%] tests/test_routing.py::test_route_converters[trio] ERROR [ 68%] tests/test_routing.py::test_router_add_route[trio] PASSED [ 68%] tests/test_routing.py::test_router_duplicate_path[trio] FAILED [ 68%] tests/test_routing.py::test_router_add_websocket_route[trio] PASSED [ 68%] tests/test_routing.py::test_router_middleware[trio] PASSED [ 69%] tests/test_routing.py::test_protocol_switch[trio] FAILED [ 69%] tests/test_routing.py::test_mount_urls[trio] PASSED [ 69%] tests/test_routing.py::test_mount_at_root[trio] PASSED [ 69%] tests/test_routing.py::test_host_routing[trio] PASSED [ 69%] tests/test_routing.py::test_subdomain_routing[trio] PASSED [ 69%] tests/test_routing.py::test_url_for_with_root_path[trio] PASSED [ 69%] tests/test_routing.py::test_standalone_route_matches[trio] PASSED [ 69%] tests/test_routing.py::test_standalone_route_does_not_match[trio] PASSED [ 70%] tests/test_routing.py::test_standalone_ws_route_matches[trio] PASSED [ 70%] tests/test_routing.py::test_standalone_ws_route_does_not_match[trio] PASSED [ 70%] tests/test_routing.py::test_lifespan_async[trio] PASSED [ 70%] tests/test_routing.py::test_lifespan_sync[trio] PASSED [ 70%] tests/test_routing.py::test_lifespan_state_unsupported[trio] FAILED [ 70%] tests/test_routing.py::test_lifespan_state_async_cm[trio] PASSED [ 70%] tests/test_routing.py::test_raise_on_startup[trio] PASSED [ 70%] tests/test_routing.py::test_raise_on_shutdown[trio] FAILED [ 71%] tests/test_routing.py::test_partial_async_endpoint[trio] PASSED [ 71%] tests/test_routing.py::test_partial_async_ws_endpoint[trio] PASSED [ 71%] tests/test_routing.py::test_base_route_middleware[trio-app0] PASSED [ 71%] tests/test_routing.py::test_base_route_middleware[trio-app1] FAILED [ 71%] tests/test_routing.py::test_base_route_middleware[trio-app2] PASSED [ 71%] tests/test_routing.py::test_add_route_to_app_after_mount[trio] PASSED [ 71%] tests/test_routing.py::test_exception_on_mounted_apps[trio] PASSED [ 72%] tests/test_routing.py::test_mounted_middleware_does_not_catch_exception[trio] PASSED [ 72%] tests/test_routing.py::test_websocket_route_middleware[trio] PASSED [ 72%] tests/test_routing.py::test_paths_with_root_path[trio] PASSED [ 72%] tests/test_routing.py::test_url_path_for PASSED [ 72%] tests/test_routing.py::test_url_for PASSED [ 72%] tests/test_routing.py::test_reverse_mount_urls PASSED [ 72%] tests/test_routing.py::test_host_reverse_urls PASSED [ 72%] tests/test_routing.py::test_subdomain_reverse_urls PASSED [ 73%] tests/test_routing.py::test_url_for_with_double_mount PASSED [ 73%] tests/test_routing.py::test_duplicated_param_names PASSED [ 73%] tests/test_routing.py::test_route_name[function] PASSED [ 73%] tests/test_routing.py::test_route_name[method] PASSED [ 73%] tests/test_routing.py::test_route_name[classmethod] PASSED [ 73%] tests/test_routing.py::test_route_name[staticmethod] PASSED [ 73%] tests/test_routing.py::test_route_name[object] PASSED [ 73%] tests/test_routing.py::test_route_name[lambda] PASSED [ 74%] tests/test_routing.py::test_mount_routes_with_middleware_url_path_for PASSED [ 74%] tests/test_routing.py::test_mount_asgi_app_with_middleware_url_path_for PASSED [ 74%] tests/test_routing.py::test_route_repr PASSED [ 74%] tests/test_routing.py::test_route_repr_without_methods PASSED [ 74%] tests/test_routing.py::test_websocket_route_repr PASSED [ 74%] tests/test_routing.py::test_mount_repr PASSED [ 74%] tests/test_routing.py::test_mount_named_repr PASSED [ 74%] tests/test_routing.py::test_host_repr PASSED [ 75%] tests/test_routing.py::test_host_named_repr PASSED [ 75%] tests/test_routing.py::test_decorator_deprecations PASSED [ 75%] tests/test_schemas.py::test_schema_generation PASSED [ 75%] tests/test_schemas.py::test_schema_endpoint[asyncio] PASSED [ 75%] tests/test_schemas.py::test_schema_endpoint[trio] PASSED [ 75%] tests/test_staticfiles.py::test_staticfiles[asyncio] PASSED [ 75%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[asyncio] PASSED [ 75%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_with_package[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_post[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_configured_with_file_instead_of_directory[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_config_check_occurs_only_once[asyncio] PASSED [ 76%] tests/test_staticfiles.py::test_staticfiles_never_read_file_for_head_method[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_304_with_etag_match[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_304_with_last_modified_compare_last_req[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_html_normal[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_html_without_index[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_html_without_404[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_html_only_files[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[asyncio] PASSED [ 77%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_follows_symlinks[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_follows_symlink_directories[asyncio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles[trio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_with_pathlib[trio] PASSED [ 78%] tests/test_staticfiles.py::test_staticfiles_head_with_middleware[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_with_package[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_post[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_with_directory_returns_404[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_with_missing_file_returns_404[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_configured_with_missing_directory[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_configured_with_file_instead_of_directory[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_config_check_occurs_only_once[trio] PASSED [ 79%] tests/test_staticfiles.py::test_staticfiles_never_read_file_for_head_method[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_304_with_etag_match[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_304_with_last_modified_compare_last_req[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_html_normal[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_html_without_index[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_html_without_404[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_html_only_files[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_cache_invalidation_for_deleted_file_html_mode[trio] PASSED [ 80%] tests/test_staticfiles.py::test_staticfiles_with_invalid_dir_permissions_returns_401[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_with_missing_dir_returns_404[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_access_file_as_dir_returns_404[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_unhandled_os_error_returns_500[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_follows_symlinks[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_follows_symlink_directories[trio] PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_instantiated_with_missing_directory PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_prevents_breaking_out_of_directory PASSED [ 81%] tests/test_staticfiles.py::test_staticfiles_disallows_path_traversal_with_symlinks PASSED [ 82%] tests/test_staticfiles.py::test_staticfiles_avoids_path_traversal PASSED [ 82%] tests/test_status.py::test_deprecated_types[WS_1004_NO_STATUS_RCVD-'WS_1004_NO_STATUS_RCVD' is deprecated. Use 'WS_1005_NO_STATUS_RCVD' instead.] PASSED [ 82%] tests/test_status.py::test_deprecated_types[WS_1005_ABNORMAL_CLOSURE-'WS_1005_ABNORMAL_CLOSURE' is deprecated. Use 'WS_1006_ABNORMAL_CLOSURE' instead.] PASSED [ 82%] tests/test_templates.py::test_templates[asyncio] PASSED [ 82%] tests/test_templates.py::test_calls_context_processors[asyncio] PASSED [ 82%] tests/test_templates.py::test_template_with_middleware[asyncio] PASSED [ 82%] tests/test_templates.py::test_templates_with_directories[asyncio] PASSED [ 82%] tests/test_templates.py::test_templates_with_environment[asyncio] PASSED [ 83%] tests/test_templates.py::test_templates_with_kwargs_only[asyncio] PASSED [ 83%] tests/test_templates.py::test_templates_with_kwargs_only_warns_when_no_request_keyword[asyncio] PASSED [ 83%] tests/test_templates.py::test_templates_warns_when_first_argument_isnot_request[asyncio] PASSED [ 83%] tests/test_templates.py::test_templates_when_first_argument_is_request[asyncio] PASSED [ 83%] tests/test_templates.py::test_templates[trio] PASSED [ 83%] tests/test_templates.py::test_calls_context_processors[trio] PASSED [ 83%] tests/test_templates.py::test_template_with_middleware[trio] PASSED [ 83%] tests/test_templates.py::test_templates_with_directories[trio] PASSED [ 84%] tests/test_templates.py::test_templates_with_environment[trio] PASSED [ 84%] tests/test_templates.py::test_templates_with_kwargs_only[trio] PASSED [ 84%] tests/test_templates.py::test_templates_with_kwargs_only_warns_when_no_request_keyword[trio] PASSED [ 84%] tests/test_templates.py::test_templates_warns_when_first_argument_isnot_request[trio] PASSED [ 84%] tests/test_templates.py::test_templates_when_first_argument_is_request[trio] PASSED [ 84%] tests/test_templates.py::test_templates_require_directory_or_environment PASSED [ 84%] tests/test_templates.py::test_templates_with_directory PASSED [ 84%] tests/test_templates.py::test_templates_with_environment_options_emit_warning PASSED [ 85%] tests/test_templates.py::test_templates_with_kwargs_only_requires_request_in_context PASSED [ 85%] tests/test_templates.py::test_templates_with_requires_request_in_context PASSED [ 85%] tests/test_testclient.py::test_use_testclient_in_endpoint[asyncio] PASSED [ 85%] tests/test_testclient.py::test_use_testclient_as_contextmanager[asyncio] FAILED [ 85%] tests/test_testclient.py::test_error_on_startup[asyncio] PASSED [ 85%] tests/test_testclient.py::test_exception_in_middleware[asyncio] PASSED [ 85%] tests/test_testclient.py::test_testclient_asgi2[asyncio] FAILED [ 86%] tests/test_testclient.py::test_testclient_asgi3[asyncio] PASSED [ 86%] tests/test_testclient.py::test_websocket_blocking_receive[asyncio] PASSED [ 86%] tests/test_testclient.py::test_websocket_not_block_on_close[asyncio] PASSED [ 86%] tests/test_testclient.py::test_client[asyncio] PASSED [ 86%] tests/test_testclient.py::test_query_params[asyncio-2020-07-14T00:00:00+00:00] PASSED [ 86%] tests/test_testclient.py::test_query_params[asyncio-Espa\xf1a] PASSED [ 86%] tests/test_testclient.py::test_query_params[asyncio-voil\xe0] PASSED [ 86%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-testserver-True] PASSED [ 87%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-testserver.local-True] PASSED [ 87%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-localhost-False] PASSED [ 87%] tests/test_testclient.py::test_domain_restricted_cookies[asyncio-example.com-False] PASSED [ 87%] tests/test_testclient.py::test_forward_follow_redirects[asyncio] PASSED [ 87%] tests/test_testclient.py::test_forward_nofollow_redirects[asyncio] PASSED [ 87%] tests/test_testclient.py::test_with_duplicate_headers[asyncio] PASSED [ 87%] tests/test_testclient.py::test_merge_url[asyncio] PASSED [ 87%] tests/test_testclient.py::test_use_testclient_in_endpoint[trio] PASSED [ 88%] tests/test_testclient.py::test_use_testclient_as_contextmanager[trio] FAILED [ 88%] tests/test_testclient.py::test_error_on_startup[trio] PASSED [ 88%] tests/test_testclient.py::test_exception_in_middleware[trio] FAILED [ 88%] tests/test_testclient.py::test_testclient_asgi2[trio] PASSED [ 88%] tests/test_testclient.py::test_testclient_asgi3[trio] PASSED [ 88%] tests/test_testclient.py::test_websocket_blocking_receive[trio] PASSED [ 88%] tests/test_testclient.py::test_websocket_not_block_on_close[trio] PASSED [ 88%] tests/test_testclient.py::test_client[trio] PASSED [ 89%] tests/test_testclient.py::test_query_params[trio-2020-07-14T00:00:00+00:00] PASSED [ 89%] tests/test_testclient.py::test_query_params[trio-Espa\xf1a] PASSED [ 89%] tests/test_testclient.py::test_query_params[trio-voil\xe0] PASSED [ 89%] tests/test_testclient.py::test_domain_restricted_cookies[trio-testserver-True] PASSED [ 89%] tests/test_testclient.py::test_domain_restricted_cookies[trio-testserver.local-True] PASSED [ 89%] tests/test_testclient.py::test_domain_restricted_cookies[trio-localhost-False] PASSED [ 89%] tests/test_testclient.py::test_domain_restricted_cookies[trio-example.com-False] PASSED [ 89%] tests/test_testclient.py::test_forward_follow_redirects[trio] PASSED [ 90%] tests/test_testclient.py::test_forward_nofollow_redirects[trio] PASSED [ 90%] tests/test_testclient.py::test_with_duplicate_headers[trio] PASSED [ 90%] tests/test_testclient.py::test_merge_url[trio] PASSED [ 90%] tests/test_testclient.py::test_testclient_headers_behavior PASSED [ 90%] tests/test_websockets.py::test_websocket_url[asyncio] PASSED [ 90%] tests/test_websockets.py::test_websocket_binary_json[asyncio] PASSED [ 90%] tests/test_websockets.py::test_websocket_ensure_unicode_on_send_json[asyncio] PASSED [ 90%] tests/test_websockets.py::test_websocket_query_params[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_headers[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_port[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_send_and_receive_text[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_send_and_receive_json[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_iter_text[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_iter_bytes[asyncio] PASSED [ 91%] tests/test_websockets.py::test_websocket_iter_json[asyncio] PASSED [ 92%] tests/test_websockets.py::test_websocket_concurrency_pattern[asyncio] PASSED [ 92%] tests/test_websockets.py::test_client_close[asyncio] PASSED [ 92%] tests/test_websockets.py::test_client_disconnect_on_send[asyncio] PASSED [ 92%] tests/test_websockets.py::test_application_close[asyncio] PASSED [ 92%] tests/test_websockets.py::test_rejected_connection[asyncio] PASSED [ 92%] tests/test_websockets.py::test_send_denial_response[asyncio] PASSED [ 92%] tests/test_websockets.py::test_send_response_multi[asyncio] PASSED [ 92%] tests/test_websockets.py::test_send_response_unsupported[asyncio] PASSED [ 93%] tests/test_websockets.py::test_send_response_duplicate_start[asyncio] PASSED [ 93%] tests/test_websockets.py::test_subprotocol[asyncio] PASSED [ 93%] tests/test_websockets.py::test_additional_headers[asyncio] PASSED [ 93%] tests/test_websockets.py::test_no_additional_headers[asyncio] PASSED [ 93%] tests/test_websockets.py::test_websocket_exception[asyncio] PASSED [ 93%] tests/test_websockets.py::test_duplicate_close[asyncio] PASSED [ 93%] tests/test_websockets.py::test_duplicate_disconnect[asyncio] PASSED [ 93%] tests/test_websockets.py::test_websocket_close_reason[asyncio] PASSED [ 94%] tests/test_websockets.py::test_send_json_invalid_mode[asyncio] PASSED [ 94%] tests/test_websockets.py::test_receive_json_invalid_mode[asyncio] PASSED [ 94%] tests/test_websockets.py::test_receive_text_before_accept[asyncio] PASSED [ 94%] tests/test_websockets.py::test_receive_bytes_before_accept[asyncio] PASSED [ 94%] tests/test_websockets.py::test_receive_json_before_accept[asyncio] PASSED [ 94%] tests/test_websockets.py::test_send_before_accept[asyncio] PASSED [ 94%] tests/test_websockets.py::test_send_wrong_message_type[asyncio] PASSED [ 94%] tests/test_websockets.py::test_receive_before_accept[asyncio] PASSED [ 95%] tests/test_websockets.py::test_receive_wrong_message_type[asyncio] PASSED [ 95%] tests/test_websockets.py::test_websocket_url[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_binary_json[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_ensure_unicode_on_send_json[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_query_params[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_headers[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_port[trio] PASSED [ 95%] tests/test_websockets.py::test_websocket_send_and_receive_text[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_send_and_receive_bytes[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_send_and_receive_json[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_iter_text[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_iter_bytes[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_iter_json[trio] PASSED [ 96%] tests/test_websockets.py::test_websocket_concurrency_pattern[trio] PASSED [ 96%] tests/test_websockets.py::test_client_close[trio] PASSED [ 96%] tests/test_websockets.py::test_client_disconnect_on_send[trio] PASSED [ 97%] tests/test_websockets.py::test_application_close[trio] PASSED [ 97%] tests/test_websockets.py::test_rejected_connection[trio] PASSED [ 97%] tests/test_websockets.py::test_send_denial_response[trio] PASSED [ 97%] tests/test_websockets.py::test_send_response_multi[trio] PASSED [ 97%] tests/test_websockets.py::test_send_response_unsupported[trio] PASSED [ 97%] tests/test_websockets.py::test_send_response_duplicate_start[trio] PASSED [ 97%] tests/test_websockets.py::test_subprotocol[trio] PASSED [ 97%] tests/test_websockets.py::test_additional_headers[trio] PASSED [ 98%] tests/test_websockets.py::test_no_additional_headers[trio] PASSED [ 98%] tests/test_websockets.py::test_websocket_exception[trio] PASSED [ 98%] tests/test_websockets.py::test_duplicate_close[trio] PASSED [ 98%] tests/test_websockets.py::test_duplicate_disconnect[trio] PASSED [ 98%] tests/test_websockets.py::test_websocket_close_reason[trio] PASSED [ 98%] tests/test_websockets.py::test_send_json_invalid_mode[trio] PASSED [ 98%] tests/test_websockets.py::test_receive_json_invalid_mode[trio] PASSED [ 98%] tests/test_websockets.py::test_receive_text_before_accept[trio] PASSED [ 99%] tests/test_websockets.py::test_receive_bytes_before_accept[trio] PASSED [ 99%] tests/test_websockets.py::test_receive_json_before_accept[trio] PASSED [ 99%] tests/test_websockets.py::test_send_before_accept[trio] PASSED [ 99%] tests/test_websockets.py::test_send_wrong_message_type[trio] PASSED [ 99%] tests/test_websockets.py::test_receive_before_accept[trio] PASSED [ 99%] tests/test_websockets.py::test_receive_wrong_message_type[trio] PASSED [ 99%] tests/test_websockets.py::test_websocket_scope_interface PASSED [100%] ==================================== ERRORS ==================================== _____________________ ERROR at setup of test_405[asyncio] ______________________ cls = func = . at 0x3fa1569300> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 105, in receive E return self.receive_nowait() E ^^^^^^^^^^^^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 100, in receive_nowait E raise WouldBlock E anyio.WouldBlock E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________ ERROR at setup of test_class_route[trio] ___________________ cls = func = . at 0x3fa31dbb00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ ERROR at setup of test_400[trio] _______________________ cls = func = . at 0x3fa34bf1a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________ ERROR at setup of test_not_acceptable[trio] __________________ cls = func = . at 0x3fa2d831a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________ ERROR at setup of test_not_modified[trio] ___________________ cls = func = . at 0x3fa2d5f380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________ ERROR at setup of test_websockets_should_raise[trio] _____________ cls = func = . at 0x3fa3122ac0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __ ERROR at setup of test_request_in_app_and_handler_is_the_same_object[trio] __ cls = func = . at 0x3fa2d5e2a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________ ERROR at setup of test_route_converters[trio] _________________ cls = func = . at 0x3fa14ebba0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 105, in receive E return self.receive_nowait() E ^^^^^^^^^^^^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 100, in receive_nowait E raise WouldBlock E anyio.WouldBlock E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning =================================== FAILURES =================================== _______________________ test_custom_middleware[asyncio] ________________________ cls = func = . at 0x3fa3122980> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________________ test_custom_middleware[trio] _________________________ cls = func = . at 0x3fa31239c0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________________ test_fully_evaluated_response[trio] ______________________ cls = func = . at 0x3fa31d9080> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/build/python-starlette/src/starlette-0.37.2/starlette/_exception_handler.py", line 53, in wrapped_app E await app(scope, receive, sender) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 756, in __call__ E await self.middleware_stack(scope, receive, send) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 806, in app E await self.default(scope, receive, send) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 690, in not_found E raise HTTPException(status_code=404) E starlette.exceptions.HTTPException: 404: Not Found E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________________ test_class_route[asyncio] ___________________________ cls = func = . at 0x3fa156a700> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________________ test_subdomain_route[asyncio] _________________________ cls = func = . at 0x3fa31d9d00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________________ test_app_mount[asyncio] ____________________________ cls = func = . at 0x3fa35ce020> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________________ test_app_async_gen_lifespan[asyncio] _____________________ cls = func = . at 0x3fa3122ac0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________________ test_middleware_stack_init[asyncio] ______________________ cls = func = . at 0x3fa31231a0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/build/python-starlette/src/starlette-0.37.2/starlette/_exception_handler.py", line 53, in wrapped_app E await app(scope, receive, sender) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 756, in __call__ E await self.middleware_stack(scope, receive, send) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 806, in app E await self.default(scope, receive, send) E File "/build/python-starlette/src/starlette-0.37.2/starlette/routing.py", line 690, in not_found E raise HTTPException(status_code=404) E starlette.exceptions.HTTPException: 404: Not Found E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________________ test_mounted_route_path_params[trio] _____________________ cls = func = . at 0x3fa2fd3a60> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/trio/_threads.py", line 132, in current_default_thread_limiter E limiter = _limiter_local.get() E ^^^^^^^^^^^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/trio/_core/_local.py", line 59, in get E raise LookupError(self) from None E LookupError: E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________________________ test_500[trio] ________________________________ cls = func = . at 0x3fa156b1a0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________ test_websocket_raise_custom_exception[trio] __________________ cls = func = . at 0x3fa319c180> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ test_app_async_cm_lifespan[trio] _______________________ cls = func = . at 0x3fa152b6a0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ test_app_sync_gen_lifespan[trio] _______________________ cls = func = . at 0x3fa156be20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 105, in receive E return self.receive_nowait() E ^^^^^^^^^^^^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 100, in receive_nowait E raise WouldBlock E anyio.WouldBlock E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ test_middleware_stack_init[trio] _______________________ cls = func = . at 0x3fa152b420> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ____________________ test_authentication_required[asyncio] _____________________ cls = func = . at 0x3fa156be20> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ____________________ test_authentication_redirect[asyncio] _____________________ cls = func = . at 0x3fa2fd3a60> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________________ test_user_interface[trio] ___________________________ cls = func = . at 0x3fa152bc40> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/trio/_core/_local.py", line 47, in get E return cast(T, _run.GLOBAL_RUN_CONTEXT.runner._locals[self]) E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^ E KeyError: E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________________ test_custom_on_error[trio] __________________________ cls = func = . at 0x3fa2f17380> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 105, in receive E return self.receive_nowait() E ^^^^^^^^^^^^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 100, in receive_nowait E raise WouldBlock E anyio.WouldBlock E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________ test_multi_tasks_failure_avoids_next_execution[trio] _____________ cls = func = . at 0x3fa315f6a0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________ test_websocket_endpoint_on_connect[asyncio] __________________ cls = func = . at 0x3fa2d5f380> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________ test_websocket_endpoint_on_connect[trio] ___________________ cls = func = . at 0x3fa2d5f560> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _____________ test_websocket_endpoint_on_receive_json_binary[trio] _____________ cls = func = . at 0x3fa2d81440> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________________ test_no_content[asyncio] ___________________________ cls = func = . at 0x3fa2d82ac0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________________ test_with_headers[asyncio] __________________________ cls = func = . at 0x3fa2d81d00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________ test_handled_exc_after_response[asyncio] ___________________ cls = func = . at 0x3fa2d81bc0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________ test_max_fields_is_customizable_high[asyncio] _________________ cls = func = . at 0x3fa14dba60> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________________ test_router_add_route[asyncio] ________________________ cls = func = . at 0x3fa2d5dd00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________________ test_protocol_switch[asyncio] _________________________ cls = func = . at 0x3fa2d83880> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ___________________ test_lifespan_state_unsupported[asyncio] ___________________ cls = func = . at 0x3fa14ead40> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ test_raise_on_shutdown[asyncio] ________________________ cls = func = . at 0x3fa1444680> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________ test_mounted_middleware_does_not_catch_exception[asyncio] ___________ cls = func = . at 0x3fa2d5dd00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _______________________ test_router_duplicate_path[trio] _______________________ cls = func = . at 0x3fa14e82c0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning __________________________ test_protocol_switch[trio] __________________________ cls = func = . at 0x3fa2d5dd00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/trio/_core/_local.py", line 67, in set E old_value = self.get() E ^^^^^^^^^^ E File "/usr/lib/python3.12/site-packages/trio/_core/_local.py", line 59, in get E raise LookupError(self) from None E LookupError: E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ____________________ test_lifespan_state_unsupported[trio] _____________________ cls = func = . at 0x3fa14e8d60> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________________ test_raise_on_shutdown[trio] _________________________ cls = func = . at 0x3fa14e1440> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ____________________ test_base_route_middleware[trio-app1] _____________________ cls = func = . at 0x3fa1447100> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________ test_use_testclient_as_contextmanager[asyncio] ________________ cls = func = . at 0x3fa14e1d00> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ________________________ test_testclient_asgi2[asyncio] ________________________ cls = func = . at 0x3fa1788040> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning _________________ test_use_testclient_as_contextmanager[trio] __________________ cls = func = . at 0x3fa2d82020> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ______________________ test_exception_in_middleware[trio] ______________________ cls = func = . at 0x3fa14451c0> when = 'call' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.12/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/_pytest/runner.py:241: in lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.12/site-packages/pluggy/_hooks.py:513: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) /usr/lib/python3.12/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.12/site-packages/_pytest/threadexception.py:87: in pytest_runtest_call yield from thread_exception_runtest_hook() /usr/lib/python3.12/site-packages/_pytest/threadexception.py:63: in thread_exception_runtest_hook yield /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:90: in pytest_runtest_call yield from unraisable_exception_runtest_hook() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def unraisable_exception_runtest_hook() -> Generator[None, None, None]: with catch_unraisable_exception() as cm: try: yield finally: if cm.unraisable: if cm.unraisable.err_msg is not None: err_msg = cm.unraisable.err_msg else: err_msg = "Exception ignored in" msg = f"{err_msg}: {cm.unraisable.object!r}\n\n" msg += "".join( traceback.format_exception( cm.unraisable.exc_type, cm.unraisable.exc_value, cm.unraisable.exc_traceback, ) ) > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) E pytest.PytestUnraisableExceptionWarning: Exception ignored in: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/trio/_core/_run.py", line 2735, in current_task E return GLOBAL_RUN_CONTEXT.task E ^^^^^^^^^^^^^^^^^^^^^^^ E AttributeError: 'RunContext' object has no attribute 'task' E E During handling of the above exception, another exception occurred: E E Traceback (most recent call last): E File "/usr/lib/python3.12/site-packages/anyio/streams/memory.py", line 177, in __del__ E warnings.warn( E ResourceWarning: Unclosed /usr/lib/python3.12/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning ================================== XFAILURES =================================== ______ test_contextvars[asyncio-CustomMiddlewareUsingBaseHTTPMiddleware] _______ + Exception Group Traceback (most recent call last): | File "/build/python-starlette/src/starlette-0.37.2/starlette/_utils.py", line 87, in collapse_excgroups | yield | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/usr/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 680, in __aexit__ | raise BaseExceptionGroup( | ExceptionGroup: unhandled errors in a TaskGroup (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call | result: Optional[TResult] = func() | ^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall | raise exception.with_traceback(exception.__traceback__) | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call | yield from thread_exception_runtest_hook() | File "/usr/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call | yield from unraisable_exception_runtest_hook() | File "/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call | yield from self._runtest_for(item, "call") | File "/usr/lib/python3.12/site-packages/_pytest/logging.py", line 833, in _runtest_for | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call | return (yield) | ^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call | return (yield) | ^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall | res = hook_impl.function(*args) | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call | raise e | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call | item.runtest() | File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest | self.ihook.pytest_pyfunc_call(pyfuncitem=self) | File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall | raise exception.with_traceback(exception.__traceback__) | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall | res = hook_impl.function(*args) | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call | result = testfunction(**testargs) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/tests/middleware/test_base.py", line 258, in test_contextvars | response = client.get("/") | ^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 548, in get | return super().get( | ^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1054, in get | return self.request( | ^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 516, in request | return super().request( | ^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 827, in request | return self.send(request, auth=auth, follow_redirects=follow_redirects) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 914, in send | response = self._send_handling_auth( | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 942, in _send_handling_auth | response = self._send_handling_redirects( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 979, in _send_handling_redirects | response = self._send_single_request(request) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1015, in _send_single_request | response = transport.handle_request(request) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 398, in handle_request | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 395, in handle_request | portal.call(self.app, scope, receive, send) | File "/usr/lib/python3.12/site-packages/anyio/from_thread.py", line 287, in call | return cast(T_Retval, self.start_task_soon(func, *args).result()) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/concurrent/futures/_base.py", line 456, in result | return self.__get_result() | ^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result | raise self._exception | File "/usr/lib/python3.12/site-packages/anyio/from_thread.py", line 218, in _call_func | retval = await retval_or_awaitable | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ | self.gen.throw(value) | File "/build/python-starlette/src/starlette-0.37.2/starlette/_utils.py", line 93, in collapse_excgroups | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/tests/middleware/test_base.py", line 221, in dispatch | assert ctxvar.get() == "set by endpoint" | AssertionError: assert 'set by middleware' == 'set by endpoint' | | - set by endpoint | + set by middleware +------------------------------------ During handling of the above exception, another exception occurred: test_client_factory = functools.partial(, backend='asyncio', backend_options={}) middleware_cls = @pytest.mark.parametrize( "middleware_cls", [ CustomMiddlewareWithoutBaseHTTPMiddleware, pytest.param( CustomMiddlewareUsingBaseHTTPMiddleware, marks=pytest.mark.xfail( reason=( "BaseHTTPMiddleware creates a TaskGroup which copies the context" "and erases any changes to it made within the TaskGroup" ), raises=AssertionError, ), ), ], ) def test_contextvars( test_client_factory: TestClientFactory, middleware_cls: type[_MiddlewareClass[Any]], ) -> None: # this has to be an async endpoint because Starlette calls run_in_threadpool # on sync endpoints which has it's own set of peculiarities w.r.t propagating # contextvars (it propagates them forwards but not backwards) async def homepage(request: Request) -> PlainTextResponse: assert ctxvar.get() == "set by middleware" ctxvar.set("set by endpoint") return PlainTextResponse("Homepage") app = Starlette( middleware=[Middleware(middleware_cls)], routes=[Route("/", homepage)] ) client = test_client_factory(app) > response = client.get("/") tests/middleware/test_base.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ starlette/testclient.py:548: in get return super().get( /usr/lib/python3.12/site-packages/httpx/_client.py:1054: in get return self.request( starlette/testclient.py:516: in request return super().request( /usr/lib/python3.12/site-packages/httpx/_client.py:827: in request return self.send(request, auth=auth, follow_redirects=follow_redirects) /usr/lib/python3.12/site-packages/httpx/_client.py:914: in send response = self._send_handling_auth( /usr/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth response = self._send_handling_redirects( /usr/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects response = self._send_single_request(request) /usr/lib/python3.12/site-packages/httpx/_client.py:1015: in _send_single_request response = transport.handle_request(request) starlette/testclient.py:398: in handle_request raise exc starlette/testclient.py:395: in handle_request portal.call(self.app, scope, receive, send) /usr/lib/python3.12/site-packages/anyio/from_thread.py:287: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) /usr/lib/python3.12/concurrent/futures/_base.py:456: in result return self.__get_result() /usr/lib/python3.12/concurrent/futures/_base.py:401: in __get_result raise self._exception /usr/lib/python3.12/site-packages/anyio/from_thread.py:218: in _call_func retval = await retval_or_awaitable starlette/applications.py:123: in __call__ await self.middleware_stack(scope, receive, send) starlette/middleware/errors.py:186: in __call__ raise exc starlette/middleware/errors.py:164: in __call__ await self.app(scope, receive, _send) starlette/middleware/base.py:189: in __call__ with collapse_excgroups(): /usr/lib/python3.12/contextlib.py:158: in __exit__ self.gen.throw(value) starlette/_utils.py:93: in collapse_excgroups raise exc starlette/middleware/base.py:191: in __call__ response = await self.dispatch_func(request, call_next) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = call_next = .call_next at 0x3fa319ccc0> async def dispatch( self, request: Request, call_next: RequestResponseEndpoint, ) -> Response: ctxvar.set("set by middleware") resp = await call_next(request) > assert ctxvar.get() == "set by endpoint" E AssertionError: assert 'set by middleware' == 'set by endpoint' E E - set by endpoint E + set by middleware tests/middleware/test_base.py:221: AssertionError ________ test_contextvars[trio-CustomMiddlewareUsingBaseHTTPMiddleware] ________ + Exception Group Traceback (most recent call last): | File "/build/python-starlette/src/starlette-0.37.2/starlette/_utils.py", line 87, in collapse_excgroups | yield | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 190, in __call__ | async with anyio.create_task_group() as task_group: | File "/usr/lib/python3.12/site-packages/anyio/_backends/_trio.py", line 170, in __aexit__ | return await self._nursery_manager.__aexit__(exc_type, exc_val, exc_tb) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/trio/_core/_run.py", line 963, in __aexit__ | raise combined_error_from_nursery | ExceptionGroup: Exceptions from Trio nursery (1 sub-exception) +-+---------------- 1 ---------------- | Traceback (most recent call last): | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 341, in from_call | result: Optional[TResult] = func() | ^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 241, in | lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall | raise exception.with_traceback(exception.__traceback__) | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/threadexception.py", line 87, in pytest_runtest_call | yield from thread_exception_runtest_hook() | File "/usr/lib/python3.12/site-packages/_pytest/threadexception.py", line 63, in thread_exception_runtest_hook | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 90, in pytest_runtest_call | yield from unraisable_exception_runtest_hook() | File "/usr/lib/python3.12/site-packages/_pytest/unraisableexception.py", line 65, in unraisable_exception_runtest_hook | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/logging.py", line 850, in pytest_runtest_call | yield from self._runtest_for(item, "call") | File "/usr/lib/python3.12/site-packages/_pytest/logging.py", line 833, in _runtest_for | yield | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/capture.py", line 878, in pytest_runtest_call | return (yield) | ^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 122, in _multicall | teardown.throw(exception) # type: ignore[union-attr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/skipping.py", line 257, in pytest_runtest_call | return (yield) | ^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall | res = hook_impl.function(*args) | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 183, in pytest_runtest_call | raise e | File "/usr/lib/python3.12/site-packages/_pytest/runner.py", line 173, in pytest_runtest_call | item.runtest() | File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 1632, in runtest | self.ihook.pytest_pyfunc_call(pyfuncitem=self) | File "/usr/lib/python3.12/site-packages/pluggy/_hooks.py", line 513, in __call__ | return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_manager.py", line 120, in _hookexec | return self._inner_hookexec(hook_name, methods, kwargs, firstresult) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 139, in _multicall | raise exception.with_traceback(exception.__traceback__) | File "/usr/lib/python3.12/site-packages/pluggy/_callers.py", line 103, in _multicall | res = hook_impl.function(*args) | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/_pytest/python.py", line 162, in pytest_pyfunc_call | result = testfunction(**testargs) | ^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/tests/middleware/test_base.py", line 258, in test_contextvars | response = client.get("/") | ^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 548, in get | return super().get( | ^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1054, in get | return self.request( | ^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 516, in request | return super().request( | ^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 827, in request | return self.send(request, auth=auth, follow_redirects=follow_redirects) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 914, in send | response = self._send_handling_auth( | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 942, in _send_handling_auth | response = self._send_handling_redirects( | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 979, in _send_handling_redirects | response = self._send_single_request(request) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/site-packages/httpx/_client.py", line 1015, in _send_single_request | response = transport.handle_request(request) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 398, in handle_request | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/testclient.py", line 395, in handle_request | portal.call(self.app, scope, receive, send) | File "/usr/lib/python3.12/site-packages/anyio/from_thread.py", line 287, in call | return cast(T_Retval, self.start_task_soon(func, *args).result()) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/concurrent/futures/_base.py", line 449, in result | return self.__get_result() | ^^^^^^^^^^^^^^^^^^^ | File "/usr/lib/python3.12/concurrent/futures/_base.py", line 401, in __get_result | raise self._exception | File "/usr/lib/python3.12/site-packages/anyio/from_thread.py", line 218, in _call_func | retval = await retval_or_awaitable | ^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/starlette/applications.py", line 123, in __call__ | await self.middleware_stack(scope, receive, send) | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/errors.py", line 186, in __call__ | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/errors.py", line 164, in __call__ | await self.app(scope, receive, _send) | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 189, in __call__ | with collapse_excgroups(): | File "/usr/lib/python3.12/contextlib.py", line 158, in __exit__ | self.gen.throw(value) | File "/build/python-starlette/src/starlette-0.37.2/starlette/_utils.py", line 93, in collapse_excgroups | raise exc | File "/build/python-starlette/src/starlette-0.37.2/starlette/middleware/base.py", line 191, in __call__ | response = await self.dispatch_func(request, call_next) | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | File "/build/python-starlette/src/starlette-0.37.2/tests/middleware/test_base.py", line 221, in dispatch | assert ctxvar.get() == "set by endpoint" | AssertionError: assert 'set by middleware' == 'set by endpoint' | | - set by endpoint | + set by middleware +------------------------------------ During handling of the above exception, another exception occurred: test_client_factory = functools.partial(, backend='trio', backend_options={}) middleware_cls = @pytest.mark.parametrize( "middleware_cls", [ CustomMiddlewareWithoutBaseHTTPMiddleware, pytest.param( CustomMiddlewareUsingBaseHTTPMiddleware, marks=pytest.mark.xfail( reason=( "BaseHTTPMiddleware creates a TaskGroup which copies the context" "and erases any changes to it made within the TaskGroup" ), raises=AssertionError, ), ), ], ) def test_contextvars( test_client_factory: TestClientFactory, middleware_cls: type[_MiddlewareClass[Any]], ) -> None: # this has to be an async endpoint because Starlette calls run_in_threadpool # on sync endpoints which has it's own set of peculiarities w.r.t propagating # contextvars (it propagates them forwards but not backwards) async def homepage(request: Request) -> PlainTextResponse: assert ctxvar.get() == "set by middleware" ctxvar.set("set by endpoint") return PlainTextResponse("Homepage") app = Starlette( middleware=[Middleware(middleware_cls)], routes=[Route("/", homepage)] ) client = test_client_factory(app) > response = client.get("/") tests/middleware/test_base.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ starlette/testclient.py:548: in get return super().get( /usr/lib/python3.12/site-packages/httpx/_client.py:1054: in get return self.request( starlette/testclient.py:516: in request return super().request( /usr/lib/python3.12/site-packages/httpx/_client.py:827: in request return self.send(request, auth=auth, follow_redirects=follow_redirects) /usr/lib/python3.12/site-packages/httpx/_client.py:914: in send response = self._send_handling_auth( /usr/lib/python3.12/site-packages/httpx/_client.py:942: in _send_handling_auth response = self._send_handling_redirects( /usr/lib/python3.12/site-packages/httpx/_client.py:979: in _send_handling_redirects response = self._send_single_request(request) /usr/lib/python3.12/site-packages/httpx/_client.py:1015: in _send_single_request response = transport.handle_request(request) starlette/testclient.py:398: in handle_request raise exc starlette/testclient.py:395: in handle_request portal.call(self.app, scope, receive, send) /usr/lib/python3.12/site-packages/anyio/from_thread.py:287: in call return cast(T_Retval, self.start_task_soon(func, *args).result()) /usr/lib/python3.12/concurrent/futures/_base.py:449: in result return self.__get_result() /usr/lib/python3.12/concurrent/futures/_base.py:401: in __get_result raise self._exception /usr/lib/python3.12/site-packages/anyio/from_thread.py:218: in _call_func retval = await retval_or_awaitable starlette/applications.py:123: in __call__ await self.middleware_stack(scope, receive, send) starlette/middleware/errors.py:186: in __call__ raise exc starlette/middleware/errors.py:164: in __call__ await self.app(scope, receive, _send) starlette/middleware/base.py:189: in __call__ with collapse_excgroups(): /usr/lib/python3.12/contextlib.py:158: in __exit__ self.gen.throw(value) starlette/_utils.py:93: in collapse_excgroups raise exc starlette/middleware/base.py:191: in __call__ response = await self.dispatch_func(request, call_next) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = call_next = .call_next at 0x3fa315e340> async def dispatch( self, request: Request, call_next: RequestResponseEndpoint, ) -> Response: ctxvar.set("set by middleware") resp = await call_next(request) > assert ctxvar.get() == "set by endpoint" E AssertionError: assert 'set by middleware' == 'set by endpoint' E E - set by endpoint E + set by middleware tests/middleware/test_base.py:221: AssertionError =========================== short test summary info ============================ XFAIL tests/middleware/test_base.py::test_contextvars[asyncio-CustomMiddlewareUsingBaseHTTPMiddleware] - BaseHTTPMiddleware creates a TaskGroup which copies the contextand erases any changes to it made within the TaskGroup XFAIL tests/middleware/test_base.py::test_contextvars[trio-CustomMiddlewareUsingBaseHTTPMiddleware] - BaseHTTPMiddleware creates a TaskGroup which copies the contextand erases any changes to it made within the TaskGroup ====== 40 failed, 743 passed, 2 deselected, 2 xfailed, 8 errors in 40.52s ====== ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/root14/build [?25h[?25hreceiving incremental file list python-starlette-0.37.2-5-riscv64-build.log python-starlette-0.37.2-5-riscv64-check.log sent 62 bytes received 15,310 bytes 10,248.00 bytes/sec total size is 275,651 speedup is 17.93