Skip to content
This repository has been archived by the owner on Nov 20, 2023. It is now read-only.

Update Ethereum tests to release 9.0.2 #5

Draft
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

mzabaluev
Copy link
Contributor

Update test coverage to the currently maintained state test cases.
The old Constantinople-era VM tests live on in the LegacyTests directory, so these are still run as well.

The state test description loader is compatible with most of the current test cases, except a few that use the new (and undocumented) transaction description format that SputnikVM does not have the means to support yet.

Test stChangedEIP150 is no longer present in the suite.
Test stExample has added a post-Berlin transaction description and
has to be ignored for the time being.
All GeneralStateTests/st* cases from the 9.0.2 release of the Ethereum
now have their associated Rust test cases. Some of the new tests have to
be ignored for now due to the new transaction data format.

Also, test Constantinople/GeneralStateTests/stTimeConsuming is
tagged with #[ignore] since it is, indeed, time-consuming.
The currently maintained subset of old VM tests is now under
the state tests and the test cases shall be invoked using that format.
@mzabaluev
Copy link
Contributor Author

Created as a draft since there are hash mismatch failures in two of the updated test cases:

Rust test ethtest path
st_random2 GeneralStateTests/stRandom2
vm::vm_io_and_flow GeneralStateTests/VMTests/vmIOandFlowOperations

Some newer state tests use EIP-1559 transactions with
maxPriorityFeePerGas and maxFeePerGas fields replacing the gasPrice
field in the transaction JSON structure. As evm has no way to deal with
these currently, make sure such transaction descriptions can be parsed,
but skip tests containing them.
@joshuajbouw
Copy link
Member

joshuajbouw commented Jul 6, 2021

This might be getting ahead of itself as not even Berlin is in yet.

@mzabaluev
Copy link
Contributor Author

The currently maintained set of tests targets Istanbul along with newer hard forks.

I've done this to be able to exercise those up to date tests, and later extend the coverage to Berlin and London when support for the requisite features is implemented.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants