Draft: [#802] Support YAML tests in Cleveland
Description
This is a rough draft of #802. Still not 100% compliant with the proposal, but as a POC it works. All that remains is to refine this a lot and add tests.
Getting pretty close to MVP. Still needs some refinement, particularly in the error reporting department, and tests. Also still need to set up network tests depending on emulator tests. Also still need to figure out how to handle big maps. Finally, need to use a cleaner argument parser.
One possible contention point is YAML "interpreter" has to remember types of contracts it loads, which means it can't handle contracts that were originated "outside". This is arguably not an issue for a testing framework. (but we can try to get the contract's type from the network if running on network only; it'll get pretty awkward, though)
The primary reason for creating this MR is to kill some weeds (running weeder locally is a chore)
Related issue(s)
Resolves #802 (eventually)
✅ Checklist for your Merge Request
Related changes (conditional)
-
Tests (see short guidelines)
-
If I added new functionality, I added tests covering it. -
If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
-
-
Documentation
Stylistic guide (mandatory)
-
My commits comply with the following policy. -
My code complies with the style guide.