fix: clean up defensive shims and finish CI stabilization from #17660 (#17801)

PR #17660 landed a sweep of CI fixes but left three loose ends:

1. tests/cli/test_cli_loading_indicator.py::test_reload_mcp_sets_busy_state_
   and_prints_status — /reload-mcp gained a prompt-cache-invalidation
   confirmation (commit 4d7fc0f37) that was never wired into this test.
   The test exercises the loading-indicator path, so pre-approve via
   config and go straight into _reload_mcp().

2. tools/mcp_tool.py _make_tool_handler — the added
   getattr(server, '_rpc_lock', None) + 'skip the lock if missing'
   branch is inconsistent with four sibling call sites that still
   direct-access server._rpc_lock. The lock is guaranteed by
   MCPServerTask.__init__; falling through to an unlocked
   session.call_tool would silently serialize-strip RPCs if the guard
   ever triggered. Restore direct access.

3. tui_gateway/server.py _messages_as_conversation — the helper
   existed only to catch 'TypeError: include_ancestors unexpected'
   from mocked SessionDBs that don't actually exist. The real
   SessionDB.get_messages_as_conversation has accepted
   include_ancestors since introduction, and every test FakeDB in
   the repo already declares the kwarg. Remove the shim, inline the
   two call sites.
This commit is contained in:
Teknium
2026-04-29 23:53:17 -07:00
committed by GitHub
parent 3c27efbb91
commit 21e695fcb6
3 changed files with 14 additions and 23 deletions

View File

@@ -49,8 +49,15 @@ class TestCLILoadingIndicator:
seen["status"] = cli_obj._command_status
print("reload done")
# /reload-mcp now wraps the actual reload in a prompt-cache-invalidation
# confirmation prompt (commit 4d7fc0f37). This test exercises the
# loading-indicator path, not the confirmation UX, so pre-approve the
# reload via config so the handler goes straight into _reload_mcp().
fake_cfg = {"approvals": {"mcp_reload_confirm": False}}
with patch.object(cli_obj, "_reload_mcp", side_effect=fake_reload), \
patch.object(cli_obj, "_invalidate") as invalidate_mock:
patch.object(cli_obj, "_invalidate") as invalidate_mock, \
patch("cli.load_cli_config", return_value=fake_cfg):
assert cli_obj.process_command("/reload-mcp")
output = capsys.readouterr().out