Your message dated Sun, 17 Mar 2024 12:24:46 +0000
with message-id <e1rlpzg-009a6l...@fasolo.debian.org>
and subject line Bug#1066777: fixed in quart 0.19.4-2
has caused the Debian Bug report #1066777,
regarding quart: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i 
python{version} -p "3.12 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1066777: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066777
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: quart
Version: 0.19.4-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> # The name of the project need to be written in lowercase letters,
> # otherwise pybuild wont find the WHEEL file (as it's created from the
> # project name starting with an capital letter).
> sed -i 's,name = "Quart",name = "quart",g' pyproject.toml
> dh_auto_build
> I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build" 
> module
> I: pybuild base:305: python3.12 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_quart 
>  
> * Building wheel...
> Successfully built quart-0.19.4-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with 
> "installer" module
> I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build" 
> module
> I: pybuild base:305: python3.11 -m build --skip-dependency-check 
> --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_quart 
>  
> * Building wheel...
> Successfully built quart-0.19.4-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with 
> "installer" module
> # Now undo the previous replacement again, we need to do this hack as
> # dpkg will otherwise complain about modified source code of course in
> # case the build is getting started twice in a row.
> sed -i 's,name = "quart",name = "Quart",g' pyproject.toml
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:305: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_quart/build; 
> python3.12 -m pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.12.2, pytest-8.0.2, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_quart/build
> configfile: pyproject.toml
> plugins: cov-4.1.0, asyncio-0.20.3, hypothesis-6.98.15
> asyncio: mode=Mode.AUTO
> collected 250 items
> 
> tests/test_app.py .......................................                [ 
> 15%]
> tests/test_asgi.py ....................F......                           [ 
> 26%]
> tests/test_background_tasks.py ...                                       [ 
> 27%]
> tests/test_basic.py ..................                                   [ 
> 34%]
> tests/test_blueprints.py ........................                        [ 
> 44%]
> tests/test_cli.py .......                                                [ 
> 47%]
> tests/test_ctx.py ............                                           [ 
> 52%]
> tests/test_debug.py .                                                    [ 
> 52%]
> tests/test_exceptions.py ...                                             [ 
> 53%]
> tests/test_helpers.py ......................                             [ 
> 62%]
> tests/test_routing.py FF                                                 [ 
> 63%]
> tests/test_sessions.py ....                                              [ 
> 64%]
> tests/test_static_hosting.py .                                           [ 
> 65%]
> tests/test_sync.py ..                                                    [ 
> 66%]
> tests/test_templating.py .......                                         [ 
> 68%]
> tests/test_testing.py ..................................                 [ 
> 82%]
> tests/test_utils.py ..                                                   [ 
> 83%]
> tests/test_views.py ...                                                  [ 
> 84%]
> tests/wrappers/test_base.py ......                                       [ 
> 86%]
> tests/wrappers/test_request.py ..........                                [ 
> 90%]
> tests/wrappers/test_response.py .......................                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________________ test_websocket_accept_connection_warns 
> ____________________
> 
> websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     async def test_websocket_accept_connection_warns(websocket_scope: 
> WebsocketScope) -> None:
>         connection = ASGIWebsocketConnection(Quart(__name__), websocket_scope)
>     
>         async def mock_send(message: ASGISendEvent) -> None:
>             pass
>     
> >       with pytest.warns(None):
> 
> connection = <quart.asgi.ASGIWebsocketConnection object at 0x7f1fb9706720>
> mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f1fba0d8ae0>
> websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
> tests/test_asgi.py:287: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> ________________________ test_bind_warning[localhost-0] 
> ________________________
> 
> server_name = 'localhost', expected = 0
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     @pytest.mark.parametrize(
>         "server_name, expected",
>         [("localhost", 0), ("quart.com", 1)],
>     )
>     async def test_bind_warning(server_name: str, expected: int, http_scope: 
> HTTPScope) -> None:
>         map_ = QuartMap(host_matching=False)
>         request = Request(
>             "GET",
>             "http",
>             "/",
>             b"",
>             Headers([("host", "Localhost")]),
>             "",
>             "1.1",
>             http_scope,
>             send_push_promise=no_op_push,
>         )
> >       with pytest.warns(None) as record:
> 
> expected   = 0
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> map_       = QuartMap([])
> request    = <Request 'http://localhost/' [GET]>
> server_name = 'localhost'
> 
> tests/test_routing.py:29: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.001240888006577734
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=34>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f1fba0d9c60>
>         precise_start = 45847.096292897
>         precise_stop = 45847.097533785
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275653.0762138
>         stop       = 1710275653.0774555
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_websocket_accept_connection_warns>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f1fb9706ed0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f1fb9706cf0>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_websocket_accept_connection_warns>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'websocket_scope': {'asgi': {}, 'client...ons': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         testargs   = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         testfunction = <function test_websocket_accept_connection_warns at 
> 0x7f1fba0db920>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_websocket_accept_connection_warns 
> at 0x7f1fba5e4c40>
>         func       = <function test_websocket_accept_connection_warns at 
> 0x7f1fba5efec0>
>         kwargs     = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         task       = <Task finished name='Task-80' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.12/asyncio/base_events.py:685: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-80' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_asgi.py:287: in test_websocket_accept_connection_warns
>     with pytest.warns(None):
>         connection = <quart.asgi.ASGIWebsocketConnection object at 
> 0x7f1fb9706720>
>         mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f1fba0d8ae0>
>         websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 
> 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> ________________________ test_bind_warning[quart.com-1] 
> ________________________
> 
> server_name = 'quart.com', expected = 1
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     @pytest.mark.parametrize(
>         "server_name, expected",
>         [("localhost", 0), ("quart.com", 1)],
>     )
>     async def test_bind_warning(server_name: str, expected: int, http_scope: 
> HTTPScope) -> None:
>         map_ = QuartMap(host_matching=False)
>         request = Request(
>             "GET",
>             "http",
>             "/",
>             b"",
>             Headers([("host", "Localhost")]),
>             "",
>             "1.1",
>             http_scope,
>             send_push_promise=no_op_push,
>         )
> >       with pytest.warns(None) as record:
> 
> expected   = 1
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> map_       = QuartMap([])
> request    = <Request 'http://localhost/' [GET]>
> server_name = 'quart.com'
> 
> tests/test_routing.py:29: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.00036152500251773745
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=68>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f1fbbab6200>
>         precise_start = 45849.087438992
>         precise_stop = 45849.087800517
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275655.06736
>         stop       = 1710275655.067722
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_bind_warning[localhost-0]>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function test_bind_warning[localhost-0]>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function test_bind_warning[localhost-0]>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f1fb96051c0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f1fb9605130>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_bind_warning[localhost-0]>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_bind_warning[localhost-0]>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_bind_warning[localhost-0]>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_bind_warning[localhost-0]>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function test_bind_warning[localhost-0]>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function test_bind_warning[localhost-0]>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'expected': 0, 'http_scope': {'asgi': {...r-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         pyfuncitem = <Function test_bind_warning[localhost-0]>
>         testargs   = {'expected': 0, 'http_scope': {'asgi': {}, 'client': 
> ('127.0.0.1', 80), 'extensions': {}, 'headers': [(b'User-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         testfunction = <function test_bind_warning at 0x7f1fba0f1800>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_bind_warning at 0x7f1fba16d540>
>         func       = <function test_bind_warning at 0x7f1fba4a2700>
>         kwargs     = {'expected': 0, 'http_scope': {'asgi': {}, 'client': 
> ('127.0.0.1', 80), 'extensions': {}, 'headers': [(b'User-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         pyfuncitem = <Function test_bind_warning[localhost-0]>
>         task       = <Task finished name='Task-329' coro=<test_bind_warning() 
> done, defined at 
> /<<PKGBUILDDIR>>/.pybuild/cp.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.12/asyncio/base_events.py:685: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-329' coro=<test_bind_warning() 
> done, defined at 
> /<<PKGBUILDDIR>>/.pybuild/cp.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_routing.py:29: in test_bind_warning
>     with pytest.warns(None) as record:
>         expected   = 0
>         http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': 
> {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
>         map_       = QuartMap([])
>         request    = <Request 'http://localhost/' [GET]>
>         server_name = 'localhost'
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.001240888006577734
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=34>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f1fba0d9c60>
>         precise_start = 45847.096292897
>         precise_stop = 45847.097533785
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275653.0762138
>         stop       = 1710275653.0774555
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_websocket_accept_connection_warns>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f1fb9706ed0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f1fb9706cf0>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_websocket_accept_connection_warns>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f1fbae56240>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f1fbbb984a0>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'websocket_scope': {'asgi': {}, 'client...ons': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         testargs   = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         testfunction = <function test_websocket_accept_connection_warns at 
> 0x7f1fba0db920>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_websocket_accept_connection_warns 
> at 0x7f1fba5e4c40>
>         func       = <function test_websocket_accept_connection_warns at 
> 0x7f1fba5efec0>
>         kwargs     = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         task       = <Task finished name='Task-80' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.12/asyncio/base_events.py:685: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-80' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_asgi.py:287: in test_websocket_accept_connection_warns
>     with pytest.warns(None):
>         connection = <quart.asgi.ASGIWebsocketConnection object at 
> 0x7f1fb9706720>
>         mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f1fba0d8ae0>
>         websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 
> 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> =============================== warnings summary 
> ===============================
> tests/test_helpers.py::test_send_file_path
> tests/test_helpers.py::test_send_file_as_attachment
> tests/test_helpers.py::test_send_file_as_attachment_name
> tests/test_helpers.py::test_send_file_mimetype
> tests/test_helpers.py::test_send_file_last_modified
> tests/test_helpers.py::test_send_file_last_modified_override
> tests/test_helpers.py::test_send_file_max_age
> tests/test_static_hosting.py::test_host_matching
> tests/test_static_hosting.py::test_host_matching
>   /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_quart/build/quart/helpers.py:351: 
> DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled 
> for removal in a future version. Use timezone-aware objects to represent 
> datetimes in UTC: datetime.datetime.now(datetime.UTC).
>     response.expires = datetime.utcnow() + timedelta(seconds=cache_timeout)
> 
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info 
> ============================
> FAILED tests/test_asgi.py::test_websocket_accept_connection_warns - 
> pytest.Py...
> FAILED tests/test_routing.py::test_bind_warning[localhost-0] - 
> pytest.PytestR...
> FAILED tests/test_routing.py::test_bind_warning[quart.com-1] - 
> pytest.PytestR...
> ================== 3 failed, 247 passed, 9 warnings in 5.10s 
> ===================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_quart/build; python3.12 -m pytest 
> tests
> I: pybuild base:305: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_quart/build; 
> python3.11 -m pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_quart/build
> configfile: pyproject.toml
> plugins: cov-4.1.0, asyncio-0.20.3, hypothesis-6.98.15
> asyncio: mode=Mode.AUTO
> collected 250 items
> 
> tests/test_app.py .......................................                [ 
> 15%]
> tests/test_asgi.py ....................F......                           [ 
> 26%]
> tests/test_background_tasks.py ...                                       [ 
> 27%]
> tests/test_basic.py ..................                                   [ 
> 34%]
> tests/test_blueprints.py ........................                        [ 
> 44%]
> tests/test_cli.py .......                                                [ 
> 47%]
> tests/test_ctx.py ............                                           [ 
> 52%]
> tests/test_debug.py .                                                    [ 
> 52%]
> tests/test_exceptions.py ...                                             [ 
> 53%]
> tests/test_helpers.py ......................                             [ 
> 62%]
> tests/test_routing.py FF                                                 [ 
> 63%]
> tests/test_sessions.py ....                                              [ 
> 64%]
> tests/test_static_hosting.py .                                           [ 
> 65%]
> tests/test_sync.py ..                                                    [ 
> 66%]
> tests/test_templating.py .......                                         [ 
> 68%]
> tests/test_testing.py ..................................                 [ 
> 82%]
> tests/test_utils.py ..                                                   [ 
> 83%]
> tests/test_views.py ...                                                  [ 
> 84%]
> tests/wrappers/test_base.py ......                                       [ 
> 86%]
> tests/wrappers/test_request.py ..........                                [ 
> 90%]
> tests/wrappers/test_response.py .......................                  
> [100%]
> 
> =================================== FAILURES 
> ===================================
> ____________________ test_websocket_accept_connection_warns 
> ____________________
> 
> websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     async def test_websocket_accept_connection_warns(websocket_scope: 
> WebsocketScope) -> None:
>         connection = ASGIWebsocketConnection(Quart(__name__), websocket_scope)
>     
>         async def mock_send(message: ASGISendEvent) -> None:
>             pass
>     
> >       with pytest.warns(None):
> 
> connection = <quart.asgi.ASGIWebsocketConnection object at 0x7f7bda64b1d0>
> mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f7bda5ea660>
> websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
> tests/test_asgi.py:287: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> ________________________ test_bind_warning[localhost-0] 
> ________________________
> 
> server_name = 'localhost', expected = 0
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     @pytest.mark.parametrize(
>         "server_name, expected",
>         [("localhost", 0), ("quart.com", 1)],
>     )
>     async def test_bind_warning(server_name: str, expected: int, http_scope: 
> HTTPScope) -> None:
>         map_ = QuartMap(host_matching=False)
>         request = Request(
>             "GET",
>             "http",
>             "/",
>             b"",
>             Headers([("host", "Localhost")]),
>             "",
>             "1.1",
>             http_scope,
>             send_push_promise=no_op_push,
>         )
> >       with pytest.warns(None) as record:
> 
> expected   = 0
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> map_       = QuartMap([])
> request    = <Request 'http://localhost/' [GET]>
> server_name = 'localhost'
> 
> tests/test_routing.py:29: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.001215306001540739
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=34>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f7bdc52c860>
>         precise_start = 45852.935502155
>         precise_stop = 45852.936717461
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275658.9154232
>         stop       = 1710275658.916639
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_websocket_accept_connection_warns>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f7bda634ed0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f7bda635e10>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_websocket_accept_connection_warns>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'websocket_scope': {'asgi': {}, 'client...ons': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         testargs   = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         testfunction = <function test_websocket_accept_connection_warns at 
> 0x7f7bda5e93a0>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_websocket_accept_connection_warns 
> at 0x7f7bdab00040>
>         func       = <function test_websocket_accept_connection_warns at 
> 0x7f7bdab08c20>
>         kwargs     = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         task       = <Task finished name='Task-97' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-97' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_asgi.py:287: in test_websocket_accept_connection_warns
>     with pytest.warns(None):
>         connection = <quart.asgi.ASGIWebsocketConnection object at 
> 0x7f7bda64b1d0>
>         mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f7bda5ea660>
>         websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 
> 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> ________________________ test_bind_warning[quart.com-1] 
> ________________________
> 
> server_name = 'quart.com', expected = 1
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> 
>     @pytest.mark.parametrize(
>         "server_name, expected",
>         [("localhost", 0), ("quart.com", 1)],
>     )
>     async def test_bind_warning(server_name: str, expected: int, http_scope: 
> HTTPScope) -> None:
>         map_ = QuartMap(host_matching=False)
>         request = Request(
>             "GET",
>             "http",
>             "/",
>             b"",
>             Headers([("host", "Localhost")]),
>             "",
>             "1.1",
>             http_scope,
>             send_push_promise=no_op_push,
>         )
> >       with pytest.warns(None) as record:
> 
> expected   = 1
> http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}
> map_       = QuartMap([])
> request    = <Request 'http://localhost/' [GET]>
> server_name = 'quart.com'
> 
> tests/test_routing.py:29: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.0004356299978098832
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=68>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f7bdc1060c0>
>         precise_start = 45855.06744554
>         precise_stop = 45855.06788117
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275661.0473664
>         stop       = 1710275661.0478027
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_bind_warning[localhost-0]>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function test_bind_warning[localhost-0]>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function test_bind_warning[localhost-0]>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f7bd9d695d0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f7bd9d72f10>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_bind_warning[localhost-0]>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_bind_warning[localhost-0]>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_bind_warning[localhost-0]>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_bind_warning[localhost-0]>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_bind_warning[localhost-0]>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function test_bind_warning[localhost-0]>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function test_bind_warning[localhost-0]>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'expected': 0, 'http_scope': {'asgi': {...r-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         pyfuncitem = <Function test_bind_warning[localhost-0]>
>         testargs   = {'expected': 0, 'http_scope': {'asgi': {}, 'client': 
> ('127.0.0.1', 80), 'extensions': {}, 'headers': [(b'User-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         testfunction = <function test_bind_warning at 0x7f7bd9d084a0>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_bind_warning at 0x7f7bda640040>
>         func       = <function test_bind_warning at 0x7f7bdab3eb60>
>         kwargs     = {'expected': 0, 'http_scope': {'asgi': {}, 'client': 
> ('127.0.0.1', 80), 'extensions': {}, 'headers': [(b'User-Agent', 
> b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], 
> ...}, 'server_name': 'localhost'}
>         pyfuncitem = <Function test_bind_warning[localhost-0]>
>         task       = <Task finished name='Task-405' coro=<test_bind_warning() 
> done, defined at 
> /<<PKGBUILDDIR>>/.pybuild/cp.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-405' coro=<test_bind_warning() 
> done, defined at 
> /<<PKGBUILDDIR>>/.pybuild/cp.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_routing.py:29: in test_bind_warning
>     with pytest.warns(None) as record:
>         expected   = 0
>         http_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 'extensions': 
> {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
>         map_       = QuartMap([])
>         request    = <Request 'http://localhost/' [GET]>
>         server_name = 'localhost'
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: in __init__
>     warnings.warn(WARNS_NONE_ARG, stacklevel=4)
>         __class__  = <class '_pytest.recwarn.WarningsChecker'>
>         _ispytest  = True
>         expected_warning = None
>         match_expr = None
>         msg        = 'exceptions must be derived from Warning, not %s'
>         self       = WarningsChecker(record=True)
> /usr/lib/python3/dist-packages/_pytest/runner.py:342: in from_call
>     result: Optional[TResult] = func()
>         cls        = <class '_pytest.runner.CallInfo'>
>         duration   = 0.001215306001540739
>         excinfo    = <ExceptionInfo PytestRemovedIn8Warning('Passing None has 
> been deprecated.\nSee 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.') tblen=34>
>         func       = <function call_runtest_hook.<locals>.<lambda> at 
> 0x7f7bdc52c860>
>         precise_start = 45852.935502155
>         precise_stop = 45852.936717461
>         reraise    = (<class '_pytest.outcomes.Exit'>, <class 
> 'KeyboardInterrupt'>)
>         result     = None
>         start      = 1710275658.9154232
>         stop       = 1710275658.916639
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
>     lambda: ihook(item=item, **kwds), when=when, reraise=reraise
>         ihook      = <HookCaller 'pytest_runtest_call'>
>         item       = <Function test_websocket_accept_connection_warns>
>         kwds       = {}
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = False
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_runtest_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = False
>         hook_name  = 'pytest_runtest_call'
>         kwargs     = {'item': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='runner', plugin=<module 
> '_pytest.runner' from 
> '/usr/lib/python3/dist-packages/_pytest/runner.p...ugin=<module 
> '_pytest.unraisableexception' from 
> '/usr/lib/python3/dist-packages/_pytest/unraisableexception.py'>>, ...]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:87: in 
> pytest_runtest_call
>     yield from thread_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/threadexception.py:63: in 
> thread_exception_runtest_hook
>     yield
>         cm         = <_pytest.threadexception.catch_threading_exception 
> object at 0x7f7bda634ed0>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in 
> pytest_runtest_call
>     yield from unraisable_exception_runtest_hook()
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in 
> unraisable_exception_runtest_hook
>     yield
>         cm         = <_pytest.unraisableexception.catch_unraisable_exception 
> object at 0x7f7bda635e10>
> /usr/lib/python3/dist-packages/_pytest/logging.py:839: in pytest_runtest_call
>     yield from self._runtest_for(item, "call")
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
> /usr/lib/python3/dist-packages/_pytest/logging.py:822: in _runtest_for
>     yield
>         caplog_handler = <LogCaptureHandler (NOTSET)>
>         item       = <Function test_websocket_accept_connection_warns>
>         log        = ''
>         report_handler = <LogCaptureHandler (NOTSET)>
>         self       = <_pytest.logging.LoggingPlugin object at 0x7f7bdc0ed090>
>         when       = 'call'
> /usr/lib/python3/dist-packages/_pytest/capture.py:882: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         self       = <CaptureManager _method='fd' 
> _global_capturing=<MultiCapture out=<FDCapture 1 oldfd=5 _state='suspended' 
> tmpfile=<_io....xtIOWrapper name='/dev/null' mode='r' encoding='utf-8'>> 
> _state='suspended' _in_suspended=False> _capture_fixture=None>
> /usr/lib/python3/dist-packages/_pytest/skipping.py:256: in pytest_runtest_call
>     return (yield)
>         item       = <Function test_websocket_accept_connection_warns>
>         xfailed    = None
> /usr/lib/python3/dist-packages/_pytest/runner.py:178: in pytest_runtest_call
>     raise e
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/runner.py:170: in pytest_runtest_call
>     item.runtest()
>         item       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/_pytest/python.py:1831: in runtest
>     self.ihook.pytest_pyfunc_call(pyfuncitem=self)
>         self       = <Function test_websocket_accept_connection_warns>
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
>     return self._hookexec(self.name, self._hookimpls.copy(), kwargs, 
> firstresult)
>         firstresult = True
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         self       = <HookCaller 'pytest_pyfunc_call'>
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
>     return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
>         firstresult = True
>         hook_name  = 'pytest_pyfunc_call'
>         kwargs     = {'pyfuncitem': <Function 
> test_websocket_accept_connection_warns>}
>         methods    = [<HookImpl plugin_name='python', plugin=<module 
> '_pytest.python' from 
> '/usr/lib/python3/dist-packages/_pytest/python.p...ame='asyncio', 
> plugin=<module 'pytest_asyncio.plugin' from 
> '/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py'>>]
>         self       = <_pytest.config.PytestPluginManager object at 
> 0x7f7bdcaac150>
> /usr/lib/python3/dist-packages/_pytest/python.py:194: in pytest_pyfunc_call
>     result = testfunction(**testargs)
>         funcargs   = {'event_loop': <_UnixSelectorEventLoop running=False 
> closed=True debug=False>, 'websocket_scope': {'asgi': {}, 'client...ons': {}, 
> 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', b'Hypercorn'), 
> (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         testargs   = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         testfunction = <function test_websocket_accept_connection_warns at 
> 0x7f7bda5e93a0>
> /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:478: in inner
>     _loop.run_until_complete(task)
>         _loop      = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
>         args       = ()
>         coro       = <coroutine object test_websocket_accept_connection_warns 
> at 0x7f7bdab00040>
>         func       = <function test_websocket_accept_connection_warns at 
> 0x7f7bdab08c20>
>         kwargs     = {'websocket_scope': {'asgi': {}, 'client': ('127.0.0.1', 
> 80), 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), 
> (b'X-Hypercorn', b'Hypercorn'), (b'Referer', b'hypercorn')], ...}}
>         pyfuncitem = <Function test_websocket_accept_connection_warns>
>         task       = <Task finished name='Task-97' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
> /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete
>     return future.result()
>         future     = <Task finished name='Task-97' 
> coro=<test_websocket_accept_connection_warns() done, defined at 
> /<<BUILDDIR>>/quar.../latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.')>
>         new_task   = False
>         self       = <_UnixSelectorEventLoop running=False closed=True 
> debug=False>
> tests/test_asgi.py:287: in test_websocket_accept_connection_warns
>     with pytest.warns(None):
>         connection = <quart.asgi.ASGIWebsocketConnection object at 
> 0x7f7bda64b1d0>
>         mock_send  = <function 
> test_websocket_accept_connection_warns.<locals>.mock_send at 0x7f7bda5ea660>
>         websocket_scope = {'asgi': {}, 'client': ('127.0.0.1', 80), 
> 'extensions': {}, 'headers': [(b'User-Agent', b'Hypercorn'), (b'X-Hypercorn', 
> b'Hypercorn'), (b'Referer', b'hypercorn')], ...}
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> self = WarningsChecker(record=True), expected_warning = None, match_expr = 
> None
> 
>     def __init__(
>         self,
>         expected_warning: Optional[
>             Union[Type[Warning], Tuple[Type[Warning], ...]]
>         ] = Warning,
>         match_expr: Optional[Union[str, Pattern[str]]] = None,
>         *,
>         _ispytest: bool = False,
>     ) -> None:
>         check_ispytest(_ispytest)
>         super().__init__(_ispytest=True)
>     
>         msg = "exceptions must be derived from Warning, not %s"
>         if expected_warning is None:
> >           warnings.warn(WARNS_NONE_ARG, stacklevel=4)
> E           pytest.PytestRemovedIn8Warning: Passing None has been deprecated.
> E           See 
> https://docs.pytest.org/en/latest/how-to/capture-warnings.html#additional-use-cases-of-warnings-in-tests
>  for alternatives in common use cases.
> 
> __class__  = <class '_pytest.recwarn.WarningsChecker'>
> _ispytest  = True
> expected_warning = None
> match_expr = None
> msg        = 'exceptions must be derived from Warning, not %s'
> self       = WarningsChecker(record=True)
> 
> /usr/lib/python3/dist-packages/_pytest/recwarn.py:281: PytestRemovedIn8Warning
> =========================== short test summary info 
> ============================
> FAILED tests/test_asgi.py::test_websocket_accept_connection_warns - 
> pytest.Py...
> FAILED tests/test_routing.py::test_bind_warning[localhost-0] - 
> pytest.PytestR...
> FAILED tests/test_routing.py::test_bind_warning[quart.com-1] - 
> pytest.PytestR...
> ======================== 3 failed, 247 passed in 5.66s 
> =========================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_quart/build; python3.11 -m pytest 
> tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/quart_0.19.4-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: quart
Source-Version: 0.19.4-2
Done: Carsten Schoenert <c.schoen...@t-online.de>

We believe that the bug you reported is fixed in the latest version of
quart, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1066...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Carsten Schoenert <c.schoen...@t-online.de> (supplier of updated quart package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 17 Mar 2024 12:40:00 +0100
Source: quart
Architecture: source
Version: 0.19.4-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <team+pyt...@tracker.debian.org>
Changed-By: Carsten Schoenert <c.schoen...@t-online.de>
Closes: 1066777
Changes:
 quart (0.19.4-2) unstable; urgency=medium
 .
   * Team upload
   * Rebuild patch queue from patch-queu branch
     Added patche:
     Fix-issues-with-the-latest-black-mypy-and-pytest.patch
     (Closes: #1066777)
Checksums-Sha1:
 8c9d5b5dad3d16f72466f67c68237b9d272e712f 2540 quart_0.19.4-2.dsc
 010c2c5d748a883f0c63d8de10b2f0daf5981419 7032 quart_0.19.4-2.debian.tar.xz
 f24c205f680e63cf9d14825cb61d5ebc1fa47951 10510 quart_0.19.4-2_amd64.buildinfo
Checksums-Sha256:
 4b64cf5e05b7e83126615f0df37ceedb944bf51e02080f25dbce0ee1a1dd41f8 2540 
quart_0.19.4-2.dsc
 90d0f757fb0ed612c62e6f4421c7d5a12abefe145af44e81e03e2f229ed18f41 7032 
quart_0.19.4-2.debian.tar.xz
 3798659bf18b0d754a79eb93bd13b853923605a715b87d1cb39b710509353ee2 10510 
quart_0.19.4-2_amd64.buildinfo
Files:
 bab6de59dc9cbb53fde15def6880d0a7 2540 python optional quart_0.19.4-2.dsc
 9d5dd6e9035b0c8beeb2584a8d4d6b94 7032 python optional 
quart_0.19.4-2.debian.tar.xz
 cbde9332fffd25ed1f834896f685f2de 10510 python optional 
quart_0.19.4-2_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEtw38bxNP7PwBHmKqgwFgFCUdHbAFAmX215EACgkQgwFgFCUd
HbCP4g//coamFCXXl/hZCfDjLVzK89JE5G2ffUohPZVsJyPfkXlKWOhjw4AMzDDf
h/LvW81CZ4dQx6u0tv6dcLmEaDTzds0eI9jj9xo4HZ0rSZTVv8bkfXAv9M0Hzj12
rVhgIs1qXZT/ykL3B4QJlRNbmZCVEBdH2hiRoWu09CaPgYvnJBEx+7KatNjlGgN6
A948KaQnU1VletapV4N7KHrqRksSnML5bwZ1G0hXKf3ZF9Q3PZz4VK8Pa2lwEPdq
rX/JMEiFW5b2eaZuEuNbXdo5zOrMNiiT1sTf7kYaciCb75Dc9ZV+JLsn+2upLKa9
1gTQAxSHgRJ54Av2QPOSvsn1iRQ7J5Y745hy1TDKKwj8/Pcszb2cfsI8ORmrvpUg
HwOta9Bh1QVLdQUhUiRnD9Y6rGK6nbp/KrU6ddNLbQqbX+nryWSnq4h0WxhL/7dA
ZOKBHhg3DDj7EXRfebHG1Ty8YIXj7dRBt+akxFUbR8e79Y7IcDBBMTmiJBb+3Ccz
Rfwp583BQ3Yb4FKtEj38arXMwXIUzJbjarU4in+abdOqHbRf2Unvpu13lcE3v0xU
inur9JpKCZP0Y64ITlzN8ie589ZNm3pEswCFVr6ZMvsbj9G/oz6KMREdJczbBwi1
zAqhajWq9/PI4UEpdTMpTucjzwb1Kow5fXFIw7S9WCMHmUWKJbk=
=vlA7
-----END PGP SIGNATURE-----

Attachment: pgpX3fdyFPikw.pgp
Description: PGP signature


--- End Message ---

Reply via email to