Open edsko opened 5 years ago
In the postcondition, don't check for equality but for refinement, e.g., https://github.com/input-output-hk/ouroboros-network/blob/dae680f8e6b0af611c323554c375f50b3bfd5308/ouroboros-consensus/test-storage/Test/Ouroboros/Storage/ChainDB/StateMachine.hs#L432, etc.
As part of the q-s-m tests for the mock file system we developed an approach to writing q-s-m tests that is documented in http://www.well-typed.com/blog/2019/01/qsm-in-depth/ , and which we then applied to the immutable store, volatile store, the block DB, and the ledger storage. They have some stuff in common, but that is currently not abstracted out. We should try to do that, and possibly get that merged upstream.