Releases: ethereum/execution-spec-tests
Releases · ethereum/execution-spec-tests
v0.2.5
Tests
Cancun
- Separate fixtures to test for Cancun: includes the first version of the 4844 fixtures. (#63)
- These currently test for valid/invalid blob transactions, excess data gas calculations and the
DATAHASH
opcode. - Additional tests for kzg pre-compiles and ssz will be added in a future release.
- Test documentation can be found -> here.
- These will be run within the hive
pyspec
simulator on this branch.
Important: These tests can only be filled using the geth
version listed below, alongside the --latest-fork Cancun
flag. As an example, you can run the 4844 tests with the following command: tf --force-refill --latest-fork Cancun --test-categories eips.eip4844
.
Pre-Cancun
- New filler category added for security tests, used to verify previously identified client vulnerabilities. (#112)
- Access list test case example filler added. (#83)
Changes
- Reference spec feature added to fillers & fixtures. (#81)
- Fork object feature added to fillers. (#91)
- Can now write tests for fork transitions.
- Callable Op-codes feature added reducing the dependency of Yul code (#102)
- Most filler modules are now entirely python.
- Access list type support added. (#83)
- Documentation updated to include 4884 test descriptions -> here.
Fixes
- Small bug fixes on the fixture format (#80 #92 #109)
- Correctly handle the processing of negative integer indexes in storage (#106)
Versions Used
go-ethereum: mdehoog/go-ethereum@ac64c44
v0.2.4
Changes
- Additional checks added to the Tox pipeline. Python file and function names now checked in accordance with PEP8. (PR: #59)
- Naming style structure changed in the fixture format.
withdrawals_
head removed from name of all withdrawals fixtures. Fixture test case names now like000/shanghai
instead of000_shanghai
. Tags added to specific test case names i.e.001/multiple_blocks/shanghai
. (PR: #69) - Updates and additions to the test filler
tf
: (PRs: #66 & #72)- Refactor of
ethereum_test_filling_tool
. - Default
tf
execution is now concurrent/parallel. So far ~65% increase in speed which will scale as more tests are added. - Filling is skipped for tests that don't need to be filled by default. Improvement to
tf
execution speed. tf --benchmark
. Adds timing of filling to the console logs.tf --max-workers
. Allows the user to set the number of workers used for concurrenttf
execution. For serial execution (the previous way) usetf --max-workers 1
.tf --force-refill
. Force tests to be filled. Works with--test-module
and--test-categories
.tf --no-output-structure
. When enabled all tests are added to a single equivalent output folder.
- Refactor of
Versions Used
go-ethereum: https://github.com/ethereum/go-ethereum/tree/v1.11.3
v0.2.3
Changes
- Remove withdrawals overflow test (PR: #68)
Fixes
- Fixture format now better matches original
BlockchainTest
JSON format as produced by ethereum/retesteth. (PR: #47)
Versions Used
go-ethereum: https://github.com/ethereum/go-ethereum/tree/v1.11.2
v0.2.2
Changes
- Test for withdrawals with a large gwei amount (PR: #44)
Fixes
- All fixtures now have withdrawals in their candidate block RLP. (PR: #37)
Versions Used
go-ethereum: lightclient/go-ethereum@b49a883
v0.2.1
v0.2.0
Changes
- EIP-3860: Changes failure mode to Out-of-Gas when calling
CREATE
/CREATE2
when using initcode that exceeds MAX_INITCODE_SIZE: ethereum/EIPs#6249 - EIP-4895: Updates the withdrawal amount to Gwei instead of Wei: ethereum/EIPs#6325
- Fillers/Fixtures:
Merged
network is renamed toMerge
Versions Used
go-ethereum: lightclient/go-ethereum@6ab6d7388
v0.1.0
Contains Shanghai targeted tests:
- EIP-3651: Warm COINBASE
- EIP-3855: PUSH0 instruction
- EIP-3860: Limit and meter initcode
- EIP-4895: Beacon chain push withdrawals as operations
Fixtures generated using multiple go-ethereum commits: