Source: pantalaimon Version: 0.10.5-1 Severity: serious Tags: ftbfs Justification: fails to build from source
pantalaimon FTBFS in sid (but could be built successfully in bookworm): dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /build/pantalaimon-0.10.5/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests ============================= test session starts ============================== platform linux -- Python 3.11.9, pytest-8.1.1, pluggy-1.4.0 rootdir: /build/pantalaimon-0.10.5 plugins: Faker-24.4.0 collected 17 items tests/pan_client_test.py .Fss. [ 29%] tests/proxy_test.py .E.E.E.E.E [ 58%] tests/store_test.py E...s.. [100%] ==================================== ERRORS ==================================== ___________ ERROR at teardown of TestClass.test_daemon_start[pyloop] ___________ self = <pantalaimon.client.PanClient object at 0x7f19b1c17010> response_class = <class 'nio.responses.SyncResponse'>, method = 'GET' path = '/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' data = None, response_data = None, content_type = None, trace_context = None data_provider = None, timeout = 0, content_length = None, save_to = None async def _send( self, response_class: Type, method: str, path: str, data: Union[None, str, AsyncDataT] = None, response_data: Optional[Tuple[Any, ...]] = None, content_type: Optional[str] = None, trace_context: Optional[Any] = None, data_provider: Optional[DataProvider] = None, timeout: Optional[float] = None, content_length: Optional[int] = None, save_to: Optional[os.PathLike] = None, ): headers = ( {"Content-Type": content_type} if content_type else {"Content-Type": "application/json"} ) if content_length is not None: headers["Content-Length"] = str(content_length) if self.config.custom_headers is not None: headers.update(self.config.custom_headers) got_429 = 0 max_429 = self.config.max_limit_exceeded got_timeouts = 0 max_timeouts = self.config.max_timeouts while True: if data_provider: # mypy expects an "Awaitable[Any]" but data_provider is a # method generated during runtime that may or may not be # Awaitable. The actual type is a union of the types that we # can receive from reading files. data = await data_provider(got_429, got_timeouts) # type: ignore try: > transport_resp = await self.send( method, path, data, headers, trace_context, timeout, ) /usr/lib/python3/dist-packages/nio/client/async_client.py:777: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/nio/client/async_client.py:291: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:855: in send return await self.client_session.request( /usr/lib/python3.11/unittest/mock.py:2251: in _execute_mock_call result = await effect(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <aioresponses.core.aioresponses object at 0x7f19b1ed3090> orig_self = <aiohttp.client.ClientSession object at 0x7f19b1c28650> method = 'GET' url = URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true') args = () kwargs = {'data': None, 'headers': {'Content-Type': 'application/json'}, 'ssl': False, 'timeout': 0, ...} url_origin = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' url_str = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true' prefix = 'http://127.0.0.1' key = ('GET', URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true')) request_call = RequestCall(args=(), kwargs={'data': None, 'ssl': False, 'headers': {'Content-Type': 'application/json'}, 'trace_request_ctx': None, 'timeout': 0, 'allow_redirects': True}) response = None async def _request_mock(self, orig_self: ClientSession, method: str, url: 'Union[URL, str]', *args: Tuple, **kwargs: Any) -> 'ClientResponse': """Return mocked response object or raise connection error.""" if orig_self.closed: raise RuntimeError('Session is closed') url_origin = url url = normalize_url(merge_params(url, kwargs.get('params'))) url_str = str(url) for prefix in self._passthrough: if url_str.startswith(prefix): return (await self.patcher.temp_original( orig_self, method, url_origin, *args, **kwargs )) key = (method, url) self.requests.setdefault(key, []) request_call = self._build_request_call(method, *args, **kwargs) self.requests[key].append(request_call) response = await self.match(method, url, **kwargs) if response is None: > raise ClientConnectionError( 'Connection refused: {} {}'.format(method, url) ) E aiohttp.client_exceptions.ClientConnectionError: Connection refused: GET https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true /usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError During handling of the above exception, another exception occurred: def finalizer(): # type: ignore[no-untyped-def] try: > return _loop.run_until_complete(gen.__anext__()) /usr/lib/python3/dist-packages/aiohttp/pytest_plugin.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete return future.result() tests/conftest.py:155: in pan_proxy_server await proxy.shutdown(app) pantalaimon/daemon.py:1366: in shutdown await client.loop_stop() pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1300: in sync_forever sync_response = await self.sync( /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1173: in sync response = await self._send( /usr/lib/python3/dist-packages/nio/client/async_client.py:821: in _send await asyncio.sleep(wait) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ delay = 0.2, result = None async def sleep(delay, result=None): """Coroutine that completes after a given time (in seconds).""" if delay <= 0: await __sleep0() return result loop = events.get_running_loop() future = loop.create_future() h = loop.call_later(delay, futures._set_result_unless_cancelled, future, result) try: > return await future E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/tasks.py:649: CancelledError ------------------------------ Captured log call ------------------------------- WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s _________ ERROR at teardown of TestClass.test_pan_client_sync[pyloop] __________ def finalizer(): # type: ignore[no-untyped-def] try: > return _loop.run_until_complete(gen.__anext__()) /usr/lib/python3/dist-packages/aiohttp/pytest_plugin.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete return future.result() tests/conftest.py:155: in pan_proxy_server await proxy.shutdown(app) pantalaimon/daemon.py:1366: in shutdown await client.loop_stop() pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1330: in sync_forever await self.run_response_callbacks([await response]) /usr/lib/python3.11/asyncio/tasks.py:611: in _wait_for_one f = await done.get() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <Queue at 0x7f19b0c08b90 maxsize=0 _queue=[<Task cancelled name='Task-46' coro=<AsyncClient.keys_upload() done, defined at /usr/lib/python3/dist-packages/nio/client/base_client.py:101>>] tasks=1> async def get(self): """Remove and return an item from the queue. If queue is empty, wait until an item is available. """ while self.empty(): getter = self._get_loop().create_future() self._getters.append(getter) try: > await getter E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/queues.py:158: CancelledError ------------------------------ Captured log call ------------------------------- WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s ______ ERROR at teardown of TestClass.test_pan_client_keys_upload[pyloop] ______ def finalizer(): # type: ignore[no-untyped-def] try: > return _loop.run_until_complete(gen.__anext__()) /usr/lib/python3/dist-packages/aiohttp/pytest_plugin.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete return future.result() tests/conftest.py:155: in pan_proxy_server await proxy.shutdown(app) pantalaimon/daemon.py:1366: in shutdown await client.loop_stop() pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1340: in sync_forever await asyncio.sleep(loop_sleep_time / 1000) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ delay = 0.1, result = None async def sleep(delay, result=None): """Coroutine that completes after a given time (in seconds).""" if delay <= 0: await __sleep0() return result loop = events.get_running_loop() future = loop.create_future() h = loop.call_later(delay, futures._set_result_unless_cancelled, future, result) try: > return await future E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/tasks.py:649: CancelledError _______ ERROR at teardown of TestClass.test_server_users_update[pyloop] ________ self = <pantalaimon.client.PanClient object at 0x7f19b1c40250> response_class = <class 'nio.responses.SyncResponse'>, method = 'GET' path = '/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' data = None, response_data = None, content_type = None, trace_context = None data_provider = None, timeout = 0, content_length = None, save_to = None async def _send( self, response_class: Type, method: str, path: str, data: Union[None, str, AsyncDataT] = None, response_data: Optional[Tuple[Any, ...]] = None, content_type: Optional[str] = None, trace_context: Optional[Any] = None, data_provider: Optional[DataProvider] = None, timeout: Optional[float] = None, content_length: Optional[int] = None, save_to: Optional[os.PathLike] = None, ): headers = ( {"Content-Type": content_type} if content_type else {"Content-Type": "application/json"} ) if content_length is not None: headers["Content-Length"] = str(content_length) if self.config.custom_headers is not None: headers.update(self.config.custom_headers) got_429 = 0 max_429 = self.config.max_limit_exceeded got_timeouts = 0 max_timeouts = self.config.max_timeouts while True: if data_provider: # mypy expects an "Awaitable[Any]" but data_provider is a # method generated during runtime that may or may not be # Awaitable. The actual type is a union of the types that we # can receive from reading files. data = await data_provider(got_429, got_timeouts) # type: ignore try: > transport_resp = await self.send( method, path, data, headers, trace_context, timeout, ) /usr/lib/python3/dist-packages/nio/client/async_client.py:777: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/nio/client/async_client.py:291: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:855: in send return await self.client_session.request( /usr/lib/python3.11/unittest/mock.py:2251: in _execute_mock_call result = await effect(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <aioresponses.core.aioresponses object at 0x7f19b11d10d0> orig_self = <aiohttp.client.ClientSession object at 0x7f19b1c23850> method = 'GET' url = URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true') args = () kwargs = {'data': None, 'headers': {'Content-Type': 'application/json'}, 'ssl': False, 'timeout': 0, ...} url_origin = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' url_str = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true' prefix = 'http://127.0.0.1' key = ('GET', URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true')) request_call = RequestCall(args=(), kwargs={'data': None, 'ssl': False, 'headers': {'Content-Type': 'application/json'}, 'trace_request_ctx': None, 'timeout': 0, 'allow_redirects': True}) response = None async def _request_mock(self, orig_self: ClientSession, method: str, url: 'Union[URL, str]', *args: Tuple, **kwargs: Any) -> 'ClientResponse': """Return mocked response object or raise connection error.""" if orig_self.closed: raise RuntimeError('Session is closed') url_origin = url url = normalize_url(merge_params(url, kwargs.get('params'))) url_str = str(url) for prefix in self._passthrough: if url_str.startswith(prefix): return (await self.patcher.temp_original( orig_self, method, url_origin, *args, **kwargs )) key = (method, url) self.requests.setdefault(key, []) request_call = self._build_request_call(method, *args, **kwargs) self.requests[key].append(request_call) response = await self.match(method, url, **kwargs) if response is None: > raise ClientConnectionError( 'Connection refused: {} {}'.format(method, url) ) E aiohttp.client_exceptions.ClientConnectionError: Connection refused: GET https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true /usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError During handling of the above exception, another exception occurred: def finalizer(): # type: ignore[no-untyped-def] try: > return _loop.run_until_complete(gen.__anext__()) /usr/lib/python3/dist-packages/aiohttp/pytest_plugin.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete return future.result() tests/conftest.py:155: in pan_proxy_server await proxy.shutdown(app) pantalaimon/daemon.py:1366: in shutdown await client.loop_stop() pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1300: in sync_forever sync_response = await self.sync( /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1173: in sync response = await self._send( /usr/lib/python3/dist-packages/nio/client/async_client.py:821: in _send await asyncio.sleep(wait) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ delay = 0.2, result = None async def sleep(delay, result=None): """Coroutine that completes after a given time (in seconds).""" if delay <= 0: await __sleep0() return result loop = events.get_running_loop() future = loop.create_future() h = loop.call_later(delay, futures._set_result_unless_cancelled, future, result) try: > return await future E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/tasks.py:649: CancelledError ------------------------------ Captured log setup ------------------------------ WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s ______ ERROR at teardown of TestClass.tests_server_devices_update[pyloop] ______ self = <pantalaimon.client.PanClient object at 0x7f19b1198cd0> response_class = <class 'nio.responses.SyncResponse'>, method = 'GET' path = '/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' data = None, response_data = None, content_type = None, trace_context = None data_provider = None, timeout = 0, content_length = None, save_to = None async def _send( self, response_class: Type, method: str, path: str, data: Union[None, str, AsyncDataT] = None, response_data: Optional[Tuple[Any, ...]] = None, content_type: Optional[str] = None, trace_context: Optional[Any] = None, data_provider: Optional[DataProvider] = None, timeout: Optional[float] = None, content_length: Optional[int] = None, save_to: Optional[os.PathLike] = None, ): headers = ( {"Content-Type": content_type} if content_type else {"Content-Type": "application/json"} ) if content_length is not None: headers["Content-Length"] = str(content_length) if self.config.custom_headers is not None: headers.update(self.config.custom_headers) got_429 = 0 max_429 = self.config.max_limit_exceeded got_timeouts = 0 max_timeouts = self.config.max_timeouts while True: if data_provider: # mypy expects an "Awaitable[Any]" but data_provider is a # method generated during runtime that may or may not be # Awaitable. The actual type is a union of the types that we # can receive from reading files. data = await data_provider(got_429, got_timeouts) # type: ignore try: > transport_resp = await self.send( method, path, data, headers, trace_context, timeout, ) /usr/lib/python3/dist-packages/nio/client/async_client.py:777: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/nio/client/async_client.py:291: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:855: in send return await self.client_session.request( /usr/lib/python3.11/unittest/mock.py:2251: in _execute_mock_call result = await effect(*args, **kwargs) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <aioresponses.core.aioresponses object at 0x7f19b1130b50> orig_self = <aiohttp.client.ClientSession object at 0x7f19b119a0d0> method = 'GET' url = URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true') args = () kwargs = {'data': None, 'headers': {'Content-Type': 'application/json'}, 'ssl': False, 'timeout': 0, ...} url_origin = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&full_state=true&filter=%7B%22room%22%3A%7B%22state%22%3A%7B%22lazy_load_members%22%3Atrue%7D%7D%7D' url_str = 'https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true' prefix = 'http://127.0.0.1' key = ('GET', URL('https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true')) request_call = RequestCall(args=(), kwargs={'data': None, 'ssl': False, 'headers': {'Content-Type': 'application/json'}, 'trace_request_ctx': None, 'timeout': 0, 'allow_redirects': True}) response = None async def _request_mock(self, orig_self: ClientSession, method: str, url: 'Union[URL, str]', *args: Tuple, **kwargs: Any) -> 'ClientResponse': """Return mocked response object or raise connection error.""" if orig_self.closed: raise RuntimeError('Session is closed') url_origin = url url = normalize_url(merge_params(url, kwargs.get('params'))) url_str = str(url) for prefix in self._passthrough: if url_str.startswith(prefix): return (await self.patcher.temp_original( orig_self, method, url_origin, *args, **kwargs )) key = (method, url) self.requests.setdefault(key, []) request_call = self._build_request_call(method, *args, **kwargs) self.requests[key].append(request_call) response = await self.match(method, url, **kwargs) if response is None: > raise ClientConnectionError( 'Connection refused: {} {}'.format(method, url) ) E aiohttp.client_exceptions.ClientConnectionError: Connection refused: GET https://example.org/_matrix/client/r0/sync?access_token=abc123&filter=%257B%2522room%2522%253A%257B%2522state%2522%253A%257B%2522lazy_load_members%2522%253Atrue%257D%257D%257D&full_state=true /usr/lib/python3/dist-packages/aioresponses/core.py:515: ClientConnectionError During handling of the above exception, another exception occurred: def finalizer(): # type: ignore[no-untyped-def] try: > return _loop.run_until_complete(gen.__anext__()) /usr/lib/python3/dist-packages/aiohttp/pytest_plugin.py:98: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.11/asyncio/base_events.py:654: in run_until_complete return future.result() tests/conftest.py:155: in pan_proxy_server await proxy.shutdown(app) pantalaimon/daemon.py:1366: in shutdown await client.loop_stop() pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1300: in sync_forever sync_response = await self.sync( /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1173: in sync response = await self._send( /usr/lib/python3/dist-packages/nio/client/async_client.py:821: in _send await asyncio.sleep(wait) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ delay = 0.2, result = None async def sleep(delay, result=None): """Coroutine that completes after a given time (in seconds).""" if delay <= 0: await __sleep0() return result loop = events.get_running_loop() future = loop.create_future() h = loop.call_later(delay, futures._set_result_unless_cancelled, future, result) try: > return await future E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/tasks.py:649: CancelledError ------------------------------ Captured log setup ------------------------------ WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s WARNING nio.client.async_client:async_client.py:820 Timed out, sleeping for 0s _______________ ERROR at setup of TestClass.test_account_loading _______________ cls = <class '_pytest.runner.CallInfo'> func = <function call_and_report.<locals>.<lambda> at 0x7f19b1db68e0> when = 'setup' 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:340: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/_pytest/runner.py:240: in <lambda> lambda: runtest_hook(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/unraisableexception.py:85: in pytest_runtest_setup yield from unraisable_exception_runtest_hook() /usr/lib/python3/dist-packages/_pytest/unraisableexception.py:65: in unraisable_exception_runtest_hook yield /usr/lib/python3/dist-packages/_pytest/logging.py:843: in pytest_runtest_setup yield from self._runtest_for(item, "setup") /usr/lib/python3/dist-packages/_pytest/logging.py:832: in _runtest_for yield /usr/lib/python3/dist-packages/_pytest/capture.py:878: in pytest_runtest_setup return (yield) /usr/lib/python3/dist-packages/_pytest/threadexception.py:82: in pytest_runtest_setup 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/runner.py:158: in pytest_runtest_setup item.session._setupstate.setup(item) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <_pytest.runner.SetupState object at 0x7f19b1d14050> item = <Function test_account_loading> def setup(self, item: Item) -> None: """Setup objects along the collector chain to the item.""" needed_collectors = item.listchain() # If a collector fails its setup, fail its entire subtree of items. # The setup is not retried for each item - the same exception is used. for col, (finalizers, exc) in self.stack.items(): > assert col in needed_collectors, "previous item was not torn down > properly" E AssertionError: previous item was not torn down properly /usr/lib/python3/dist-packages/_pytest/runner.py:503: AssertionError =================================== FAILURES =================================== ______________________ TestClass.test_start_loop[pyloop] _______________________ self = <pan_client_test.TestClass object at 0x7f19b1d169d0> client = <pantalaimon.client.PanClient object at 0x7f19b1ecf5d0> aioresponse = <aioresponses.core.aioresponses object at 0x7f19b1ed40d0> async def test_start_loop(self, client, aioresponse): sync_url = re.compile( r"^https://example\.org/_matrix/client/r0/sync\?access_token=.*" ) aioresponse.get( sync_url, status=200, payload=self.initial_sync_response, repeat=True ) aioresponse.post( "https://example.org/_matrix/client/r0/keys/upload?access_token=abc123", status=200, payload=self.keys_upload_response, repeat=True, ) aioresponse.post( "https://example.org/_matrix/client/r0/keys/query?access_token=abc123", status=200, payload=self.keys_query_response, repeat=True, ) await client.receive_response(self.login_response) # Set a big history fetch delay so it doesn't consume the fetch tasks. client.pan_conf.history_fetch_delay = 10 client.start_loop(100) # Sync tasks are done after we get a sync event so wait for two of them await client.synced.wait() await client.synced.wait() # Make sure that we have only a single history fetch task for the # single room we have assert not client.history_fetch_queue.empty() assert client.history_fetch_queue.qsize() == 1 # Do another round to be sure we don't get more tasks than necessary. await client.synced.wait() assert client.history_fetch_queue.qsize() == 1 > await client.loop_stop() tests/pan_client_test.py:372: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pantalaimon/client.py:786: in loop_stop await self.task /usr/lib/python3/dist-packages/nio/client/base_client.py:105: in wrapper return await func(self, *args, **kwargs) /usr/lib/python3/dist-packages/nio/client/async_client.py:1340: in sync_forever await asyncio.sleep(loop_sleep_time / 1000) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ delay = 0.1, result = None async def sleep(delay, result=None): """Coroutine that completes after a given time (in seconds).""" if delay <= 0: await __sleep0() return result loop = events.get_running_loop() future = loop.create_future() h = loop.call_later(delay, futures._set_result_unless_cancelled, future, result) try: > return await future E asyncio.exceptions.CancelledError /usr/lib/python3.11/asyncio/tasks.py:649: CancelledError =========================== short test summary info ============================ FAILED tests/pan_client_test.py::TestClass::test_start_loop[pyloop] - asyncio... ERROR tests/proxy_test.py::TestClass::test_daemon_start[pyloop] - asyncio.exc... ERROR tests/proxy_test.py::TestClass::test_pan_client_sync[pyloop] - asyncio.... ERROR tests/proxy_test.py::TestClass::test_pan_client_keys_upload[pyloop] - a... ERROR tests/proxy_test.py::TestClass::test_server_users_update[pyloop] - asyn... ERROR tests/proxy_test.py::TestClass::tests_server_devices_update[pyloop] - a... ERROR tests/store_test.py::TestClass::test_account_loading - AssertionError: ... ============== 1 failed, 12 passed, 3 skipped, 6 errors in 3.59s =============== E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /build/pantalaimon-0.10.5/.pybuild/cpython3_3.11/build; python3.11 -m pytest tests dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.11 returned exit code 13 Andreas