v1.0.0
🧪 Welcome to the PyTest Era
We are extremely happy to announce this major new release as it marks a huge milestone for execution-spec-tests.
With this release, adding tests has become easier than ever, so we invite and encourage all client developers to seize this opportunity and contribute to the continuous enhancement of the ethereum testing ecosystem.
🗝️ Key Changes
- Pytest takes the stage: Introducing the upgrade to pytest, now used to collect and execute tests, including generation of fixtures.
- Shiny new documentation: A full revamp of the docs which is now available at ethereum.github.io/execution-spec-tests.
- Tests by fork: Tests (previously named fillers) and fixtures, are now re-organized by fork name for improved clarity and usage.
- Commands with comfort: Tests are now filled with a new user friendly and readable CLI, including a new additional option to specify the
solc
binary. - Write tests like a pro: the repo now includes recommended extensions & settings for a seamless new developer start.
Full Changelog: v0.2.5...v1.0.0
🐍 Tests
Updates to Existing Tests
fixtures.tar.gz
includes a refresh of previous State & Blockchain tests, up to and including Shanghai:- Each test has been refactored and now utilizes Pytest parameterization. These can be viewed within the test case reference section of the docs.
New EIP-4844 Tests
fixtures-cancun.tar.gz
includes a full set of Blockchain tests for EIP-4844, up to date with the latest Devnet 6 & 7 changes
🛠️ Usage
All tests can be filled with the new CLI using the fill
command. (Note: tf
is deprecated and will be removed in the next release).
By default fill
generates fixtures for all tests up to the current mainnet fork - Shanghai. Detailed information on the new CLI can be found within the docs.
Generating EIP-4844 Tests
To only generate the new EIP-4844 tests the following command can be run:
fill -v tests/cancun --until=Cancun
Versions Used
Main fixtures: ethereum/go-ethereum @ c7b099b
go-ethereum branch.
Cancun fixtures: marioevz/go-ethereum @ d36b63d
go-ethereum branch.
Additional dependency versions used (others may work):
🐝 Pyspec Hive Simulator
Each EIP-4844 test case within fixtures-cancun.tar.gz
can additionally be run within the updated pyspec hive simulator. It sends each block within a test fixture as a payload to the execution client using the Engine API.
💬 Contact Us
We are here to help!
If you stumble over any issues with this release please reach out to us.
You can find our contact details within the docs!