Tests that the installed Aztec toolchain works end-to-end. Exercises the complete developer onboarding path:
aztec init- scaffold a new workspace with a Counter contract and test crateaztec compile- compile the scaffolded contractaztec test- run the TXE tests from the scaffold's test crateaztec start --local-network- start a local sandbox (anvil + aztec node)aztec codegen- generate TypeScript bindings from the compiled artifact- TS end-to-end test - run a
node --testsuite inside the scaffolded workspace that imports the codegen'dCounterContract, stands up an in-process wallet + PXE via@aztec/wallets/embedded, deploys Counter, callsincrement, and reads the value back through theget_counterutility function
With an existing local install (fast inner loop):
SKIP_INSTALL=1 ./run-test.shWith a fresh install from a specific version:
VERSION=4.3.0 ./run-test.sh| Variable | Description |
|---|---|
SKIP_INSTALL |
Set to 1 to skip the installer and use the already-installed toolchain. |
VERSION |
Version to install (e.g. 4.3.0 or v4.3.0). Required unless SKIP_INSTALL=1. |
run-test.sh- Bash launcher. Runs the aztec installer (unless skipped), sets up PATH, thenexec node full-dev-path.ts.full-dev-path.ts- Orchestrator. Runs each CLI step against the installed toolchain and, after codegen, copiescounter.test.tsinto the scaffolded workspace and spawnsnode --teston it. Each phase is wrapped instep(name, fn)so failures clearly identify which step broke. Always emits a machine-readable result line for CI/Slack integration:TEST_RESULT=pass version=...on success, orTEST_RESULT=fail step=... version=... error="..."on failure (with a full banner printed above it).counter.test.ts- Thenode:testsuite that drives the deployed Counter end-to-end through the codegen'd bindings. Lives here as a template; copied into the workspace at test time so it can staticallyimport { CounterContract } from './artifacts/Counter.js'with real codegen types and resolve@aztec/*via the workspace'snode_modulessymlink to the install.