Testing Framework
How to author, tag, skip, filter, and run Beskid tests.
Testing Framework
This guide describes the practical workflow for Beskid test harness usage.
Language-level syntax is normative in /platform-spec/language-meta/contracts-and-effects/testing/.
Authoring tests
Section titled “Authoring tests”test ParseFast { meta { tags = "fast,parser"; group = "analysis.parser"; } skip { condition = false; reason = "set true to disable temporarily"; } return;}Recommended conventions:
- use stable, descriptive names (
ParseFast,ResolverDuplicateNames) - keep
tagsfocused on execution intent (fast,slow,integration) - use
groupfor hierarchical ownership (analysis.parser,cli.test) - always provide a
skip.reasonwhen a test is intentionally disabled
Running tests
Section titled “Running tests”Use the CLI test command:
beskid test path/to/file.bdFiltering:
beskid test path/to/file.bd --include-tag fast --group analysisbeskid test path/to/file.bd --exclude-tag slowMachine-readable output:
beskid test path/to/file.bd --jsonResult buckets
Section titled “Result buckets”The test command reports:
passedfailedskippedfiltered_out
skip.condition = true produces skipped before execution.
Assertions and helpers
Section titled “Assertions and helpers”Corelib assertion primitives live in docs/corelib/Testing/.