mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-21 03:39:54 +00:00
b2f8e231dd
My previous attempt (patching check_for_updates) still lost the race: the background update-check thread captures check_for_updates via global lookup at call time, but on CI the thread was already past that point (mid-git-fetch) by the time the test's patch took effect. The real fetch returned 4954 commits-behind and wrote that to banner._update_result before the test's assertion ran. Fix: test what we actually care about — that get_update_result respects its timeout parameter — and drop the asserting-on-result-value that races with legitimate background activity. The get_update_result function's job is to return after `timeout` seconds if the event isn't set. The value of `_update_result` is incidental to that test. Validation: tests/hermes_cli/test_update_check.py now 9/9 pass under CI-parity env, and the test no longer has a correctness dependency on module-level state that other threads can write.