fix(task): tolerate invalid default config in usage cache

This commit is contained in:
rayhpeng
2026-05-15 16:52:11 +08:00
parent eabd78ce4e
commit d7a2fff7e0
2 changed files with 4 additions and 3 deletions
@@ -35,7 +35,7 @@ def _token_usage_cache_enabled(app_config: "AppConfig | None") -> bool:
if app_config is None:
try:
app_config = get_app_config()
except FileNotFoundError:
except (FileNotFoundError, ValueError):
return False
return bool(getattr(getattr(app_config, "token_usage", None), "enabled", False))
+3 -2
View File
@@ -1214,11 +1214,12 @@ def test_terminal_event_usage_none_when_no_records(monkeypatch):
assert completed[0]["usage"] is None
def test_subagent_usage_cache_is_skipped_when_config_file_is_missing(monkeypatch):
@pytest.mark.parametrize("error", [FileNotFoundError("missing config"), ValueError("invalid config")])
def test_subagent_usage_cache_is_skipped_when_default_config_cannot_load(monkeypatch, error):
monkeypatch.setattr(
task_tool_module,
"get_app_config",
MagicMock(side_effect=FileNotFoundError("missing config")),
MagicMock(side_effect=error),
)
assert task_tool_module._token_usage_cache_enabled(None) is False