This PR improves the presentation of the results. Currently, the presentation is quite bad and can be misunderstood, for example here someone is rightfully confused: https://github.com/ethereum/hevm/issues/439
Fixed issues:
Too many empty lines removed, thing that belong together are now printed together
When we emit a warning, but here is more than one function present, we didn't say which function lead to the warning. This is now printed as a hex function prefix. Not perfect, but way better than before.
It is now easy to see which function the counterexamples belong to. Before, things were not grouped, and that lead to some very weird printings/scenarios.
When things are FAIL-in because of all-revert, the pass/fail would get mixed in ways that are very hard to decipher.
Description
This PR improves the presentation of the results. Currently, the presentation is quite bad and can be misunderstood, for example here someone is rightfully confused: https://github.com/ethereum/hevm/issues/439
Fixed issues:
I am using https://github.com/msooseth/hevm-result-test-contracts to help me test, and I put it under "tmp", then I call hevm through cabal:
cabal run exe:hevm -- test --root tmp --max-iterations 6
Output without this PR:
New printing:
Checklist