feat(fill,tests): add all static GeneralStateTestsFiller from ethereum/tests #1442
Conversation
dbd0898 to
fdcf43f
Compare
fdcf43f to
6f8a939
Compare
marioevz
left a comment
There was a problem hiding this comment.
LGTM!
A couple of things in the commits I made after yours:
- Some of the modules were causing issues due to use of hyphens in the name, so I renamed them to use underscores.
- I marked
stTimeConsumingas slow, just so we know that these tests take time to fill when using EELS, although in #1491 I recommend we use evmone to fill all legacy tests - I marked all
tests/legacy/state_tests/Cancun/stEIP4844_blobtransactions/blobhashListBounds*Filler.ymltests with theskipmarker, since these were the only tests in the entire set that expected no failures in Cancun, and a failure in Prague, and since these are already covered and parametrized for future forks in ./tests/cancun/eip4844*`, they can be considered redundant. - Modified several tests to start from block 1, because higher blocks were causing issues, and the block number was irrelevant to the tests.
spencer-tb
left a comment
There was a problem hiding this comment.
Approved from myside, would be happy to merge!
But just a thought: should we not use a submodule or attach the tests to a release in ethereum/tests as a tar?
And is the word legacy correct here as we also have a legacy tests repo?
|
yes it is a bit misleading. the legacy keyword. ethereum/tests stays as is untill we convert all json/yml into python, then we remove all static tests in python |
danceratopz
left a comment
There was a problem hiding this comment.
Can we add the tests at tests/static instead of tests/legacy? Happy to hear other suggestions, but seems more logical/reads better?
fill --until=Prague --fill-static-tests ./tests/static
Does the static filler need the __init__.py file, btw? If not, we could leave them out? If so, then I would update all the __init__.py to remove "legacy" and use "static".
And can we add ./tests/static/README.md which states the ethereum/tests reference (with link) that these tests were taken from?
|
Are you going to check-in all these files to the repo? This is one of the main pain points for ethereum/tests: there are a lot of commits changing a lot of files in a bulk mode so ethereum/tests is unusable by default |
|
Submodule it to a separate repo? |
|
I'm realising its okay here with all the files as they will never change, as they are just the fillers not the json fixtures! So from my side its fine without the submodules! Plus on Dan's comment: legacy -> static |
|
But are you going to remove them gradually? |
|
Yeah I believe so, once a filler is ported into python the filler will be removed. This could make the git history unusable but I'm not 100% sure |
We talked about this and the nice thing about having all of this in the same repository is that we can now have atomic PRs that update a static yml/json filler to python. |
|
Fine to me, I won't block it. |
fix(tests): Rename modules to comply with python naming system fix(tests): Mark stTimeConsuming as slow fix(tests): Skip deprecated/duplicated blob tests fix(tests/legacy): All state tests start on block 1 docs: Changelog fix(tests): Remove static blob tests altogether refactor: rename rename feat(tests): Add tests/static/README.md readme changes
6f8a939 to
2cfd334
Compare
|
@danceratopz Change is in, let me know what you think. |
Ah sorry, just saw you added this, thanks! So many files! |
danceratopz
left a comment
There was a problem hiding this comment.
Minor nit, not important.
I would still double check the coverage with ported ethereum test.txt file |
This line fails if we don't add these :( I'd rather not add them too and I hope we find a workaround at some point. |
Yes so it will scan Filler files for pydantic scheme. |
Co-authored-by: danceratopz <danceratopz@gmail.com>
GeneralStateTestsFiller from ethereum/tests
…reum/tests` (ethereum#1442) * feat(tests/static): all ethereum/tests state_test fillers fix(tests): Rename modules to comply with python naming system fix(tests): Mark stTimeConsuming as slow fix(tests): Skip deprecated/duplicated blob tests fix(tests/legacy): All state tests start on block 1 docs: Changelog fix(tests): Remove static blob tests altogether refactor: rename rename feat(tests): Add tests/static/README.md readme changes * Update docs/CHANGELOG.md Co-authored-by: danceratopz <danceratopz@gmail.com> * Update CHANGELOG.md --------- Co-authored-by: Mario Vega <marioevz@gmail.com> Co-authored-by: danceratopz <danceratopz@gmail.com>
…reum/tests` (ethereum#1442) * feat(tests/static): all ethereum/tests state_test fillers fix(tests): Rename modules to comply with python naming system fix(tests): Mark stTimeConsuming as slow fix(tests): Skip deprecated/duplicated blob tests fix(tests/legacy): All state tests start on block 1 docs: Changelog fix(tests): Remove static blob tests altogether refactor: rename rename feat(tests): Add tests/static/README.md readme changes * Update docs/CHANGELOG.md Co-authored-by: danceratopz <danceratopz@gmail.com> * Update CHANGELOG.md --------- Co-authored-by: Mario Vega <marioevz@gmail.com> Co-authored-by: danceratopz <danceratopz@gmail.com>
…reum/tests` (ethereum#1442) * feat(tests/static): all ethereum/tests state_test fillers fix(tests): Rename modules to comply with python naming system fix(tests): Mark stTimeConsuming as slow fix(tests): Skip deprecated/duplicated blob tests fix(tests/legacy): All state tests start on block 1 docs: Changelog fix(tests): Remove static blob tests altogether refactor: rename rename feat(tests): Add tests/static/README.md readme changes * Update docs/CHANGELOG.md Co-authored-by: danceratopz <danceratopz@gmail.com> * Update CHANGELOG.md --------- Co-authored-by: Mario Vega <marioevz@gmail.com> Co-authored-by: danceratopz <danceratopz@gmail.com>
🗒️ Description
All ethereum/tests state test fillers
🔗 Related Issues
To rebase on:
#1439
✅ Checklist
mkdocs servelocally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.