Integrate TZT reference test suite into Taquito testing
There's a new effort to put all Michelson tests cases into a standalone, versioned repo here: https://gitlab.com/tezos/tzt-reference-test-suite
We must evaluate how we can leverage this in Taquito, and also provide feedback or contributions to the upstream test-suite to improve its utility for us and others in the ecosystem.
Related resources:
- MR containing Docs https://gitlab.com/tezos/tezos/-/merge_requests/1487
- MR with Support for TZT in
tezos-clienthttps://gitlab.com/metastatedev/tezos/-/merge_requests/83 - K-michelson: https://github.com/runtimeverification/michelson-semantics/
- Mi-Cho-Coq here : https://gitlab.com/nomadic-labs/mi-cho-coq/-/merge_requests/67
Presently blocked as the upstream https://gitlab.com/tezos/tzt-reference-test-suite repo is not up to date for Edo. The Nomadic team plan on updating that repo and versioning it by protocol. Until then, we will mark this issue as blocked.
Related issue: https://gitlab.com/tezos/tzt-reference-test-suite/-/issues/1
I built the K-Michelson locally and ran some of the tests. They are tests to check that Michelson is producing the expected outcome given specified inputs. K-Michaelson is Haskell, so that we won't want that likely, but I read that .tzt format is portable, so if we can run in them in node, we can use it.
Looked into this some more.
Q: it says "check the compliance of Michelson implementations with respect to the reference one."
what counts as a Michelson implementation? Can this be used with smart contracts? Or does it refer to the node? New
A: Raphaël Cauderlier It refers to any tool that can be used to execute Michelson scripts. The Tezos protocol is such a tool, and it is the reference one. There are many other ones though, for example Baking Bad's Michelson Jupyter kernel, https://smartpy.io/michelson, but also program verification tools such as kmich, Mi-Cho-Coq, Whylson, and Helmoltz.
For Ithaca though these two tests should be updated: https://gitlab.com/tezos/tzt-reference-test-suite/-/blob/master/sub_mutez-mutez_00.tzt https://gitlab.com/tezos/tzt-reference-test-suite/-/blob/master/sub_mutez-mutez_01.tzt because the SUB instruction on values of type mutez has been deprecated in favor of SUB_MUTEZ.