Peter Steinberger
c56650352d
fix(test): unit-fast tests inherit live host config ( #100221 )
...
* fix(test): make unit tests hermetic against host config and build state
Two host-state leaks made the full suite fail deterministically on developer
and agent machines while CI stayed green:
- Built checkouts: bundled-plugin manifest discovery prefers dist/extensions,
which by design excludes externalized official plugins (e.g. qwen). Tests
that depend on manifest-driven endpoint classification (DashScope cases in
media-understanding and model-compat) failed in any checkout after
pnpm build. test-env now pins OPENCLAW_BUNDLED_PLUGINS_DIR to the source
extensions tree (with the vitest trust opt-in) so discovery matches CI
regardless of local build state; discovery tests keep managing the env
per case.
- unit-fast shards: setupFiles was empty, so auto-curated tests that read
config saw the developer's real ~/.openclaw/openclaw.json; any key the
branch schema rejects failed those tests. unit-fast and
unit-fast-fake-timers now load a minimal env-isolation setup
(test/setup.env.ts) that installs the isolated test home without the
shared setup's module mocks.
* test: update unit-fast config contract for env-isolation setup
* fix(test): force unit-fast hermetic env isolation
2026-07-05 10:06:53 -07:00
..
2026-06-22 07:59:00 +08:00
2026-06-22 07:59:00 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-18 18:50:48 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-18 16:51:19 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-07-04 23:19:38 +01:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-22 07:48:28 +08:00
2026-06-18 16:51:19 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-05 12:01:58 -07:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-11 10:52:59 +09:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-18 11:16:28 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-18 16:51:19 +08:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-07-04 23:19:38 +01:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-07-05 10:06:53 -07:00
2026-06-18 11:16:28 +08:00
2026-06-04 20:40:11 -04:00
2026-07-04 23:19:38 +01:00
2026-06-11 18:13:36 +09:00
2026-06-04 20:40:11 -04:00
2026-06-11 18:13:36 +09:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-07-04 23:19:38 +01:00
2026-07-04 23:19:38 +01:00
2026-07-05 10:06:53 -07:00
2026-07-04 23:19:38 +01:00
2026-07-05 10:06:53 -07:00
2026-06-04 23:59:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00
2026-06-04 20:40:11 -04:00