Your first suite
Create suite.yaml:
suite: hello dartnodes: - name: local # any name; tests refer to the node by it type: local # type: local is what makes this the machine running DARTtests: - 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.