Your message dated Fri, 12 Jul 2024 14:06:45 +0000
with message-id <[email protected]>
and subject line Bug#1066738: fixed in python-asyncio-mqtt 2.2.0-1
has caused the Debian Bug report #1066738,
regarding python-asyncio-mqtt: FTBFS: dh_auto_test: error: pybuild --test 
--test-pytest -i python{version} -p 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 [email protected]
immediately.)


-- 
1066738: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066738
Debian Bug Tracking System
Contact [email protected] with problems
--- 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 ---
--- Begin Message ---
Source: python-asyncio-mqtt
Source-Version: 2.2.0-1
Done: Martin <[email protected]>

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

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

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Martin <[email protected]> (supplier of updated python-asyncio-mqtt package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 11 Jul 2024 22:43:22 +0000
Source: python-asyncio-mqtt
Binary: python-asyncio-mqtt-doc python3-asyncio-mqtt
Architecture: source all
Version: 2.2.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Martin <[email protected]>
Description:
 python-asyncio-mqtt-doc - Idomatic asyncio wrapper around paho-mqtt 
(documentation)
 python3-asyncio-mqtt - Idomatic asyncio wrapper around paho-mqtt
Closes: 1066738
Changes:
 python-asyncio-mqtt (2.2.0-1) unstable; urgency=medium
 .
   * New upstream release (Closes: #1066738)
   * Add -doc package
   * Update tests and refresh patch to disable network tests
   [ Michael R. Crusoe <[email protected]>  2024-04-27 ]
   * d/control: build-dep on setuptools-scm to fix wrong "0.0.0" version
Checksums-Sha1:
 a968930e5f5ec0eac18ce9beff2ce1817d7b34e5 1820 python-asyncio-mqtt_2.2.0-1.dsc
 49211b41d326ec46183a3d8642d94e3df8346139 60937 
python-asyncio-mqtt_2.2.0.orig.tar.gz
 00ea6af0fb3a4cf17495414bcc5b663393d423d5 4072 
python-asyncio-mqtt_2.2.0-1.debian.tar.xz
 b1038a3d29470addf032ae1fcb57c59f9b947518 62704 
python-asyncio-mqtt-doc_2.2.0-1_all.deb
 6189dcc8fdb8bf403641d83dc309f978941abacd 8167 
python-asyncio-mqtt_2.2.0-1_amd64.buildinfo
 865993933cb50d7ecf34870865d32fd72f8fef88 20288 
python3-asyncio-mqtt_2.2.0-1_all.deb
Checksums-Sha256:
 8766beea6b084d90a13fe9c134e9ba438952dfd69c31645585f9bd83357a5e07 1820 
python-asyncio-mqtt_2.2.0-1.dsc
 9f07123add887c8b952bab8d7ca04ce723daeb6fc3e58b41e6febfc97c4c739c 60937 
python-asyncio-mqtt_2.2.0.orig.tar.gz
 c3f4c387910e9fbc4954013ad74e38ccbeb3c27e1b7d884621f2698a9f22cd3f 4072 
python-asyncio-mqtt_2.2.0-1.debian.tar.xz
 45536af0ed90a049e3acd0bb2a83de4127d9d76cb33ec3c29fef1513348cff42 62704 
python-asyncio-mqtt-doc_2.2.0-1_all.deb
 4b073b6e9bab380ddb7c991a0eded11b3005e3d8e6b0867b24959fd7962998f0 8167 
python-asyncio-mqtt_2.2.0-1_amd64.buildinfo
 c49197da86000c9fed6bdf8a8e13dac0f8a6df1a7f79324919717e18b843ecbb 20288 
python3-asyncio-mqtt_2.2.0-1_all.deb
Files:
 e4b2a347686a1532589a9ed2c05178e3 1820 python optional 
python-asyncio-mqtt_2.2.0-1.dsc
 a298cdf970d8e1d2a83098a3657f09de 60937 python optional 
python-asyncio-mqtt_2.2.0.orig.tar.gz
 cfd9824ae1a78cb9e61ce4e6e1a09a0f 4072 python optional 
python-asyncio-mqtt_2.2.0-1.debian.tar.xz
 6b1adbe4b066a689f5459acaefa0a2f0 62704 doc optional 
python-asyncio-mqtt-doc_2.2.0-1_all.deb
 a2ee31d5da40090047c4e5daa3d20ca4 8167 python optional 
python-asyncio-mqtt_2.2.0-1_amd64.buildinfo
 fb6501c72383d3379d341a5176763da8 20288 python optional 
python3-asyncio-mqtt_2.2.0-1_all.deb

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

iHUEARYIAB0WIQSf2tN7CfkTuZaqhq20kOPfM38yEwUCZpB44AAKCRC0kOPfM38y
E1xOAQDGIfAmColHu7DFyiaEf9xScqWEsowl6YuYS1LOAdtE+wD/dpJblS5MR3tx
Ip458tGEhTiIN/8lLPwkQaqeHxoPugw=
=PFjJ
-----END PGP SIGNATURE-----

Attachment: pgpFdVZByB3pQ.pgp
Description: PGP signature


--- End Message ---

Reply via email to