name: dcs-test description: Run DCS test profiles against controlplane (Go), host-agent (Rust), storage-daemon, or live clusters. Use when testing DCS changes locally or triggering CI test suites. allowed-tools: Bash(*) argument-hint: "[profile] [--scope controlplane|host-agent|storage-daemon|all]"
Context
- Test hub:
apps/cloud/apps/dcs/src/tests/README.md - Local profile runner:
apps/cloud/apps/dcs/src/tests/cmd/dcs-check/ - Live API smoke runner:
apps/cloud/apps/dcs/src/tests/cmd/dcs-smoke/ - Scenario/load runner:
apps/cloud/apps/dcs/src/tests/cmd/dcs-gauntlet/ - Remote Linux/KVM runner:
pnpm dcs testbox
Profiles
Run the cheapest command that proves the changed invariant:
dcs-check unit [--scope controlplane|host-agent|storage-daemon|all]
dcs-check integration [--scope controlplane|host-agent|storage-daemon|all]
dcs-check kwok
dcs-check chaos
dcs-check chaos-compaction
dcs-check kvm
dcs-check fuse [--suite all|sanity|pjdfstest|git|npm|rust-compile|c-compile|go-compile|data-integrity|concurrent|fsstress|xfstests|xfstest-general]
dcs-check full
Live API verification:
DEDALUS_API_KEY=... dcs-smoke --env=dev
DEDALUS_API_KEY=... dcs-smoke --base https://dev.dcs.dedaluslabs.ai --iterations 2
Load and scenario drills:
DEDALUS_API_KEY=... dcs-gauntlet scale --base https://dev.dcs.dedaluslabs.ai --count 20
DEDALUS_API_KEY=... dcs-gauntlet ramp --base https://dev.dcs.dedaluslabs.ai --count 20
DEDALUS_API_KEY=... dcs-gauntlet compaction-drain --base https://dev.dcs.dedaluslabs.ai
Dispatching
When the user invokes /dcs-test without arguments, run:
go run ./apps/cloud/apps/dcs/src/tests/cmd/dcs-check unit
When a profile is specified, run exactly that profile through dcs-check,
dcs-smoke, or dcs-gauntlet. Prefer go run ./apps/cloud/apps/dcs/src/tests/cmd/<tool>
inside the repo unless the binary is already installed.
Remote Linux/KVM
For profiles that need Linux, /dev/kvm, or /dev/fuse, use the
typed testbox CLI:
pnpm dcs testbox run "cargo build --release -p dm-host-agent -p dm-storage-daemon -p dm-bake -p dm-guest-agent"
pnpm dcs testbox run "sudo ./target/release/dm-check --iters 2"
pnpm dcs testbox run "go run ./apps/cloud/apps/dcs/src/tests/cmd/dcs-check kvm"
Nightly CI Workflows
These run automatically but can be triggered manually via gh workflow run:
| Workflow | Profiles |
|---|---|
dcs-nightly-stress.yml |
dcs-check full |
dcs-nightly-dcs-smoke.yml |
dcs-smoke + CLI smoke |
dcs-nightly-scale-drill.yml |
scale, ramp, compaction-drain, compaction-chaos |
dcs-nightly-adversarial-storage.yml |
adversarial-storage |
After Running
Report the test results. If a profile fails, check the reports directory at
apps/cloud/apps/dcs/src/tests/reports/ for JUnit XML and failure artifacts.