Tests update 10.3: Test Headers
The recent tests changes:
A few more edge test cases around jump, return, revert, maxnonce, maxcodesize, sar/shr/shl.
Updated the test headers to include solidity version.
Transactions include sender field.
Announcement
The test process diagram: http://tinyurl.com/2ctak8yn
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/v10.2
Test format
Tests Fillers
"indexes" section can be entirely/partially omitted. the defult value is -1 to all fields.
individual fields in "indexes" can be omitted. the default value is -1.
"expect" : [
{
"indexes" : { #the entire section can be omitted
"data" : -1,
"//gas" : -1, #this field can be omitted.
"value" : -1
},
GeneralStateTests/BlockchainTests Filled
Changes in the "_info" section:
Optional field "labels" with debug info on transaction index labels does not include : label
prefix to save space
Added solidity solc version string info
"_info" : {
...
"labels" : {
"0" : "transaction1"
},
"solidity" : "Version: 0.8.5+commit.a4f2e591.Linux.g++"
...
}
Changes in the "transaction" section:
Added "sender" field to recover the public address from secretKey
"transaction" : {
"secretKey" : "0x45a915e4d060149eb4365960e6a7a45f334393093061116b197e3240065ff2d8",
"sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b"
...
},
"transaction" : {
"r" : "0x8bb6e17e660cdefc2f6f8124e8f11cd74ac6d91ee05d3a1aa6f513335da0e4a7",
"s" : "0x1d356c9ff34a96d10ec2e0f9d708eea9da2801a37de491c5af43df7c77d56c0c",
"sender" : "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
"v" : "0x1b",
...
}
Test Regeneration
Update all:
PR #1009 (regenerate test headers)
-
More codesize limit tests around contract creation
PR #986 (tests for account with max code size) -
Max account nonce tests
PR #934 (check that create/create2 with account max nonce does not work)
PR #989 (delegate call + create with max nonce) -
Additional tests around return buffer
PR #994 (check return buffer, revert buffer) -
Additional test vectors around SAR/SHR/SHL
PR #1004 (shift operations test vectors) -
Stress test for max contract code size creation/revert
PR #992 (create maxCodeSize x 250, OOG/revert, selfdestruct) -
Correctnes of revert operation (refunds) upon oog/revert inside create/2 and transaction create subcall
PR #1003 (correctness of revert operation (refunds) in subcalls) -
Random test generator script for retesteth from ORI
PR #949 (random test generator script for retesteth) -
More tests around JUPM/JUMPDEST
PR #1006 -
Random test failing on besu
PR #1007
Upcoming changes:
Implement PoS/Merge tests
Implement malicious rlp tests in StateTest or BlockchainTest format (need more debugging with t8n)
Besu retesteth RPC support (web vmtracing support)
Random state test script