Skip to main content

Module headless

Module headless 

Source
Expand description

Headless runner — deck in, CSV out, no window and no event loop.

DOVER has no GUI, so unlike the dhoby-ghaut studios there is no headless mode to switch into: this is the only way it runs. The workspace’s requirements for a headless path are met all the same, because they are what make a result checkable rather than merely producible — deterministic (no clock, no RNG, no I/O in the loop), machine readable with a stable header, and fixed precision so a committed fixture diffs cleanly.

An unconverged case does not abort the run: its row carries the error in the status column and the sweep continues. A sweep that stops at its first failure tells you less than one that shows you where the failures are.

Constants§

CSV_HEADER
The CSV header. Keep this and run_case’s row in lockstep — a fixture diffs against both.

Functions§

run_case
Run one operating point and format its CSV row.
run_deck
Run every case a deck describes and return the whole CSV.
run_toml
Parse a deck from TOML text and run it.