Tests update 13 Cancun tests
The recent tests changes:
Regenerate all tests using cancun rules
Move Cancun eip tests from EIPTests folder into normal test folders
Test diagram updated: https://tinyurl.com/y525ezs7
Announcement
New docker instructions for all t8n supported clients: https://github.com/ethereum/retesteth/tree/develop#docker-instructions
The test process diagram: https://tinyurl.com/y525ezs7
Reminder of a brand new web interface for test debugging: http://retesteth.ethdevops.io/web/
Tests stats on latest builds: http://retesteth.ethdevops.io/
(implement test RPC support or t8ntool protocol to apply for the page. https://ethereum-tests.readthedocs.io/en/latest/t8ntool-ref.html)
Previous release link: https://github.com/ethereum/tests/releases/tag/v12.4
Test format
New test folder GeneralStateTests/Cancun
New test folder /src/GeneralStateTestsFiller/Cancun
Tests Fillers
defining solidity yul now allows to switch optimisations and select evm version:
--evm-version shanghai, use default solc optimisations
code: |
:yul shanghai optimise {
sstore(0, 1)
}
--evm-version london, no optimisations (default)
code: |
:yul london {
sstore(0, 1)
}
This is because each new version of solc introduce default optimisations that change the compiled code bytes. to avoid this affecting the tests by default solc optimisations in tests are disabled
GeneralStateTests/BlockchainTests Filled
Invalid blocks are now transcripted. new format of invalid bc block:
{
"blocknumber" : "3",
"chainname" : "default",
"expectException" : "InvalidGasLimit2",
"rlp" : "0x...",
"rlp_decoded" : {
"blockHeader" : {
...
},
"transactions" : [
{
...
}
],
"uncleHeaders" : [
{
...
}
],
"withdrawals" : [
]
}
}
Keep in mind that this are debug info fields: blocknumber
, chainname
, expectException
Test Regeneration
Update all:
TESTS
-
Tests for contract creation
PR #1306 -
Regenerate transaction sequence into invalid blocks
PR #1316 -
Move Cancun tests from EIP Tests
PR #1313
EIPTests/EOFTests
- Pyspecs Cancun tests
PR #1299 Update Pyspecs to 1.0.5
Cosmetic
- Fix fillers json with missing commas
PR #1310
Upcoming changes:
Support pyspec .py test filling with different clients using retesteth
Nimbus --vmtrace support