Skip to content

Your first suite

Create suite.yaml:

suite: hello dart
nodes:
- name: local # any name; tests refer to the node by it
type: local # type: local is what makes this the machine running DART
tests:
- name: the tools I need are installed
node: local
type: execute
options:
command: git --version
evaluate:
exit_code: 0
contains: "git version"

Run it with dart -c suite.yaml. That’s the whole loop: nodes define where things run, tests define what must be true, and evaluate defines what “true” means.

Note: node names are free-form and must be unique within a suite; local here is a name this example chose, not a reserved one. A test that names a node the suite does not declare aborts the run before any setup step or test executes — though only after the nodes themselves have been created, since the check happens when tests are constructed. dart -c suite.yaml --check catches the same typo without touching infrastructure. The local type, on the other hand, is limited to one node per suite.