--- 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 ---