Adding a New Test
April 14, 2026 ยท View on GitHub
All test cases are located underneath the tests directory, which are then organized by fork. Each fork contains sub-directories containing test sub-categories.
๐ execution-specs/
โโโด๐ tests/
| โโโ ๐ __init__.py
โ โโโ ๐ cancun/
| | โโโ ๐ __init__.py
โ | โโโ ๐ eip4844_blobs/
| | โโโ ๐ __init__.py
| | โโโ ๐ test_blobhash_opcode.py
| | โโโ ๐ test_excess_blob_gas.py
| | โโโ ๐ ...
| โโโ ๐ shanghai
| | โโโ ๐ eip3651_warm_coinbase
| | | โโโ ๐ __init__.py
| | | โโโ ๐ test_warm_coinbase.py
| | โโโ ๐ eip3855_push0
| | | โโโ ๐ __init__.py
| | | โโโ ๐ test_push0.py
| | โโโ ๐...
| | ...
โ โโโ ๐ ...
Each category/sub-directory may have multiple Python test modules (*.py) which in turn may contain many test functions. The test functions themselves are always parametrized by fork (by the framework).
A new test can be added by either:
- Adding a new
test_python function to an existing file in any of the existing category subdirectories withintests. - Creating a new source file in an existing category, and populating it with the new test function(s).
- Creating an entirely new category by adding a subdirectory in
testswith the appropriate source files and test functions.