Test that interpreter matches reference implementation
Clarification and motivation
We have some tests checking that our typechecker considers .tz
smart contracts valid iff tezos-client typecheck
considers them valid.
However, we don't have such tests for interpretation.
Acceptance criteria
- Our CI fails if our interpreter produces a different result on contract
x
thantezos-client
for anyx
fromS
. -
S
is loosely defined as the set of all Michelson contracts in this repo (w/o Morley extensions) and all Morley contracts transpiled to vanilla Michelson. It's fine to omit some contracts if there is a good reason to do so. For example, it's impossible to interpret ill-typed contracts. - Since interpretation involves typechecking, it makes sense to merge these tests with the existing typechecking tests.
- I think it makes sense to also update
tezos
revision. - If these tests are slow, run them only on schedule. In this case it may be a good idea to separate them from typechecking tests.