Testing and CI
Testing
OpenClaw has three Vitest suites (unit/integration, e2e, live) plus Docker runners. This page covers what each suite covers, which command to run for a given workflow, how live tests discover credentials, and how to add regressions for real-world provider/model bugs.
This page is an index. The testing kit is documented on six pages, one per reader job. Open the page that matches your task.
| Page | Read it when |
|---|---|
| Test suites and commands | You need to pick a suite, a command, or the offline regression checks. |
| Live and Docker/Parallels workflows | You are debugging a real provider or model through a live Docker or Parallels lane. |
| Docker test runners | You want the Docker "works in Linux" lanes, their scheduler, and their env vars. |
| QA-specific runners | You are running a QA Lab lane or need the shared Convex credential contract. |
| Contract tests | You changed a channel, provider, or plugin-sdk surface. |
| Writing and adding tests | You are writing a test, a regression, or a reliability eval. |
Where each section moved
Every section heading from the previous single-page version keeps its anchor
here, so an existing link such as /help/testing#qa-specific-runners still
resolves. Each entry points at the page that now holds the content.
- Quick start
- Test Temp Directories
- Live and Docker/Parallels workflows
- QA-specific runners
- Shared Telegram credentials via Convex (v1)
- Adding a channel to QA
- Test suites (what runs where)
- Unit / integration (default)
- Projects, shards, and scoped lanes
- Embedded runner coverage
- Vitest pool and isolation defaults
- Fast local iteration
- Perf debugging
- Stability (gateway)
- E2E (repo aggregate)
- E2E (gateway smoke)
- E2E (Control UI mocked browser)
- E2E: OpenShell backend smoke
- Live (real providers + real models)
- Which suite should I run?
- Live (network-touching) tests
- Docker runners (optional "works in Linux" checks)
- Docs sanity
- Offline regression (CI-safe)
- Agent reliability evals (skills)
- Contract tests (plugin and channel shape)
- Commands
- Channel contracts
- Provider contracts
- When to run
- Adding regressions (guidance)
Related
- Testing live
- Testing updates and plugins
- CI
- OpenClaw agent runtime workflow - the build, test, and live-validation loop for agent runtime code in
src/agents/
Was this useful?