openclaw/docs/help/testing
Peter Steinberger 2ab22d8772
fix(test): remaining suites time out on their first test or hook while compiled worker subprocesses prepare (#163254)
* test(core): split oversized subprocess consumer suites

Separate CLI lifecycle, Gateway startup, command dispatch, and bare-root
flows; media reads and storage; catalog metadata and hosted persistence.
Prepare workers during collection only for the six observed consumers.
Keep all 221 cases, assertions, and fixture initialization order; the
exit-only and catalog metadata files remain declaration-free.

Prune the two split baselines and one already-stale baseline entry.

Validation: 221 passing cases; six collection loads and two none results.
Changed-file formatting/lint, affected tsgo graphs, both line-cap ratchets,
and diff checks pass. The global changed-path typecheck remains blocked
by the inherited agents-other root budget (724/720); affected graphs pass.
The review's baseline concern was rejected against the native stale-entry
check and direct lint of the unchanged target file.

* fix(test): collect extension subprocess dependencies

Move Anthropic's real process helper acquisition to collection while
retaining vi.importActual and its mock reset behavior. Move DeepInfra
and xAI's one-time subject imports and mock setup to collection, keeping
their real HTTP transport and negative SSRF assertions intact.

Validation: all 20 cases pass and first declaration loads are collection;
all case names/counts are unchanged. Formatting and extension test types
pass. The normal extension lint lane was blocked while preparing Plugin
SDK declarations by its existing 300000 ms timeout; no timeout or guard
was changed. The final candidate received the scoped P2 review recorded
with the preceding core split commit.

* test(plugin-sdk): preload compiled subprocesses for extension tests

Move worker preparation into collection through a repo-local, non-production
SDK subpath. Let Codex app-server setup preload declarations while keeping
worker-cpu imports after file mocks; preserve per-test imports and assertions.

Register private source and declaration aliases without adding package exports
or production artifacts. Remove unused CLI fixture exports and reuse the alias
normalization owner so the existing dead-export and line-cap gates pass.

* fix(test): preload compiled subprocesses for newly screened suites

* fix(test): preload remaining screened subprocess declarations

Move compiled subprocess preparation out of test and hook deadlines in six confirmed declaration consumers. Preserve lazy imports, mock ordering, and assertions; keep the shared meeting plugin helper unchanged so platform-scoped loading retains its existing order.

* style(test): keep Parallel suite separator

* fix(ci): keep protected selection for split CLI and catalog suites

The owner splits moved protected run-main and official-catalog cases into
four new suites. Add them to PR_PROTECTED_RUNTIME_TEST_FILES so global inputs
such as pnpm-lock.yaml still select them, and assert that in the existing
global-input planner test.
2026-10-02 03:37:13 -05:00
..
contracts.md
docker.md
live-workflows.md
qa-runners.md
suites.md
writing-tests.md fix(test): remaining suites time out on their first test or hook while compiled worker subprocesses prepare (#163254) 2026-10-02 03:37:13 -05:00