ethereum / ethereum/execution-specs
tracker(gentest): make `gentest` great
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 505
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 116
Description
The [`gentest` CLI](https://github.com/ethereum/execution-spec-tests/blob/96efd737b258eeb8efb615e9123d931b6dfda302/src/cli/gentest.py) is a really nice tool that can generate and write a Python (pytest) test module to disk given a type 0 transaction hash on a live network. This generates a `state_test` from the mainnet transaction [`0xa41f...06be`](https://etherscan.io/tx/0xa41f343be7a150b740e5c939fa4d89f3a2850dbe21715df96b612fc20d1906be):
```bash
uv run gentest 0xa41f343be7a150b740e5c939fa4d89f3a2850dbe21715df96b612fc20d1906be tests/paris/test_0xa41f.py
```
Currently, due to its limited transaction type support (type 0 only), it's of limited use. This meta ticket is to track progress of making `gentest` an easy-to-use CLI tool that can generate test cases for specific issues observed on devnets, and potentially, to allow benchmarking of an EVM's transaction processing using `blockchain_test`s created from real mainnet data.
While working on the issues below, we should consider and try to ensure that `gentest` also works on Verkle and EOF testnets.
### `gentest` Tasks
- [x] https://github.com/ethereum/execution-spec-tests/issues/893
- [x] ethereum/execution-spec-tests#891
- [x] ethereum/execution-spec-tests#863
- [x] ethereum/execution-spec-tests#864
- [x] ethereum/execution-spec-tests#859
- [x] ethereum/execution-spec-tests#860
- [x] ethereum/execution-spec-tests#861
- [ ] ethereum/execution-specs#1498
- [ ] ethereum/execution-specs#1499
- [x] ethereum/execution-spec-tests#1253
- [x] ethereum/execution-spec-tests#90
Contributor guide
Assessment
This issue has not been assessed yet.