From 5a720bbb1beffb50a0514081220735fcf6288cc5 Mon Sep 17 00:00:00 2001 From: teknium1 <127238744+teknium1@users.noreply.github.com> Date: Fri, 11 Sep 2026 02:07:52 -0700 Subject: [PATCH] test(tui): launch-handle pin test opens a real registry SessionDB The salvaged #102534 test patched hermes_state.get_shared_session_db, a seam main dropped (server._get_db now calls hermes_state_registry.acquire), so the fixture errored at setup and the file reported 0 passed. Assert on the real handle's db_path and on the foreign home staying untouched instead of on a fake factory; red with the pin reverted, green with it. --- .../test_launch_db_home_override_race.py | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/tests/tui_gateway/test_launch_db_home_override_race.py b/tests/tui_gateway/test_launch_db_home_override_race.py index 5110f1f44a..5bdd60e13e 100644 --- a/tests/tui_gateway/test_launch_db_home_override_race.py +++ b/tests/tui_gateway/test_launch_db_home_override_race.py @@ -9,11 +9,9 @@ backend permanently serves the wrong profile's state.db. from __future__ import annotations -from pathlib import Path -from types import SimpleNamespace - import pytest +import hermes_state_registry as registry from hermes_constants import reset_hermes_home_override, set_hermes_home_override from tui_gateway import server @@ -29,24 +27,20 @@ def launch_db_env(monkeypatch, tmp_path): monkeypatch.setattr(server, "_hermes_home", str(launch_home)) monkeypatch.setattr(server, "_db", None) monkeypatch.setattr(server, "_db_error", None) - - captured: list[Path | None] = [] - - def _factory(db_path=None, **_kwargs): - captured.append(Path(db_path) if db_path is not None else None) - return SimpleNamespace(db_path=db_path) - - monkeypatch.setattr("hermes_state.get_shared_session_db", _factory) - return launch_home, foreign_home, captured + try: + yield launch_home, foreign_home + finally: + registry.close_all() def test_get_db_first_touch_under_foreign_override_uses_launch_path(launch_db_env): - launch_home, foreign_home, captured = launch_db_env + launch_home, foreign_home = launch_db_env token = set_hermes_home_override(str(foreign_home)) try: db = server._get_db() assert db is not None - assert captured == [launch_home / "state.db"] + assert db.db_path.resolve() == (launch_home / "state.db").resolve() + assert not (foreign_home / "state.db").exists() assert server._get_db() is db finally: reset_hermes_home_override(token)