Skip to content

Commit fd34ad0

Browse files
fselmomarioevz
andauthored
feat(fill): implement address tag resolution for static test fillers (#1781)
* feat(static): implement address tag resolution for static test fillers Hard-coded address conversion in yml and json fillers: - Add convert_addresses.py script to automate tag conversion - The correct way to run this is with the ``CONVERT_COINBASE`` flag set to ``False`` as this allows the same coinbase for all tests (just as python tests do). If we decide we want to handle the coinbase setting on the python side, we can turn this flag on and hard-code on the python side... but the currect approach seems correct. - Convert 1000+ static test YAML/JSON files to use address tags (Python) Generate deterministic addresses from tags coming from static test fillers: - Resolve tags to deterministic addresses in the same way python tests do - via pytest static filler plugin - Add ``BlockchainEngineXFixture`` support for pre-allocation groups This enables static tests to use symbolic address tags instead of hardcoded addresses, minimizing muddied context across tests when running via pre alloc sharing. ---- fix(tests/static): Fine tune addr tag script, turn on more static tests for tagging. - Wrap up stTransaction tests fine-tuning - [fine-tuning] Replace 0 address in CALL code if in pre - Changes from comments on PR #1781: - Use Prague.precompiles() for precompile addresses in convert_addresses.py - Revamp script, simplify Claude code over-engineering. - fine tune by not tagging some addrs, add short name tag compat for selected tests * refactor(tests/static): Use of pydantic to resolve tags in static tests * All pydantic simplifications * refactor(tests/static): rename sender:key -> eoa:sender * refactor: rename, use generics * fix: consider empty accounts * fix(tests): tests with empty accounts * fix(tests): addressOpcodesFiller.yml * feat: significantly improve test ids * fix: bugs in tag resolution * fix(tests): CREATE2_HighNonceDelegatecallFiller.yml * fix: types * Update src/ethereum_test_specs/static_state/account.py --- Co-authored-by: felipe <[email protected]> * fix: comment and generic tag regex * fix: Code raw code tag substitution * fix(tests/static): Resolve discrepancies with pydantic logic refactor fix: fix when tabs are found in lines with spaces; fix shortnames fix: Resolve issues with label: / raw: parsing Turn off more tests, mostly related to create / `creation` addresses * feat(tests/static): Mark tagged / untagged tests - Add marker for tagged + untagged tests to make them easier to identify * feat: Add `fully_tagged` marker * fix(tests/static): Fully tag some tests * fix(tests/static): Remove hard-coded addresses from transStorageResetFiller.yml * fix(tests/static): Add tags to `tests/static/state_tests/stCreate2/CREATE2_HighNonceDelegatecallFiller.yml` --------- Co-authored-by: Mario Vega <[email protected]>
1 parent 5064c1c commit fd34ad0

File tree

1,730 files changed

+20046
-17765
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,730 files changed

+20046
-17765
lines changed

docs/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Users can select any of the artifacts depending on their testing needs for their
7272
- ✨ Field `postStateHash` is now added to all `blockchain_test` and `blockchain_test_engine` tests that use `exclude_full_post_state_in_output` in place of `postState`. Fixes `evmone-blockchaintest` test consumption and indirectly fixes coverage runs for these tests ([#1667](https://github.com/ethereum/execution-spec-tests/pull/1667)).
7373
- 🔀 Changed INVALID_DEPOSIT_EVENT_LAYOUT to a BlockException instead of a TransactionException ([#1773](https://github.com/ethereum/execution-spec-tests/pull/1773)).
7474
- 🔀 Disabled writing debugging information to the EVM "dump directory" to improve performance. To obtain debug output, the `--evm-dump-dir` flag must now be explicitly set. As a consequence, the now redundant `--skip-evm-dump` option was removed ([#1874](https://github.com/ethereum/execution-spec-tests/pull/1874)).
75+
- ✨ Generate unique addresses with Python for compatible static tests, instead of using hard-coded addresses from legacy static test fillers ([#1781](https://github.com/ethereum/execution-spec-tests/pull/1781)).
7576

7677
#### `consume`
7778

0 commit comments

Comments
 (0)