........................................................................ [ 0%] ........................................................................ [ 1%] ........................................................................ [ 2%] ........................................................................ [ 3%] ........................................................................ [ 4%] ........................................................................ [ 5%] ........................................................................ [ 6%] ........................................................................ [ 7%] ........................................................................ [ 7%] ........................................................................ [ 8%] ........................................................................ [ 9%] ........................................................................ [ 10%] ........................................................................ [ 11%] ........................................................................ [ 12%] ........................................................................ [ 13%] ........................................................................ [ 14%] ........................................................................ [ 14%] ........................................................................ [ 15%] ........................................................................ [ 16%] ........................................................................ [ 17%] ........................................................................ [ 18%] ........................................................................ [ 19%] ........................................................................ [ 20%] ........................................................................ [ 21%] ........................................................................ [ 21%] ........................................................................ [ 22%] ........................................................................ [ 23%] ........................................................................ [ 24%] ........................................................................ [ 25%] .............................................ssssssssssssssssssssss..... [ 26%] ..sssssssssssssssssssssss............................................... [ 27%] ........................................................................ [ 28%] ........................................................................ [ 28%] ........................................................................ [ 29%] ........................................................................ [ 30%] ........................................................................ [ 31%] ........................................................................ [ 32%] ........................................................................ [ 33%] ........................................................................ [ 34%] ........................................................................ [ 35%] ........................................................................ [ 36%] ........................................................................ [ 36%] ........................................................................ [ 37%] ........................................................................ [ 38%] ........................................................................ [ 39%] ........................................................................ [ 40%] ........................................................................ [ 41%] ......................................................................s. [ 42%] ..s..................................................................... [ 43%] ........................................................................ [ 43%] ........................................................................ [ 44%] ........................................................................ [ 45%] ........................................................................ [ 46%] ........................................................................ [ 47%] ........................................................................ [ 48%] ........................................................................ [ 49%] ........................................................................ [ 50%] ........................................................................ [ 50%] ..................ss..........................s......................... [ 51%] ........................................................................ [ 52%] ...........sssssss...................................................... [ 53%] ........................................................................ [ 54%] ........................................................................ [ 55%] ........................................................................ [ 56%] ........................................................................ [ 57%] ........................................................................ [ 57%] ........................................................................ [ 58%] ........................................................................ [ 59%] ........................................................................ [ 60%] ........................................................................ [ 61%] ........................................................................ [ 62%] ........................................................................ [ 63%] ........................................................................ [ 64%] ........................................................................ [ 65%] ........................................................................ [ 65%] ........................................................................ [ 66%] ........................................................................ [ 67%] ........................................................................ [ 68%] ........................................................................ [ 69%] ........................................................................ [ 70%] ........................................................................ [ 71%] ........................................................................ [ 72%] ........................................................................ [ 72%] ........................................................................ [ 73%] ........................................................................ [ 74%] ........................................................................ [ 75%] ........................................................................ [ 76%] ........................................................................ [ 77%] ........................................................................ [ 78%] ........................................................................ [ 79%] ........................................................................ [ 79%] ........................................................................ [ 80%] ........................................................................ [ 81%] ........................................................................ [ 82%] ........................................................................ [ 83%] ........................................................................ [ 84%] ........................................................................ [ 85%] ........................................................................ [ 86%] ........................................................................ [ 86%] ........................................................................ [ 87%] ........................................................................ [ 88%] ........................................................................ [ 89%] ........................................................................ [ 90%] ........................................................................ [ 91%] ........................................................................ [ 92%] ........................................................................ [ 93%] ........................................................................ [ 94%] ........................................................................ [ 94%] ........................................................................ [ 95%] ........................................................................ [ 96%] ........................................................................ [ 97%] ........................................................................ [ 98%] ........................................................................ [ 99%] ........................................................... [100%] =============================== warnings summary =============================== tests/gateway/test_api_server.py: 105 warnings /home/cube/projects/richard/hermes-agent/tests/gateway/test_api_server.py:443: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config app["api_server_adapter"] = adapter tests/gateway/test_api_server_bind_guard.py::TestConnectBindGuard::test_refuses_ipv4_wildcard_without_key tests/gateway/test_api_server_bind_guard.py::TestConnectBindGuard::test_refuses_ipv6_wildcard_without_key tests/gateway/test_api_server_bind_guard.py::TestConnectBindGuard::test_refuses_loopback_without_key tests/gateway/test_weak_credential_guard.py::TestAPIServerPlaceholderKeyGuard::test_refuses_wildcard_with_placeholder_key tests/gateway/test_weak_credential_guard.py::TestAPIServerPlaceholderKeyGuard::test_refuses_wildcard_with_asterisk_key /home/cube/projects/richard/hermes-agent/gateway/platforms/api_server.py:4293: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config self._app["api_server_adapter"] = self tests/gateway/test_api_server_jobs.py: 40 warnings /home/cube/projects/richard/hermes-agent/tests/gateway/test_api_server_jobs.py:54: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config app["api_server_adapter"] = adapter tests/gateway/test_api_server_multimodal.py::TestChatCompletionsMultimodalHTTP::test_inline_image_preserved_to_run_agent tests/gateway/test_api_server_multimodal.py::TestChatCompletionsMultimodalHTTP::test_text_only_array_collapses_to_string tests/gateway/test_api_server_multimodal.py::TestChatCompletionsMultimodalHTTP::test_file_part_returns_400 tests/gateway/test_api_server_multimodal.py::TestChatCompletionsMultimodalHTTP::test_non_image_data_url_returns_400 tests/gateway/test_api_server_multimodal.py::TestResponsesMultimodalHTTP::test_input_image_canonicalized_and_forwarded tests/gateway/test_api_server_multimodal.py::TestResponsesMultimodalHTTP::test_input_file_returns_400 /home/cube/projects/richard/hermes-agent/tests/gateway/test_api_server_multimodal.py:132: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config app["api_server_adapter"] = adapter tests/gateway/test_api_server_runs.py: 22 warnings /home/cube/projects/richard/hermes-agent/tests/gateway/test_api_server_runs.py:46: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config app["api_server_adapter"] = adapter tests/gateway/test_cron_fire_webhook.py::test_valid_token_accepts_and_fires tests/gateway/test_cron_fire_webhook.py::test_invalid_token_401_and_no_fire tests/gateway/test_cron_fire_webhook.py::test_missing_token_401 tests/gateway/test_cron_fire_webhook.py::test_missing_job_id_400 tests/gateway/test_cron_fire_webhook.py::test_fire_does_not_require_api_server_key /home/cube/projects/richard/hermes-agent/tests/gateway/test_cron_fire_webhook.py:28: NotAppKeyWarning: It is recommended to use web.AppKey instances for keys. https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config app["api_server_adapter"] = adapter tests/gateway/test_discord_race_polish.py::test_concurrent_joins_do_not_double_connect /home/cube/projects/richard/hermes-agent/plugins/platforms/discord/adapter.py:2520: RuntimeWarning: coroutine 'DiscordAdapter._voice_timeout_handler' was never awaited self._voice_timeout_tasks[guild_id] = asyncio.ensure_future( Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_discord_race_polish.py::test_concurrent_joins_do_not_double_connect /home/cube/projects/richard/hermes-agent/plugins/platforms/discord/adapter.py:2379: RuntimeWarning: coroutine 'DiscordAdapter._voice_listen_loop' was never awaited self._voice_listen_tasks[guild_id] = asyncio.ensure_future( Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_google_chat.py::TestOnPubsubMessage::test_duplicate_message_dropped tests/gateway/test_google_chat.py::TestBuildMessageEvent::test_dm_second_message_in_same_thread_is_side_thread /home/cube/miniconda3/lib/python3.12/unittest/mock.py:2217: RuntimeWarning: coroutine 'GoogleChatAdapter._dispatch_message' was never awaited def __init__(self, name, parent): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_google_chat.py::TestExtractMessagePayload::test_native_chat_api_format_drops_non_message_events /home/cube/projects/richard/hermes-agent/.venv/lib/python3.12/site-packages/psutil/__init__.py:999: RuntimeWarning: coroutine 'GoogleChatAdapter._dispatch_message' was never awaited reverse_ppid_map[ppid].append(pid) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_ntfy_plugin.py::TestOnMessage::test_message_with_other_tags_still_dispatched tests/gateway/test_ntfy_plugin.py::TestOnMessage::test_source_chat_id_is_topic tests/gateway/test_ntfy_plugin.py::TestStandaloneSend::test_posts_to_server /home/cube/projects/richard/hermes-agent/.venv/lib/python3.12/site-packages/psutil/__init__.py:999: RuntimeWarning: coroutine 'BasePlatformAdapter._keep_typing' was never awaited reverse_ppid_map[ppid].append(pid) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_qqbot.py::TestDispatchPayload::test_op10_updates_heartbeat_interval /home/cube/projects/richard/hermes-agent/gateway/platforms/qqbot/adapter.py:833: RuntimeWarning: coroutine 'QQAdapter._send_identify' was never awaited self._create_task(self._send_identify()) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_qqbot.py::TestOp7ServerReconnect::test_op7_closes_websocket /home/cube/projects/richard/hermes-agent/gateway/platforms/qqbot/adapter.py:866: RuntimeWarning: coroutine 'TestOp7ServerReconnect.test_op7_closes_websocket..FakeWS.close' was never awaited self._create_task(self._ws.close()) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_qqbot.py::TestOp9InvalidSession::test_op9_not_resumable_clears_session /home/cube/projects/richard/hermes-agent/gateway/platforms/qqbot/adapter.py:883: RuntimeWarning: coroutine 'TestOp9InvalidSession.test_op9_not_resumable_clears_session..FakeWS.close' was never awaited self._create_task(self._ws.close()) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_qqbot.py::TestOp9InvalidSession::test_op9_resumable_preserves_session /home/cube/projects/richard/hermes-agent/gateway/platforms/qqbot/adapter.py:883: RuntimeWarning: coroutine 'TestOp9InvalidSession.test_op9_resumable_preserves_session..FakeWS.close' was never awaited self._create_task(self._ws.close()) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack.py: 27 warnings /home/cube/projects/richard/hermes-agent/gateway/platforms/slack.py:2787: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited user_name = await self._resolve_user_name(user_id, chat_id=channel_id) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack.py::TestBangPrefixCommands::test_bang_command_with_args_preserved /home/cube/miniconda3/lib/python3.12/unittest/mock.py:404: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited def __init__(self, /, *args, **kwargs): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack.py::TestBangPrefixCommands::test_bang_works_inside_thread tests/gateway/test_slack.py::TestThreadReplyHandling::test_thread_reply_without_mention_with_session_processed tests/gateway/test_slack.py::TestThreadReplyHandling::test_thread_reply_with_mention_strips_bot_id tests/gateway/test_slack.py::TestAssistantThreadLifecycle::test_message_uses_cached_assistant_thread_identity tests/gateway/test_slack_channel_session_scope.py::TestChannelSessionScopeShared::test_thread_reply_scopes_by_thread_even_when_shared tests/gateway/test_slack_channel_session_scope.py::TestThreadReplyAlwaysScopesByThread::test_thread_reply_keyed_by_thread_ts[True] tests/gateway/test_slack_channel_session_scope.py::TestThreadReplyAlwaysScopesByThread::test_thread_reply_keyed_by_thread_ts[False] /home/cube/projects/richard/hermes-agent/gateway/platforms/slack.py:2825: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited await self._fetch_thread_parent_text( Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack.py::TestBangPrefixCommands::test_bang_works_inside_thread tests/gateway/test_slack.py::TestAssistantThreadLifecycle::test_message_uses_cached_assistant_thread_identity tests/gateway/test_slack_channel_session_scope.py::TestChannelSessionScopeShared::test_thread_reply_scopes_by_thread_even_when_shared tests/gateway/test_slack_channel_session_scope.py::TestThreadReplyAlwaysScopesByThread::test_thread_reply_keyed_by_thread_ts[True] tests/gateway/test_slack_channel_session_scope.py::TestThreadReplyAlwaysScopesByThread::test_thread_reply_keyed_by_thread_ts[False] /home/cube/projects/richard/hermes-agent/.venv/lib/python3.12/site-packages/_pytest/stash.py:108: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited del self._storage[key] Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack_approval_buttons.py::TestSlackThreadContext::test_fetch_thread_context_includes_bot_parent tests/gateway/test_slack_approval_buttons.py::TestSlackThreadContext::test_fetch_thread_context_excludes_self_bot_replies tests/gateway/test_slack_approval_buttons.py::TestSlackThreadContext::test_fetch_thread_context_multi_workspace tests/gateway/test_slack_approval_buttons.py::TestSlackThreadContext::test_fetch_thread_parent_text_from_cache /home/cube/projects/richard/hermes-agent/gateway/platforms/slack.py:3421: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited name = await self._resolve_user_name(display_user, chat_id=channel_id) Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_slack_plugin_action_handlers.py::TestSlackAdapterPluginActionWiring::test_plugin_handler_invoked_with_slack_args tests/gateway/test_slash_access_dispatch.py::test_whoami_unrestricted_when_no_admin_list tests/gateway/test_telegram_documents.py::TestTelegramPhotoBatching::test_disconnect_cancels_pending_photo_batch_tasks /home/cube/miniconda3/lib/python3.12/unittest/mock.py:2217: RuntimeWarning: coroutine 'SlackAdapter._socket_watchdog_loop' was never awaited def __init__(self, name, parent): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_sms.py::TestStartupGuard::test_insecure_flag_does_not_set_fatal_error tests/gateway/test_sms.py::TestStartupGuard::test_insecure_flag_does_not_set_fatal_error tests/gateway/test_sms.py::TestStartupGuard::test_insecure_flag_allows_start_without_url tests/gateway/test_sms.py::TestStartupGuard::test_insecure_flag_allows_start_without_url tests/gateway/test_sms.py::TestStartupGuard::test_webhook_url_allows_start tests/gateway/test_sms.py::TestStartupGuard::test_webhook_url_allows_start /home/cube/projects/richard/hermes-agent/.venv/lib/python3.12/site-packages/aiohttp/web_urldispatcher.py:192: DeprecationWarning: Bare functions are deprecated, use async ones warnings.warn( tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_multiprocess_records_preserve_distinct_update_receipts tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_multiprocess_records_preserve_distinct_update_receipts tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_multiprocess_record_and_cleanup_preserve_serial_authority tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_multiprocess_record_and_cleanup_preserve_serial_authority tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_process_crash_while_holding_receipt_lock_does_not_deadlock_next_process tests/gateway/test_telegram_polling_receipts_multiprocess.py::test_process_crash_while_holding_receipt_lock_does_not_deadlock_next_process /home/cube/miniconda3/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=4123863) is multi-threaded, use of fork() may lead to deadlocks in the child. self.pid = os.fork() tests/gateway/test_whatsapp_connect.py::TestFileHandleClosedOnError::test_closed_when_bridge_dies_phase1 /home/cube/miniconda3/lib/python3.12/unittest/mock.py:2217: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited def __init__(self, name, parent): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. tests/gateway/test_whatsapp_stale_bridge.py::TestDepRefreshStamp::test_reinstalls_when_package_json_changed /home/cube/miniconda3/lib/python3.12/unittest/mock.py:2217: RuntimeWarning: coroutine 'WhatsAppAdapter._poll_messages' was never awaited def __init__(self, name, parent): Enable tracemalloc to get traceback where the object was allocated. See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info. -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 8138 passed, 59 skipped, 256 warnings in 552.86s (0:09:12)