taquito icon indicating copy to clipboard operation
taquito copied to clipboard

Integrate TZT reference test suite into Taquito testing

Open jevonearth opened this issue 5 years ago • 4 comments

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-client https://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

jevonearth avatar Dec 09 '20 20:12 jevonearth

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

jevonearth avatar Feb 19 '21 00:02 jevonearth

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.

michaelkernaghan avatar Jun 21 '21 20:06 michaelkernaghan

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.

michaelkernaghan avatar Feb 10 '22 16:02 michaelkernaghan

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.

michaelkernaghan avatar Feb 10 '22 16:02 michaelkernaghan