UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

81 lines (69 loc) • 7.31 kB
--- summary: "Index of the OpenClaw testing kit, one page per reader job" read_when: - Running tests locally or in CI - Adding regressions for model/provider bugs - Debugging gateway + agent behavior title: "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. <Note> **QA stack (qa-lab, qa-channel, live transport lanes)** is documented separately: - [QA overview](/concepts/qa-e2e-automation) - architecture, command surface, scenario authoring, and the Matrix live lane. - [Maturity scorecard](/maturity/scorecard) - how release QA evidence supports stability and LTS decisions. - [QA channel](/channels/qa-channel) - the synthetic transport plugin used by repo-backed scenarios. This page covers the regular test suites and Docker/Parallels runners. [QA-specific runners](#qa-specific-runners) below lists the concrete `qa` invocations and points back at the references above. </Note> 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](/help/testing/suites) | You need to pick a suite, a command, or the offline regression checks. | | [Live and Docker/Parallels workflows](/help/testing/live-workflows) | You are debugging a real provider or model through a live Docker or Parallels lane. | | [Docker test runners](/help/testing/docker) | You want the Docker "works in Linux" lanes, their scheduler, and their env vars. | | [QA-specific runners](/help/testing/qa-runners) | You are running a QA Lab lane or need the shared Convex credential contract. | | [Contract tests](/help/testing/contracts) | You changed a channel, provider, or plugin-sdk surface. | | [Writing and adding tests](/help/testing/writing-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. - <a id="quick-start" />[Quick start](/help/testing/suites#quick-start) - <a id="test-temp-directories" />[Test Temp Directories](/help/testing/writing-tests#test-temp-directories) - <a id="live-and-docker%2Fparallels-workflows" /><a id="live-and-docker/parallels-workflows" />[Live and Docker/Parallels workflows](/help/testing/live-workflows#live-and-docker/parallels-workflows) - <a id="qa-specific-runners" />[QA-specific runners](/help/testing/qa-runners#qa-specific-runners) - <a id="shared-telegram-credentials-via-convex-(v1)" /><a id="shared-telegram-credentials-via-convex-v1" />[Shared Telegram credentials via Convex (v1)](/help/testing/qa-runners#shared-telegram-credentials-via-convex-v1) - <a id="adding-a-channel-to-qa" />[Adding a channel to QA](/help/testing/qa-runners#adding-a-channel-to-qa) - <a id="test-suites-(what-runs-where)" /><a id="test-suites-what-runs-where" />[Test suites (what runs where)](/help/testing/suites#test-suites-what-runs-where) - <a id="unit-%2F-integration-(default)" /><a id="unit-/-integration-default" />[Unit / integration (default)](/help/testing/suites#unit-/-integration-default) - <a id="projects-shards-and-scoped-lanes" />[Projects, shards, and scoped lanes](/help/testing/suites#projects-shards-and-scoped-lanes) - <a id="embedded-runner-coverage" />[Embedded runner coverage](/help/testing/suites#embedded-runner-coverage) - <a id="vitest-pool-and-isolation-defaults" />[Vitest pool and isolation defaults](/help/testing/suites#vitest-pool-and-isolation-defaults) - <a id="fast-local-iteration" />[Fast local iteration](/help/testing/suites#fast-local-iteration) - <a id="perf-debugging" />[Perf debugging](/help/testing/suites#perf-debugging) - <a id="stability-(gateway)" /><a id="stability-gateway" />[Stability (gateway)](/help/testing/suites#stability-gateway) - <a id="e2e-(repo-aggregate)" /><a id="e2e-repo-aggregate" />[E2E (repo aggregate)](/help/testing/suites#e2e-repo-aggregate) - <a id="e2e-(gateway-smoke)" /><a id="e2e-gateway-smoke" />[E2E (gateway smoke)](/help/testing/suites#e2e-gateway-smoke) - <a id="e2e-(control-ui-mocked-browser)" /><a id="e2e-control-ui-mocked-browser" />[E2E (Control UI mocked browser)](/help/testing/suites#e2e-control-ui-mocked-browser) - <a id="e2e%3A-openshell-backend-smoke" /><a id="e2e-openshell-backend-smoke" />[E2E: OpenShell backend smoke](/help/testing/suites#e2e-openshell-backend-smoke) - <a id="live-(real-providers-%2B-real-models)" /><a id="live-real-providers-+-real-models" />[Live (real providers + real models)](/help/testing/suites#live-real-providers-+-real-models) - <a id="which-suite-should-i-run%3F" /><a id="which-suite-should-i-run" />[Which suite should I run?](/help/testing/suites#which-suite-should-i-run) - <a id="live-(network-touching)-tests" /><a id="live-network-touching-tests" />[Live (network-touching) tests](/help/testing/suites#live-network-touching-tests) - <a id="docker-runners-(optional-%22works-in-linux%22-checks)" /><a id="docker-runners-optional-works-in-linux-checks" />[Docker runners (optional "works in Linux" checks)](/help/testing/docker#docker-runners-optional-works-in-linux-checks) - <a id="docs-sanity" />[Docs sanity](/help/testing/suites#docs-sanity) - <a id="offline-regression-(ci-safe)" /><a id="offline-regression-ci-safe" />[Offline regression (CI-safe)](/help/testing/suites#offline-regression-ci-safe) - <a id="agent-reliability-evals-(skills)" /><a id="agent-reliability-evals-skills" />[Agent reliability evals (skills)](/help/testing/writing-tests#agent-reliability-evals-skills) - <a id="contract-tests-(plugin-and-channel-shape)" /><a id="contract-tests-plugin-and-channel-shape" />[Contract tests (plugin and channel shape)](/help/testing/contracts#contract-tests-plugin-and-channel-shape) - <a id="commands" />[Commands](/help/testing/contracts#commands) - <a id="channel-contracts" />[Channel contracts](/help/testing/contracts#channel-contracts) - <a id="provider-contracts" />[Provider contracts](/help/testing/contracts#provider-contracts) - <a id="when-to-run" />[When to run](/help/testing/contracts#when-to-run) - <a id="adding-regressions-(guidance)" /><a id="adding-regressions-guidance" />[Adding regressions (guidance)](/help/testing/writing-tests#adding-regressions-guidance) ## Related - [Testing live](/help/testing-live) - [Testing updates and plugins](/help/testing-updates-plugins) - [CI](/ci) - [OpenClaw agent runtime workflow](/openclaw-agent-runtime) - the build, test, and live-validation loop for agent runtime code in `src/agents/`