• Bug#1066777: quart: FTBFS: dh_auto_test: error: pybuild --test --test-p

    From Lucas Nussbaum@21:1/5 to All on Wed Mar 13 16:10:24 2024
    Source: quart
    Version: 0.19.4-1
    Severity: serious
    Justification: FTBFS
    Tags: trixie sid ftbfs
    User: lucas@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=

    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=

    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=

    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)

    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Debian Bug Tracking System@21:1/5 to All on Sun Mar 17 13:30:01 2024
    This is a multi-part message in MIME format...

    Your message dated Sun, 17 Mar 2024 12:24:46 +0000
    with message-id <E1rlpZG-009a6L-Mx@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 owner@bugs.debian.org
    immediately.)


    --
    1066777: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066777
    Debian Bug Tracking System
    Contact owner@bugs.debian.org with problems

    Received: (at submit) by bugs.debian.org; 13 Mar 2024 15:01:43 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
    (2021-04-09) on buxtehude.debian.org
    X-Spam-Level:
    X-Spam-Status: No, score=-106.1 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
    DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FOURLA,
    FROMDEVELOPER,SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,
    UNPARSEABLE_RELAY,USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST
    autolearn=ham autolearn_force=no
    version=3.4.6-bugs.debian.org_2005_01_02
    X-Spam-Bayes: score:0.0000 Tokens: new, 141; hammy, 150; neutral, 554; spammy,
    0. spammytokens: hammytokens:0.000-+--python3,
    0.000-+--Hx-spam-relays-external:sk:stravin, 0.000-+--H*RT:sk:stravin,
    0.000-+--Hx-spam-relays-external:311, 0.000-+--H*RT:311
    Return-path: <lucas@debian.org>
    Received: from stravinsky.debian.org ([2001