Tracker
Roadmap search
Versions, deliverables, workstreams, tasks, and pages
Design model
articleStandard
src/content/docs/platform-spec/compiler/conformance/test-harnesses-and-fixtures/design-model.mdx
import SpecArticleChrome from '@beskid/beskid-ui/platform-spec/SpecArticleChrome.astro';
<SpecArticleChrome />Harness layers
Conformance is split so failures localize quickly:
| Layer | Crate path | Pins |
|---|---|---|
| Analysis fixtures | beskid_tests/src/analysis | Diagnostic codes, resolver graphs, staged rules |
| Runtime JIT | beskid_tests/src/runtime | Builtin dispatch, GC, fibers |
| E2E sources | beskid_e2e_tests | Full .bd programs through CLI backends |
| Doc tests | beskid_tests/src/doc_tests.rs | Spec snippets compile and match asserted output |
flowchart LR
fixture[.bd / .json fixtures]
analysis[analysis harness]
runtime[runtime harness]
e2e[e2e harness]
fixture --> analysis
fixture --> runtime
fixture --> e2e
analysis --> diag[Diagnostic snapshot]
runtime --> jit[JIT smoke]
e2e --> exit[Process exit + IO]
Fixture conventions
- Prefer minimal
.bdfiles per diagnostic or rule; shareProject.projlayouts viabeskid_tests/src/projectsbuilders. - Golden diagnostics must cite stable codes from diagnostic code registry.
- Runtime tests must negotiate the same ABI version as production
beskid run.
Code anchors
compiler/crates/beskid_tests/src/analysiscompiler/crates/beskid_tests/src/runtimecompiler/crates/beskid_e2e_tests/src/tests/runtime_cases.rscompiler/crates/beskid_tests/src/doc_tests.rs