--- Begin Message ---
Source: python-asyncio-mqtt
Version: 0.16.1-3
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
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>>'
> echo "__version__ = version = '0.16.1'" > asyncio_mqtt/_version.py
> echo "__version_tuple__ = version_tuple = tuple('0.16.1'.split('.'))" >>
> asyncio_mqtt/_version.py
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_build -O--buildsystem=pybuild
> 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_asyncio_mqtt
> * Building wheel...
> running bdist_wheel
> running build
> running build_py
> creating build
> creating build/lib
> creating build/lib/asyncio_mqtt
> copying asyncio_mqtt/__init__.py -> build/lib/asyncio_mqtt
> copying asyncio_mqtt/error.py -> build/lib/asyncio_mqtt
> copying asyncio_mqtt/_version.py -> build/lib/asyncio_mqtt
> copying asyncio_mqtt/client.py -> build/lib/asyncio_mqtt
> copying asyncio_mqtt/types.py -> build/lib/asyncio_mqtt
> running egg_info
> creating asyncio_mqtt.egg-info
> writing asyncio_mqtt.egg-info/PKG-INFO
> writing dependency_links to asyncio_mqtt.egg-info/dependency_links.txt
> writing requirements to asyncio_mqtt.egg-info/requires.txt
> writing top-level names to asyncio_mqtt.egg-info/top_level.txt
> writing manifest file 'asyncio_mqtt.egg-info/SOURCES.txt'
> reading manifest file 'asyncio_mqtt.egg-info/SOURCES.txt'
> adding license file 'LICENSE'
> writing manifest file 'asyncio_mqtt.egg-info/SOURCES.txt'
> installing to build/bdist.linux-x86_64/wheel
> running install
> running install_lib
> creating build/bdist.linux-x86_64
> creating build/bdist.linux-x86_64/wheel
> creating build/bdist.linux-x86_64/wheel/asyncio_mqtt
> copying build/lib/asyncio_mqtt/__init__.py ->
> build/bdist.linux-x86_64/wheel/asyncio_mqtt
> copying build/lib/asyncio_mqtt/error.py ->
> build/bdist.linux-x86_64/wheel/asyncio_mqtt
> copying build/lib/asyncio_mqtt/_version.py ->
> build/bdist.linux-x86_64/wheel/asyncio_mqtt
> copying build/lib/asyncio_mqtt/client.py ->
> build/bdist.linux-x86_64/wheel/asyncio_mqtt
> copying build/lib/asyncio_mqtt/types.py ->
> build/bdist.linux-x86_64/wheel/asyncio_mqtt
> running install_egg_info
> Copying asyncio_mqtt.egg-info to
> build/bdist.linux-x86_64/wheel/asyncio_mqtt-0.0.0.egg-info
> running install_scripts
> creating build/bdist.linux-x86_64/wheel/asyncio_mqtt-0.0.0.dist-info/WHEEL
> creating
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncio_mqtt/.tmp-nh8imiqf/asyncio_mqtt-0.0.0-py3-none-any.whl'
> and adding 'build/bdist.linux-x86_64/wheel' to it
> adding 'asyncio_mqtt/__init__.py'
> adding 'asyncio_mqtt/_version.py'
> adding 'asyncio_mqtt/client.py'
> adding 'asyncio_mqtt/error.py'
> adding 'asyncio_mqtt/types.py'
> adding 'asyncio_mqtt-0.0.0.dist-info/LICENSE'
> adding 'asyncio_mqtt-0.0.0.dist-info/METADATA'
> adding 'asyncio_mqtt-0.0.0.dist-info/WHEEL'
> adding 'asyncio_mqtt-0.0.0.dist-info/top_level.txt'
> adding 'asyncio_mqtt-0.0.0.dist-info/RECORD'
> removing build/bdist.linux-x86_64/wheel
> Successfully built asyncio_mqtt-0.0.0-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with
> "installer" module
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:305: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncio_mqtt/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_asyncio_mqtt/build
> configfile: pyproject.toml
> plugins: anyio-4.2.0
> collected 50 items
>
> tests/test_client.py ...ssssFFFsssssssss [
> 38%]
> tests/test_error.py ..................FFF.......FFF
> [100%]
>
> =================================== FAILURES
> ===================================
> _____________________________ test_client_id[3-22]
> _____________________________
>
> protocol = <ProtocolVersion.V31: 3>, length = 22
>
> @pytest.mark.parametrize(
> "protocol, length",
> ((ProtocolVersion.V31, 22), (ProtocolVersion.V311, 0),
> (ProtocolVersion.V5, 0)),
> )
> async def test_client_id(protocol: ProtocolVersion, length: int) -> None:
> > client = Client(HOSTNAME, protocol=protocol)
>
> tests/test_client.py:187:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <asyncio_mqtt.client.Client object at 0x7fc604cef8d0>
> hostname = 'test.mosquitto.org', port = 1883
>
> def __init__( # noqa: C901
> self,
> hostname: str,
> port: int = 1883,
> *,
> username: str | None = None,
> password: str | None = None,
> logger: logging.Logger | None = None,
> client_id: str | None = None,
> tls_context: ssl.SSLContext | None = None,
> tls_params: TLSParameters | None = None,
> proxy: ProxySettings | None = None,
> protocol: ProtocolVersion | None = None,
> will: Will | None = None,
> clean_session: bool | None = None,
> transport: str = "tcp",
> keepalive: int = 60,
> bind_address: str = "",
> bind_port: int = 0,
> clean_start: int = mqtt.MQTT_CLEAN_START_FIRST_ONLY,
> properties: Properties | None = None,
> message_retry_set: int = 20,
> socket_options: Iterable[SocketOption] | None = None,
> max_concurrent_outgoing_calls: int | None = None,
> websocket_path: str | None = None,
> websocket_headers: WebSocketHeaders | None = None,
> ):
> self._hostname = hostname
> self._port = port
> self._keepalive = keepalive
> self._bind_address = bind_address
> self._bind_port = bind_port
> self._clean_start = clean_start
> self._properties = properties
> self._loop = asyncio.get_event_loop()
> self._connected: asyncio.Future[int | mqtt.ReasonCodes] =
> asyncio.Future()
> self._disconnected: asyncio.Future[
> int | mqtt.ReasonCodes | None
> ] = asyncio.Future()
> # Pending subscribe, unsubscribe, and publish calls
> self._pending_subscribes: dict[
> int, asyncio.Future[tuple[int] | list[mqtt.ReasonCodes]]
> ] = {}
> self._pending_unsubscribes: dict[int, asyncio.Event] = {}
> self._pending_publishes: dict[int, asyncio.Event] = {}
> self._pending_calls_threshold: int = 10
> self._misc_task: asyncio.Task[None] | None = None
>
> # List of all callbacks to call when a message is received
> self._on_message_callbacks: list[Callable[[Message], None]] = []
> self._unfiltered_messages_callback: Callable[
> [mqtt.Client, Any, mqtt.MQTTMessage], None
> ] | None = None
>
> self._outgoing_calls_sem: asyncio.Semaphore | None
> if max_concurrent_outgoing_calls is not None:
> self._outgoing_calls_sem =
> asyncio.Semaphore(max_concurrent_outgoing_calls)
> else:
> self._outgoing_calls_sem = None
>
> if protocol is None:
> protocol = ProtocolVersion.V311
>
> > self._client: mqtt.Client = mqtt.Client(
> client_id=client_id,
> protocol=protocol,
> clean_session=clean_session,
> transport=transport,
> reconnect_on_failure=False,
> )
> E TypeError: Client.__init__() missing 1 required positional argument:
> 'callback_api_version'
>
> asyncio_mqtt/client.py:292: TypeError
>
> During handling of the above exception, another exception occurred:
>
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fc605476840>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
>
> @classmethod
> def from_call(
> cls,
> func: Callable[[], TResult],
> when: Literal["collect", "setup", "call", "teardown"],
> reraise: Optional[
> Union[Type[BaseException], Tuple[Type[BaseException], ...]]
> ] = None,
> ) -> "CallInfo[TResult]":
> """Call func, wrapping the result in a CallInfo.
>
> :param func:
> The function to call. Called without arguments.
> :param when:
> The phase in which the function is called.
> :param reraise:
> Exception or exceptions that shall propagate if raised by the
> function, instead of being wrapped in the CallInfo.
> """
> excinfo = None
> start = timing.time()
> precise_start = timing.perf_counter()
> try:
> > result: Optional[TResult] = func()
>
> /usr/lib/python3/dist-packages/_pytest/runner.py:342:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
> return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /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
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in
> pytest_runtest_call
> yield from unraisable_exception_runtest_hook()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
> with catch_unraisable_exception() as cm:
> try:
> yield
> finally:
> if cm.unraisable:
> if cm.unraisable.err_msg is not None:
> err_msg = cm.unraisable.err_msg
> else:
> err_msg = "Exception ignored in"
> msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
> msg += "".join(
> traceback.format_exception(
> cm.unraisable.exc_type,
> cm.unraisable.exc_value,
> cm.unraisable.exc_traceback,
> )
> )
> >
> > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> E pytest.PytestUnraisableExceptionWarning: Exception
> ignored in: <function Client.__del__ at 0x7fc604d93560>
> E
> E Traceback (most recent call last):
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 874, in __del__
> E self._reset_sockets()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1133, in
> _reset_sockets
> E self._sock_close()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1119, in
> _sock_close
> E if not self._sock:
> E ^^^^^^^^^^
> E AttributeError: 'Client' object has no attribute '_sock'
>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:80:
> PytestUnraisableExceptionWarning
> _____________________________ test_client_id[4-0]
> ______________________________
>
> protocol = <ProtocolVersion.V311: 4>, length = 0
>
> @pytest.mark.parametrize(
> "protocol, length",
> ((ProtocolVersion.V31, 22), (ProtocolVersion.V311, 0),
> (ProtocolVersion.V5, 0)),
> )
> async def test_client_id(protocol: ProtocolVersion, length: int) -> None:
> > client = Client(HOSTNAME, protocol=protocol)
>
> tests/test_client.py:187:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <asyncio_mqtt.client.Client object at 0x7fc604987b90>
> hostname = 'test.mosquitto.org', port = 1883
>
> def __init__( # noqa: C901
> self,
> hostname: str,
> port: int = 1883,
> *,
> username: str | None = None,
> password: str | None = None,
> logger: logging.Logger | None = None,
> client_id: str | None = None,
> tls_context: ssl.SSLContext | None = None,
> tls_params: TLSParameters | None = None,
> proxy: ProxySettings | None = None,
> protocol: ProtocolVersion | None = None,
> will: Will | None = None,
> clean_session: bool | None = None,
> transport: str = "tcp",
> keepalive: int = 60,
> bind_address: str = "",
> bind_port: int = 0,
> clean_start: int = mqtt.MQTT_CLEAN_START_FIRST_ONLY,
> properties: Properties | None = None,
> message_retry_set: int = 20,
> socket_options: Iterable[SocketOption] | None = None,
> max_concurrent_outgoing_calls: int | None = None,
> websocket_path: str | None = None,
> websocket_headers: WebSocketHeaders | None = None,
> ):
> self._hostname = hostname
> self._port = port
> self._keepalive = keepalive
> self._bind_address = bind_address
> self._bind_port = bind_port
> self._clean_start = clean_start
> self._properties = properties
> self._loop = asyncio.get_event_loop()
> self._connected: asyncio.Future[int | mqtt.ReasonCodes] =
> asyncio.Future()
> self._disconnected: asyncio.Future[
> int | mqtt.ReasonCodes | None
> ] = asyncio.Future()
> # Pending subscribe, unsubscribe, and publish calls
> self._pending_subscribes: dict[
> int, asyncio.Future[tuple[int] | list[mqtt.ReasonCodes]]
> ] = {}
> self._pending_unsubscribes: dict[int, asyncio.Event] = {}
> self._pending_publishes: dict[int, asyncio.Event] = {}
> self._pending_calls_threshold: int = 10
> self._misc_task: asyncio.Task[None] | None = None
>
> # List of all callbacks to call when a message is received
> self._on_message_callbacks: list[Callable[[Message], None]] = []
> self._unfiltered_messages_callback: Callable[
> [mqtt.Client, Any, mqtt.MQTTMessage], None
> ] | None = None
>
> self._outgoing_calls_sem: asyncio.Semaphore | None
> if max_concurrent_outgoing_calls is not None:
> self._outgoing_calls_sem =
> asyncio.Semaphore(max_concurrent_outgoing_calls)
> else:
> self._outgoing_calls_sem = None
>
> if protocol is None:
> protocol = ProtocolVersion.V311
>
> > self._client: mqtt.Client = mqtt.Client(
> client_id=client_id,
> protocol=protocol,
> clean_session=clean_session,
> transport=transport,
> reconnect_on_failure=False,
> )
> E TypeError: Client.__init__() missing 1 required positional argument:
> 'callback_api_version'
>
> asyncio_mqtt/client.py:292: TypeError
>
> During handling of the above exception, another exception occurred:
>
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fc604ce8f40>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
>
> @classmethod
> def from_call(
> cls,
> func: Callable[[], TResult],
> when: Literal["collect", "setup", "call", "teardown"],
> reraise: Optional[
> Union[Type[BaseException], Tuple[Type[BaseException], ...]]
> ] = None,
> ) -> "CallInfo[TResult]":
> """Call func, wrapping the result in a CallInfo.
>
> :param func:
> The function to call. Called without arguments.
> :param when:
> The phase in which the function is called.
> :param reraise:
> Exception or exceptions that shall propagate if raised by the
> function, instead of being wrapped in the CallInfo.
> """
> excinfo = None
> start = timing.time()
> precise_start = timing.perf_counter()
> try:
> > result: Optional[TResult] = func()
>
> /usr/lib/python3/dist-packages/_pytest/runner.py:342:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
> return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /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
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in
> pytest_runtest_call
> yield from unraisable_exception_runtest_hook()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
> with catch_unraisable_exception() as cm:
> try:
> yield
> finally:
> if cm.unraisable:
> if cm.unraisable.err_msg is not None:
> err_msg = cm.unraisable.err_msg
> else:
> err_msg = "Exception ignored in"
> msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
> msg += "".join(
> traceback.format_exception(
> cm.unraisable.exc_type,
> cm.unraisable.exc_value,
> cm.unraisable.exc_traceback,
> )
> )
> >
> > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> E pytest.PytestUnraisableExceptionWarning: Exception
> ignored in: <function Client.__del__ at 0x7fc604d93560>
> E
> E Traceback (most recent call last):
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 874, in __del__
> E self._reset_sockets()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1133, in
> _reset_sockets
> E self._sock_close()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1119, in
> _sock_close
> E if not self._sock:
> E ^^^^^^^^^^
> E AttributeError: 'Client' object has no attribute '_sock'
>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:80:
> PytestUnraisableExceptionWarning
> _____________________________ test_client_id[5-0]
> ______________________________
>
> protocol = <ProtocolVersion.V5: 5>, length = 0
>
> @pytest.mark.parametrize(
> "protocol, length",
> ((ProtocolVersion.V31, 22), (ProtocolVersion.V311, 0),
> (ProtocolVersion.V5, 0)),
> )
> async def test_client_id(protocol: ProtocolVersion, length: int) -> None:
> > client = Client(HOSTNAME, protocol=protocol)
>
> tests/test_client.py:187:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <asyncio_mqtt.client.Client object at 0x7fc604a3d9d0>
> hostname = 'test.mosquitto.org', port = 1883
>
> def __init__( # noqa: C901
> self,
> hostname: str,
> port: int = 1883,
> *,
> username: str | None = None,
> password: str | None = None,
> logger: logging.Logger | None = None,
> client_id: str | None = None,
> tls_context: ssl.SSLContext | None = None,
> tls_params: TLSParameters | None = None,
> proxy: ProxySettings | None = None,
> protocol: ProtocolVersion | None = None,
> will: Will | None = None,
> clean_session: bool | None = None,
> transport: str = "tcp",
> keepalive: int = 60,
> bind_address: str = "",
> bind_port: int = 0,
> clean_start: int = mqtt.MQTT_CLEAN_START_FIRST_ONLY,
> properties: Properties | None = None,
> message_retry_set: int = 20,
> socket_options: Iterable[SocketOption] | None = None,
> max_concurrent_outgoing_calls: int | None = None,
> websocket_path: str | None = None,
> websocket_headers: WebSocketHeaders | None = None,
> ):
> self._hostname = hostname
> self._port = port
> self._keepalive = keepalive
> self._bind_address = bind_address
> self._bind_port = bind_port
> self._clean_start = clean_start
> self._properties = properties
> self._loop = asyncio.get_event_loop()
> self._connected: asyncio.Future[int | mqtt.ReasonCodes] =
> asyncio.Future()
> self._disconnected: asyncio.Future[
> int | mqtt.ReasonCodes | None
> ] = asyncio.Future()
> # Pending subscribe, unsubscribe, and publish calls
> self._pending_subscribes: dict[
> int, asyncio.Future[tuple[int] | list[mqtt.ReasonCodes]]
> ] = {}
> self._pending_unsubscribes: dict[int, asyncio.Event] = {}
> self._pending_publishes: dict[int, asyncio.Event] = {}
> self._pending_calls_threshold: int = 10
> self._misc_task: asyncio.Task[None] | None = None
>
> # List of all callbacks to call when a message is received
> self._on_message_callbacks: list[Callable[[Message], None]] = []
> self._unfiltered_messages_callback: Callable[
> [mqtt.Client, Any, mqtt.MQTTMessage], None
> ] | None = None
>
> self._outgoing_calls_sem: asyncio.Semaphore | None
> if max_concurrent_outgoing_calls is not None:
> self._outgoing_calls_sem =
> asyncio.Semaphore(max_concurrent_outgoing_calls)
> else:
> self._outgoing_calls_sem = None
>
> if protocol is None:
> protocol = ProtocolVersion.V311
>
> > self._client: mqtt.Client = mqtt.Client(
> client_id=client_id,
> protocol=protocol,
> clean_session=clean_session,
> transport=transport,
> reconnect_on_failure=False,
> )
> E TypeError: Client.__init__() missing 1 required positional argument:
> 'callback_api_version'
>
> asyncio_mqtt/client.py:292: TypeError
>
> During handling of the above exception, another exception occurred:
>
> cls = <class '_pytest.runner.CallInfo'>
> func = <function call_runtest_hook.<locals>.<lambda> at 0x7fc604ce9120>
> when = 'call'
> reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)
>
> @classmethod
> def from_call(
> cls,
> func: Callable[[], TResult],
> when: Literal["collect", "setup", "call", "teardown"],
> reraise: Optional[
> Union[Type[BaseException], Tuple[Type[BaseException], ...]]
> ] = None,
> ) -> "CallInfo[TResult]":
> """Call func, wrapping the result in a CallInfo.
>
> :param func:
> The function to call. Called without arguments.
> :param when:
> The phase in which the function is called.
> :param reraise:
> Exception or exceptions that shall propagate if raised by the
> function, instead of being wrapped in the CallInfo.
> """
> excinfo = None
> start = timing.time()
> precise_start = timing.perf_counter()
> try:
> > result: Optional[TResult] = func()
>
> /usr/lib/python3/dist-packages/_pytest/runner.py:342:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3/dist-packages/_pytest/runner.py:263: in <lambda>
> lambda: ihook(item=item, **kwds), when=when, reraise=reraise
> /usr/lib/python3/dist-packages/pluggy/_hooks.py:501: in __call__
> return self._hookexec(self.name, self._hookimpls.copy(), kwargs,
> firstresult)
> /usr/lib/python3/dist-packages/pluggy/_manager.py:119: in _hookexec
> return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
> /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
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:90: in
> pytest_runtest_call
> yield from unraisable_exception_runtest_hook()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> def unraisable_exception_runtest_hook() -> Generator[None, None, None]:
> with catch_unraisable_exception() as cm:
> try:
> yield
> finally:
> if cm.unraisable:
> if cm.unraisable.err_msg is not None:
> err_msg = cm.unraisable.err_msg
> else:
> err_msg = "Exception ignored in"
> msg = f"{err_msg}: {cm.unraisable.object!r}\n\n"
> msg += "".join(
> traceback.format_exception(
> cm.unraisable.exc_type,
> cm.unraisable.exc_value,
> cm.unraisable.exc_traceback,
> )
> )
> >
> > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
> E pytest.PytestUnraisableExceptionWarning: Exception
> ignored in: <function Client.__del__ at 0x7fc604d93560>
> E
> E Traceback (most recent call last):
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 874, in __del__
> E self._reset_sockets()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1133, in
> _reset_sockets
> E self._sock_close()
> E File
> "/usr/lib/python3/dist-packages/paho/mqtt/client.py", line 1119, in
> _sock_close
> E if not self._sock:
> E ^^^^^^^^^^
> E AttributeError: 'Client' object has no attribute '_sock'
>
> /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:80:
> PytestUnraisableExceptionWarning
> _________________ test_mqtt_code_error_reason_codes[2-Success]
> _________________
>
> packet_type = 2, a_name = 'Success'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_code_error_reason_codes(packet_type: int, a_name: str) ->
> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:44:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc6046182d0>
> args = (2, 'Success'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> _________________ test_mqtt_code_error_reason_codes[4-Success]
> _________________
>
> packet_type = 4, a_name = 'Success'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_code_error_reason_codes(packet_type: int, a_name: str) ->
> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:44:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc604614f90>
> args = (4, 'Success'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> ______________ test_mqtt_code_error_reason_codes[9-Granted QoS 1]
> ______________
>
> packet_type = 9, a_name = 'Granted QoS 1'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_code_error_reason_codes(packet_type: int, a_name: str) ->
> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:44:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc604a11cd0>
> args = (9, 'Granted QoS 1'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> _______________ test_mqtt_connect_error_reason_codes[2-Success]
> ________________
>
> packet_type = 2, a_name = 'Success'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_connect_error_reason_codes(packet_type: int, a_name: str)
> -> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:71:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc604a33f50>
> args = (2, 'Success'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> _______________ test_mqtt_connect_error_reason_codes[4-Success]
> ________________
>
> packet_type = 4, a_name = 'Success'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_connect_error_reason_codes(packet_type: int, a_name: str)
> -> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:71:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc604616410>
> args = (4, 'Success'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> ____________ test_mqtt_connect_error_reason_codes[9-Granted QoS 1]
> _____________
>
> packet_type = 9, a_name = 'Granted QoS 1'
>
> @pytest.mark.parametrize(
> "packet_type, a_name",
> (
> (PacketTypes.CONNACK, "Success"),
> (PacketTypes.PUBACK, "Success"),
> (PacketTypes.SUBACK, "Granted QoS 1"),
> ),
> )
> def test_mqtt_connect_error_reason_codes(packet_type: int, a_name: str)
> -> None:
> > rc = mqtt.ReasonCodes(packet_type, a_name)
>
> tests/test_error.py:71:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <[AttributeError("'ReasonCodes' object has no attribute 'packetType'")
> raised in repr()] ReasonCodes object at 0x7fc6048f3d90>
> args = (9, 'Granted QoS 1'), kwargs = {}
>
> def __init__(self, *args, **kwargs):
> > warnings.warn("ReasonCodes is deprecated, use ReasonCode (singular)
> > instead",
> category=DeprecationWarning,
> stacklevel=2,
> )
> E DeprecationWarning: ReasonCodes is deprecated, use ReasonCode
> (singular) instead
>
> /usr/lib/python3/dist-packages/paho/mqtt/reasoncodes.py:219:
> DeprecationWarning
> =========================== short test summary info
> ============================
> FAILED tests/test_client.py::test_client_id[3-22] -
> pytest.PytestUnraisableEx...
> FAILED tests/test_client.py::test_client_id[4-0] -
> pytest.PytestUnraisableExc...
> FAILED tests/test_client.py::test_client_id[5-0] -
> pytest.PytestUnraisableExc...
> FAILED tests/test_error.py::test_mqtt_code_error_reason_codes[2-Success] -
> De...
> FAILED tests/test_error.py::test_mqtt_code_error_reason_codes[4-Success] -
> De...
> FAILED tests/test_error.py::test_mqtt_code_error_reason_codes[9-Granted QoS 1]
> FAILED tests/test_error.py::test_mqtt_connect_error_reason_codes[2-Success]
> FAILED tests/test_error.py::test_mqtt_connect_error_reason_codes[4-Success]
> FAILED tests/test_error.py::test_mqtt_connect_error_reason_codes[9-Granted
> QoS 1]
> =================== 9 failed, 28 passed, 13 skipped in 0.38s
> ===================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_asyncio_mqtt/build; python3.11 -m
> pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2024/03/13/python-asyncio-mqtt_0.16.1-3_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&[email protected]&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 ---