581b6d0a

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Say what the two checks each cannot see, and measure it

Both vm examples had guessed messages and both guesses were wrong, which
is what measuring them was for. RouterOS resolves a reference while
compiling, so a bridge that does not exist is a compile error and not the
runtime failure that example claimed to be. What does fail while running
is a selector that matches no item, so that is what the example does now,
and the router says "no such item" about it.

That leaves the line between the two checks where it should be: an export
says which words a router knows, and a value is not a word. One example
has a value RouterOS cannot compile, the other names an item that is not
there.

Reports for an unseen menu or command now say what absence does and does
not prove: an export prints no menu with nothing in it, and only ever uses
the command it needs to say what the router is set to.

deployFor requires a chassis and an export rather than defaulting them,
because the way they go missing is a file that is not there: an untracked
download is not in a flake source, and this repository's own checks
silently did not run for exactly that reason until the files were added.

hpack and ormolu hooks, since the .cabal file is generated from
package.yaml and the nix build reads the .cabal.
GitHub
Time to Start Worker time Duration Time to finish Idle
Config 8s 0s 0s 9s 8s
Eval 1m32s 9s 9s 1m42s 1m23s
Build 1m41s 0s - - 0s
Suite 8s 10s - - 13m13s