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 within tests.
  • 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 tests with the appropriate source files and test functions.