-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(tests): json schema verification #968
base: main
Are you sure you want to change the base?
Conversation
1538efd
to
31273b7
Compare
3e8a429
to
80a49e6
Compare
ee69e26
to
e014743
Compare
88473f3
to
bf63446
Compare
bf63446
to
72d4870
Compare
A similar verification is already there, but this is the issue: execution-spec-tests/src/ethereum_test_fixtures/blockchain.py Lines 148 to 153 in 83942b0
If a header field is fork-dependent, it only checks that it is indeed there when required, but the opposite check is missing (field is there when it shouldn't). I think adding this extra verification below these lines should in theory do the trick, and we could add a unit test just to double check. |
🗒️ Description
Pydanticfy the json schemas so we verify the quality of generated test fixtures
This is an MVP to catch what I think is the cause of bug
pyspecs with evmone-t8n export extra field on all forks which should not be there. perhaps this extra field leads to wrong block init in its' t8n when we blindly feeding the env section. and to a wrong state hash in my test scenarios.
so the issue is
evmone-t8n return
on all forks. and we export it to the final test. when this field is only in blockheader in exported test since London
🔗 Related Issues
#940
✅ Checklist
mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.