execution-spec-tests
execution-spec-tests copied to clipboard
A Python framework and collection of test cases to generate test vectors for Ethereum execution clients
The motivation is to be able to provide links to a specific function's test doc in the reports/fails generated by `fill`, `consume`, `execute`.
Some test functions are organized in test classes. While the test class and the test function documentation are both rendered on test function pages in the generated docs, there is...
Currently, some parameter types (e.g. bytecode, or other more complicated objects) in the online doc's the test function parameter overview tables are difficult to read. We could make them much...
Currently, the `fill` cli allows either `--fork` or `--from/--until`. In order to allow for test case doc generation for multiple child development forks within a single pytest session, we need...
## 🗒️ Description Adds the `chain_id` as a field for all fixture types. Set to 1 by default unless overwritten in the state/blockchain test environment. ### Blockchain/Engine Test Example Json...
Delegation tests questions: 1) TESTS so if we send tx from sender to sender it will change the code of the sender to delegation_designation. this will make sender not EOA...
Implement the comments and suggests from #745. From https://github.com/ethereum/execution-spec-tests/pull/745#discussion_r1723225970, add the following: > I think we should use the Github API to determine which release is the latest and then...
## 🗒️ Description Introduces a new pytest plugin called "features" which allows enabling a specific feature globally for all tests. ### EIP-7702 Mode Fills all tests with each deployed contract...
## 🗒️ Description WIP In preparation for EIP-7623, this PR introduces fork-specific gas functions to aid to automatically calculate things like the transaction intrinsic gas costs in each fork, given...
Add a `supported_evm_code_types` to the [`Opcode`](https://github.com/ethereum/execution-spec-tests/blob/14f9cbf32d3e69e9ca18d9f8c0ef80d526277f7b/src/ethereum_test_vm/opcode.py#L72) such that, for example: ```python print(Op.PUSH1.supported_evm_code_types) # -> {EVMCodeType.LEGACY, EVMCodeType.EOF_V1} print(Op.CALL.supported_evm_code_types) # -> {EVMCodeType.LEGACY} ``` This would allow the generation and deployment of contract...