Files
vercel-labs--zerolang/docs/articles/testing.md
T
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 12:29:30 +08:00

1.9 KiB
Raw Blame History

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.

{
  "messages": [
    {
      "role": "user",
      "text": "add subtract and prove it works"
    },
    {
      "role": "assistant",
      "text": "Ill 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

test "add works" {
    expect (add(40, 2) == 42)
}

Agents should add or update tests through graph patches.

Daily Test Commands

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:

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.