Specsheet emits output to show the progress made through the checks as they get executed. The format it outputs in is configurable, depending on what is needed.
The default output type is intended for running Specsheet on the command-line.
$ specsheet checks.toml ✓ apt package 'cmatrix' is installed 1 test passed, 0 tests failed
If Specsheet is being run in a terminal, the output will be coloured by ANSI escape codes; if it’s being run in a pipeline or not to a terminal, it will not.
To change this behaviour, use the
--color command-line option.
The dots output is very minimal — it just prints one dot “
.“ character for each check that passes, and one “
X“ character for each check that fails.
At the end, a description of each check that failed is displayed.
$ specsheet spec.toml --format dots
This output format is most useful when there are many tests to be run, with few estimated to fail.
The JSON Lines output prints a JSON object for each check result as it happens. This is intended to be passed into an automated script.
If you want to format the JSON objects, pipe them through
If you’d like the results as one large JSON document, rather than multiple ones on each line, use the JSON report format.
The Test Anything Protocol is a generic way to describe test output.
A description of each test is added to the end of each line, and the name of each file is printed as a diagnostic line. Here’s what it looks like:
$ specsheet spec.toml --format tap # running spec.toml ok 1 - Input file opened ok 2 - First line of the input valid ok 3 - Read the rest of the file not ok 4 - Summarized correctly # TODO Not written yet
You can then pipe the output from Specsheet into anything that consumes TAP.