Open
Description
Having generators that can deterministically generate can be used to do more complex unit tests
.
When we have the ability to generate some of the chain
types we would be able to generate more interesting test. For example, we could have a BFT blockchain generator. Conceptually this blockchain could have some specific block configuration and emulate a complex state which we can use to validates.
Another example of a test vector in where we can use this would be a generated blockchain that could be used to test recovery from storage in isolation. We could generate a simulated blockchain that would look like an original one generated by a node running for 10 days.
Ideally, the framework would:
- Support all the needed types from
chain-libs
. - Be flexible and configurable enough to bend the generated values as needed.
Initial tasks:
- Support
chain-core
types - Support
chain-time
types - Support
chain-addr
types - Support
chain-crypto
types - Support
chain-impl-mockchain
types