e7738de6d2
CI / Deep Native Runtime Cases (1/6) (push) Has been skipped
CI / Native Preflight (push) Failing after 1s
CI / Native Runtime Cases (1/2) (push) Failing after 0s
CI / Native Runtime Cases (2/2) (push) Failing after 1s
CI / Native Metadata Reports (push) Failing after 0s
CI / Native Direct Backend Artifacts (push) Failing after 0s
CI / Native Sanitizer Smoke (push) Failing after 1s
CI / Command Contract Snapshots (push) Failing after 1s
CI / Deep Conformance Suite (push) Has been skipped
CI / Graph Build Perf (push) Failing after 1s
CI / Deep Native Preflight (push) Has been skipped
CI / Deep Native Runtime Cases (2/6) (push) Has been skipped
CI / Deep Native Runtime Cases (3/6) (push) Has been skipped
CI / Conformance Suite (push) Failing after 1s
CI / Workspace Checks (push) Failing after 0s
CI / Deep Native Runtime Cases (5/6) (push) Has been skipped
CI / Deep Native Runtime Cases (6/6) (push) Has been skipped
CI / Deep Native Runtime Cases (4/6) (push) Has been skipped
CI / Deep Graph Build Perf (push) Has been skipped
81 lines
1.9 KiB
Markdown
81 lines
1.9 KiB
Markdown
## Run Tests From The Graph
|
||
|
||
In Zerolang, `zero test` runs test blocks from graph inputs and graph-first packages. When
|
||
this page shows `test` projection syntax, read it as the human review view of a
|
||
graph-backed test declaration.
|
||
|
||
```json-render
|
||
{
|
||
"messages": [
|
||
{
|
||
"role": "user",
|
||
"text": "add subtract and prove it works"
|
||
},
|
||
{
|
||
"role": "assistant",
|
||
"text": "I’ll add the function and a focused test for it."
|
||
},
|
||
{
|
||
"role": "tools",
|
||
"calls": [
|
||
{
|
||
"command": "zero patch /tmp/subtract.patch",
|
||
"output": "program graph patch ok"
|
||
},
|
||
{
|
||
"command": "zero test --json --filter subtract",
|
||
"output": "{\"ok\":true,\"passedTests\":1,\"expectedFailures\":0}"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
## What This Means
|
||
|
||
```zero
|
||
test "add works" {
|
||
expect (add(40, 2) == 42)
|
||
}
|
||
```
|
||
|
||
Agents should add or update tests through graph patches.
|
||
|
||
## Daily Test Commands
|
||
|
||
```sh
|
||
zero test
|
||
zero test --json
|
||
zero test --json --filter add
|
||
```
|
||
|
||
Package tests discover test blocks across the package entry file and local
|
||
modules. Filters use substring matching on the test name.
|
||
|
||
## Expected Failures
|
||
|
||
Expected-fail tests are named with `xfail:`, `expected fail:`, or `[xfail]`.
|
||
|
||
| Result | JSON effect |
|
||
| --- | --- |
|
||
| The test fails as expected. | `expectedFailures` increments. |
|
||
| The test passes unexpectedly. | `unexpectedPasses` increments and the command fails. |
|
||
|
||
`zero test --json` includes `fixtures`, `snapshotKey`, selected/discovered
|
||
counts, stdout/stderr, and per-test results.
|
||
|
||
## Repository Reliability
|
||
|
||
Repository-level reliability checks still live outside the docs site:
|
||
|
||
```sh
|
||
pnpm run reliability:smoke
|
||
pnpm run native:sanitize
|
||
pnpm run conformance
|
||
```
|
||
|
||
The reliability smoke covers golden output rows, structured snapshot rows,
|
||
fuzz cases, and crasher regressions. Use those suites for compiler reliability,
|
||
not per-page documentation assertions.
|