Test.ThreadNet: refine the TestConfig*, use TestSetup, expand Praos tests
TODO I’ve removed all shrinking for now. I will revisit that shortly. It was a mess, slow, and rarely helpful except when the problem was trivial, like a bug preventing nodes from producing any blocks whatsoever.
This diff reorganize the TestConfig and TestConfigBlock data types. Those fields have now been teased apart into three record types: TestConfig, TestConfigB, TestConfigMB. (I’m happy to take name suggestions!)
See the Haddock there for more, but there are two basic ideas.
TestConfigBcontains things that need the
blktype and also things whose semantics (eg validitiy) depend the block.
TestConfigMBcontains things that need the
mtype, since it’s not easily available in all contexts we’re concerned about and those fields are usually only ever interpreted for the actual execution.
We introduce a
TestSetuptype for each test. Now that
TestConfigis smaller, we can re-use it more broadly.
While I was in there, I increased the scope of the parameter generators (eg k, eg numCoreNodes) for the mock Praos tests