reth icon indicating copy to clipboard operation
reth copied to clipboard

Tracking: Eth chain tests

Open rakita opened this issue 3 years ago • 1 comments

Run all chain tests from eth/test: https://github.com/ethereum/tests/tree/develop/BlockchainTests This is one of two ways to check if a client is consistent with ethereum. (Second one is running on mainnet)

Run test

  • [x] Parse json files: https://github.com/foundry-rs/reth/pull/38
  • [ ] Transfer json models to primitives and load pre-state to mocked database.
  • [ ] Run on stages (maybe modify it if needed) and prepare checks (roots,hashes) that are going to be optional/disabled at first.

Mocking

For running tests in stages we wouldn't need inmemory database that would allow us to do that.

  • [ ] Define and do cleanup on talked db abstraction.
  • [ ] Integrate abstraction inside stages.
  • [ ] Mock Database/Trasanction interface with BTreeMap.

rakita avatar Oct 11 '22 12:10 rakita

We decided to not do mocking but to just use tempdir mdbx instance.

And running all chain tests is blocked until all stages and pipeline are finished.

rakita avatar Nov 10 '22 11:11 rakita

I assume this is completed as well, given we run the tests in CI now.

onbjerg avatar Jan 13 '23 10:01 onbjerg