ralexstokes / ssz-rs

Implementation of ethereum's `ssz`
Apache License 2.0
103 stars 41 forks source link

Refactor test generation #47

Closed ralexstokes closed 1 year ago

ralexstokes commented 1 year ago

A series of tasks to improve the test gen, which reads the test artifacts to make a set of Rust "harnesses" which consume the data to exercise the implementation.

  1. Clearly define which set of test vectors we use (iirc only part of the data is needed)
  2. Add some convenience commands to manage the data, like in this justfile https://github.com/ralexstokes/ethereum-consensus/blob/main/justfile
  3. [bigger task] write a separate crate for a "testgen" utility: right now, this is done in python, but it would be nicer to bring everything under one (rust) toolchain. this should be a pretty straightforward rewrite of the python in rust, with the caveat that the utility should be in a separate crate so development in the "main" crate doesn't cause any embedded utility to fail to compile