filecoin-project / specs-actors

DEPRECATED Specification of builtin actors, in the form of executable code.
Other
86 stars 102 forks source link

Test vector generation from scenario tests #1431

Closed ZenGround0 closed 3 years ago

ZenGround0 commented 3 years ago

Generate test vectors from scenario tests

anorth commented 3 years ago

Whoah, hold up. I thought this was about adding some simple golden file approaches into our scenario tests, as recommended by the Jan 2021 post-mortem. At no point until now did I realise that anyone was talking about the full machinery of the https://github.com/filecoin-project/test-vectors project. That is a complex mechanism that was designed in response to different requirements and constraints, and is aimed at testing a different thing (the VM). There might be some advantage to unification, but IMO that would require its own proposal and analysis, because it will have costs.

I'll admit to a certain amount of not-invented-here syndrome in my reaction here (as also influenced the creation of the test-vectors project after the chain-validation project) but I think we should aim to add a minimal golden-file mechanism to our existing scenario test set-up.

anorth commented 3 years ago

@ZenGround0 and I talked about this and we're aligned on work continuing to leverage the format defined by the test vectors project (which will be replicated here, rather than depended on, for now). It's relatively easy for us to produce conformance vectors in addition to the golden files this way, making the the project useful to other implementations.

This would be a step towards a longer-term plan of reviving test-vectors by moving much of the generation into the specs-actors project itself. This project now has a VM which, with only a little more development, could serve as a reference VM and solve the ugly dependency problems that have left the test-vectors project behind.