mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
refactor(tests): re-architect tests + fix CI failures (#5946)
* refactor: re-architect tests to mirror the codebase
* Update tests.yml
* fix: add missing tool_error imports after registry refactor
* fix(tests): replace patch.dict with monkeypatch to prevent env var leaks under xdist
patch.dict(os.environ) can leak TERMINAL_ENV across xdist workers,
causing test_code_execution tests to hit the Modal remote path.
* fix(tests): fix update_check and telegram xdist failures
- test_update_check: replace patch("hermes_cli.banner.os.getenv") with
monkeypatch.setenv("HERMES_HOME") — banner.py no longer imports os
directly, it uses get_hermes_home() from hermes_constants.
- test_telegram_conflict/approval_buttons: provide real exception classes
for telegram.error mock (NetworkError, TimedOut, BadRequest) so the
except clause in connect() doesn't fail with "catching classes that do
not inherit from BaseException" when xdist pollutes sys.modules.
* fix(tests): accept unavailable_models kwarg in _prompt_model_selection mock
This commit is contained in:
parent
99ff375f7a
commit
f3006ebef9
110 changed files with 153 additions and 150 deletions
|
|
@ -18,10 +18,18 @@ import pytest
|
|||
import json
|
||||
import os
|
||||
|
||||
# Force local terminal backend for ALL tests in this file.
|
||||
# Under xdist, another test may leak TERMINAL_ENV=modal/docker, sending
|
||||
# execute_code down the remote path → modal.exception.AuthError.
|
||||
os.environ["TERMINAL_ENV"] = "local"
|
||||
|
||||
|
||||
@pytest.fixture(autouse=True)
|
||||
def _force_local_terminal(monkeypatch):
|
||||
"""Re-set TERMINAL_ENV=local before every test.
|
||||
|
||||
The module-level assignment above covers import time, but under xdist
|
||||
another worker can overwrite os.environ between tests. monkeypatch
|
||||
ensures each test starts (and ends) with the correct value.
|
||||
"""
|
||||
monkeypatch.setenv("TERMINAL_ENV", "local")
|
||||
import sys
|
||||
import time
|
||||
import threading
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue