ethereum / ethereum/execution-specs

impose test format verification after fill

Open
#1,501 5 comments 0 reactions 1 assignee Claimed by @winsvega View on GitHub
A-test-fill C-feat E-easy stale
Dominant language
Python
Stars
1.2k
Forks
505
Avg merge
2d 14h
Merged PRs (30d)
116

Description

looks like evmone-t8n generated genesis with "baseFeePerGas": "0x00", on frontier network

so we need to check the generated test format with consume. like I did with retesteth. if blockchain test is of network frontier. the genesis must not have other fork fields
and vice versa. this is not being checked. I am getting test with genesis header with baseFeePerGas when using evmonet8n

Here separation of concern. first I have module that generates the tests. Second is the module that executes tests.
The execution module does not know what kind of json it gets therefor it has a scheme validator to analyze the correctness of json.

I would still vote on test json schema verification model. Maybe if not after fill, but in Dan's consume. although would be nice to have it in fill too.

yes it might be redundant perhaps it can be optional in fill.
the idea is to have all the logic related to json verification at one place.

I have the following checks:
- verify that rlp fields are equal to it's json description. (although it is adviced to parse rlp only, some clients might parse json instead. so we need to make sure that test's json is equal to it's rlp.)
- verify fixture structure. verify that it has only expected fields. and nothing is missing. depending on fixture format.
- verify block header description is not only equal to it's rlp but also that if it's a valid block it must be of the type of network the test is on.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.