Manifests
A test suite declares its identity once, in the suite manifest at the root of the suite folder. Each suite tree declares what distinguishes that version of the suite, in the version manifest at the root of the tree.
<slug>/ suite.toml # the suite manifest drafts/<draft>/ version.toml # a version manifest versions/v<major>.<minor>.<patch>/ version.toml # a version manifestThe suite manifest
Section titled “The suite manifest”# <slug>/suite.tomlslug = "carom" # stable identity (required); matches the suite foldername = "Carom" # human-readable display name (required)slugis the suite’s stable identity and matches the suite folder. It is a kebab-case token of lowercase letters and digits with single hyphens between them, and it is fixed when the suite is created.nameis the display name shown wherever the suite is presented, including for each of its exported versions.
A folder in the test suites repository is a suite if and only if it holds a
suite.toml.
The version manifest
Section titled “The version manifest”Every path a version manifest names is relative to the suite tree and resolves inside it, so a suite tree stays self-contained. A declared path is validated to exist when the suite is read.
# <slug>/versions/v<major>.<minor>.<patch>/version.tomlversion = "1.0.0" # semver (written by export); matches the version foldertags = ["arcade", "2d"] # classification tags (optional, default [])summary = "One short line." # one-line abstract (required, inline plain text)description = "description.md" # suite prose (required, relative path)changelog = "changelog.md" # per-version changelog (required, relative path)experimental = false # optional; true hides the version unless opted inEverything a run executes is declared by the suite’s test case definitions.
versionis the suite version in semver form and matches the name of the containing version folder, with the folder carrying a leadingv. A version folder namedv1.2.0declaresversion = "1.2.0". Export writes it, and a draft omits it.tagsclassify the version for filtering and default to an empty list.summaryis a one-line abstract authored inline as plain text.descriptionpoints at the Markdown file describing the suite.changelogpoints at the Markdown file recording what changed in this version relative to the version it follows.experimentalmarks a version as still being iterated on and defaults tofalse. A deployment offers experimental versions only when it opts in.