EEST Fixture Releases¶
Formats and Release Layout¶
ethereum/execution-spec-tests releases contain JSON test fixtures in various formats. Note that transaction type tests are executed directly from Python source using the execute
command.
Format | Consumed by the client | Location in .tar.gz release |
---|---|---|
State Tests | - directly via a statetest -like command(e.g., go-ethereum/cmd/evm/staterunner.go) |
./fixtures/state_tests/ |
Blockchain Tests | - directly via a blocktest -like command(e.g., go-ethereum/cmd/evm/blockrunner.go)- using the RLPeest/consume-rlp Simulator via block import |
./fixtures/blockchain_tests/ |
Blockchain Engine Tests | - using the eest/consume-engine Simulator and the Engine API | ./fixtures/blockchain_tests_engine/ |
Transaction Tests | - using a new simulator coming soon | None; executed directly from Python source,using a release tag |
Blob Transaction Tests | - using the eest/execute-blobs Simulator and | None; executed directly from Python source,using a release tag |
Release URLs and Tarballs¶
Versioning Scheme¶
EEST framework and test sources and fixture releases are tagged use a semantic versioning scheme, <optional:<pre_release_name@>>v<MAJOR>.<MINOR>.<PATCH>
as following:
<MAJOR>
: An existing fixture format has changed (potentially breaking change). Action must be taken by client teams to ensure smooth upgrade to the new format.<MINOR>
: Additional coverage (new tests, or a new format) have been added to the release.<PATCH>
: A bug-fix release; an error in the tests or framework has been patched.
Please see below for an explanation of the optional <pre_release_name>
that is used in pre-releases.
Standard Releases¶
Releases are published on the ethereum/execution-spec-tests releases page. Standard releases are tagged using the format vX.Y.Z
(they don't have a don't <pre_release_name>
).
For standard releases, two tarballs are available:
Release Artifact | Fork/feature scope |
---|---|
fixtures_stable.tar.gz |
Tests for all forks up to and including the last deployed ("stable") mainnet fork ("must pass") |
fixtures_develop.tar.gz |
Tests for all forks up to and including the last development fork |
I.e., fixtures_develop
are a superset of fixtures_stable
.
Pre-Release and Devnet Releases¶
Intermediate releases that target specific subsets of features or tests under active development are published at ethereum/execution-spec-tests releases.
These releases are tagged using the format <pre_release_name>@vX.Y.Z
.
Examples:
[email protected]
- this fixture release contains tests adhering to the Fusaka Devnet 1 spec.[email protected]
- this fixture release contains tests specifically aimed at testing zkEVMs.
Devnet releases should be treated as WIP and may not yet contain full test coverage (or even coverage for all EIPs). The coverage provided by these releases is detailed in the corresponding release notes.
Help Downloading Releases¶
The consume cache
command can be used to resolve EEST release and pre-release tags to release URLs and download them.