hermes-agent/tests/plugins/memory
ethernet c0bd7fca68 test: deflake hindsight prefetch op-completion tests
TestPrefetchServerRetainVisibility polled the mocked op-status endpoint at
the production _RETAIN_OP_POLL_INTERVAL_S of 0.5s, so each test burned ~1s
of real sleep plus a cross-thread hop to the shared hindsight event loop per
poll — all inside a 5.0s join on the background prefetch thread. On a busy
runner that thread is exactly what gets starved, so it outlived the join and
the assertion saw an empty order list: assert [] == ['recall'].

collapse the interval to 0.01s in these tests (against an AsyncMock there is
no server to be polite to) and route the joins through a helper that asserts
the thread actually finished, so a genuine wedge reports itself instead of
surfacing as a confusing empty-list mismatch.

also drop the two wall-clock assertions that measured runner load rather than
the contract under test: the drain-budget bound goes from 3.0s to budget+10s,
and the eviction test now asserts the status endpoint saw no further calls
(the actual "dropped ops aren't re-polled" contract) instead of timing the
second prefetch at <0.25s.

reproduced by pinning the tests to one core against N spinners on that same
core: at 16x oversubscription pre-fix failed 3/3 and post-fix passed 3/3.
class wall time drops 1.45s -> 0.44s for the recall test.
2026-08-05 00:22:10 -04:00
..
__init__.py
test_byterover_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_config_schema.py revert(memory): drop the provider actions extension point 2026-07-10 15:41:52 -04:00
test_hindsight_config_schema.py
test_hindsight_env_perms.py fix(hindsight): create embedded profile env file owner-only (0600) 2026-07-31 22:39:34 -07:00
test_hindsight_provider.py test: deflake hindsight prefetch op-completion tests 2026-08-05 00:22:10 -04:00
test_holographic_auto_extract.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_holographic_retrieval.py test(memory): hoisted-retriever fixture uses a real tmp db, not :memory: 2026-08-02 21:16:34 +05:30
test_holographic_shutdown_closes_db.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_holographic_store.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_honcho_config_schema.py
test_mem0_backend.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_mem0_providers.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_mem0_setup.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_mem0_v3.py test: prove concurrency with barriers/witnesses instead of wall-clock bounds 2026-07-29 21:30:53 -07:00
test_memory_lazy_install.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_openviking_endpoint_always_blocked.py fix(openviking): verify servers before sending credentials 2026-08-03 20:35:47 +05:30
test_openviking_provider.py fix(openviking): verify servers before sending credentials 2026-08-03 20:35:47 +05:30
test_openviking_shutdown.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00
test_retaindb_provider.py test(retaindb): guard scoped secret config resolution 2026-08-03 20:35:47 +05:30
test_supermemory_provider.py test: prune low-value tests suite-wide (wave 1) — 46,820 → 28,106 test functions 2026-07-29 13:10:23 -07:00