hermes-agent/tests
0xbyt4 9722bd8be0 fix: 8 voice pipeline bugs with tests proving each fix
1. VoiceReceiver.stop() now acquires _lock before clearing shared state
   to prevent race with _on_packet on the socket reader thread
2. _packet_debug_count moved from class-level to instance-level to avoid
   cross-instance race condition in multi-guild setups
3. play_in_voice_channel uses asyncio.get_running_loop() instead of
   deprecated asyncio.get_event_loop()
4. _send_voice_reply uses uuid for filenames instead of time-based names
   that can collide when two replies happen in the same second
5. Voice timeout now notifies runner via _on_voice_disconnect callback
   so runner cleans up _voice_mode state (prevents orphaned TTS replies)
6. play_in_voice_channel adds PLAYBACK_TIMEOUT (120s) to prevent
   infinite blocking when FFmpeg callback is never called
7. _send_voice_reply moves temp file cleanup to finally block so files
   are always cleaned up even when send_voice/play raises
8. Base adapter auto-TTS wraps play_tts in try/finally with os.remove
   to clean up generated audio files after playback

18 new tests (120 total voice tests)
2026-03-14 14:27:20 +03:00
..
acp
agent feat: improve context compaction handoff summaries (#1273) 2026-03-14 02:33:31 -07:00
cron fix(cron): tag persisted cron sessions and test wiring 2026-03-14 00:12:34 -07:00
fakes fix: streaming tool call parsing, error handling, and fake HA state mutation 2026-03-14 14:27:20 +03:00
gateway fix: 8 voice pipeline bugs with tests proving each fix 2026-03-14 14:27:20 +03:00
hermes_cli fix(test): add /voice to EXPECTED_COMMANDS set in test_commands.py 2026-03-14 14:27:20 +03:00
honcho_integration
integration
skills
tools fix(test): use real _strip_markdown_for_tts instead of duplicated copy 2026-03-14 14:27:20 +03:00
__init__.py
conftest.py test: restore default event loop for sync tests 2026-03-14 03:14:34 -07:00
run_interrupt_test.py
test_413_compression.py feat: improve context compaction handoff summaries (#1273) 2026-03-14 02:33:31 -07:00
test_860_dedup.py
test_agent_loop.py
test_agent_loop_tool_calling.py
test_agent_loop_vllm.py
test_anthropic_adapter.py
test_anthropic_provider_persistence.py
test_api_key_providers.py
test_atomic_json_write.py fix: reuse shared atomic session log helper 2026-03-14 02:56:13 -07:00
test_auth_codex_provider.py
test_auth_nous_provider.py
test_auxiliary_config_bridge.py
test_batch_runner_checkpoint.py
test_cli_init.py
test_cli_interrupt_subagent.py
test_cli_loading_indicator.py
test_cli_model_command.py
test_cli_new_session.py
test_cli_provider_resolution.py
test_cli_secret_capture.py
test_cli_skin_integration.py fix(cli): make TUI prompt and accent output skin-aware 2026-03-14 03:12:52 -07:00
test_codex_execution_paths.py
test_codex_models.py
test_display.py
test_external_credential_detection.py
test_fallback_model.py
test_file_permissions.py
test_flush_memories_codex.py
test_hermes_state.py
test_honcho_client_config.py
test_insights.py
test_interactive_interrupt.py
test_interrupt_propagation.py
test_managed_server_tool_support.py
test_minisweagent_path.py
test_model_provider_persistence.py
test_model_tools.py
test_personality_none.py
test_provider_parity.py
test_quick_commands.py
test_real_interrupt_subagent.py
test_reasoning_command.py
test_redirect_stdout_issue.py
test_resume_display.py feat: display previous messages when resuming a session in CLI 2026-03-08 17:45:45 -07:00
test_run_agent.py test: add comprehensive voice mode test coverage (86 tests) 2026-03-14 14:27:20 +03:00
test_run_agent_codex_responses.py
test_runtime_provider_resolution.py
test_setup_model_selection.py
test_timezone.py
test_tool_call_parsers.py
test_toolset_distributions.py
test_toolsets.py
test_trajectory_compressor.py
test_worktree.py fix: wire worktree flag into hermes CLI entry point + docs + tests 2026-03-07 21:05:40 -08:00