Skip to content

Vyšehrad (v4.2.0)

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Apr 20:54
· 69 commits to main since this release
36c5f13

Summary

This release introduces more coverage for Prague EIPs, along with many new features described below.

💥 Breaking Change

Note: Although not a breaking change, consume users should delete the cache directory (typically located at ~/.cache/ethereum-execution-spec-tests) used to store downloaded fixture release tarballs. This release adds support for ethereum/tests and ethereum/legacytests fixture release downloads and the structure of the cache directory has been updated to accommodate this change.

To try this feature:

consume direct --input=https://github.com/ethereum/tests/releases/download/v17.0/fixtures_blockchain_tests.tgz

To determine the cache directory location, see the --cache-folder entry from the command:

consume cache --help

🛠️ Framework

consume

  • ✨ Add support for ethereum/tests and ethereum/legacytests release tarball download via URL to the --input flag of consume commands (#1306).
  • ✨ Add support for Nethermind's nethtest command to consume direct (#1250).
  • ✨ Allow filtering of test cases by fork via pytest marks (e.g., -m "Cancun or Prague") (#1304, #1318).
  • ✨ Allow filtering of test cases by fixture format via pytest marks (e.g., -m blockchain_test) (#1314).
  • ✨ Add top-level entries forks and fixture_formats to the index file that list all the forks and fixture formats used in the indexed fixtures (#1318).
  • ✨ Enable logging from consume commands (#1361).
  • ✨ Propagate stdout and stderr (including logs) captured during test execution to the Hive test result (#1361).
  • 🐞 Don't parametrize tests for unsupported fixture formats; improve consume test collection (#1315).
  • 🐞 Fix the the hive command printed in test reports to reproduce tests in isolation by prefixing the --sim.limit flag value with id: (#1333).
  • 🐞 Improve index generation of ethereum/tests fixtures: Allow generation at any directory level and include generatedTestHash in the index file for the fixture_hash (#1303).
  • 🐞 Fix loading of ethereum/tests and ethereum/legacytests fixtures for the case of mixed 0x0 and 0x1 transaction types in multi-index (data, gas, value) state test fixtures (#1330).
  • ✨ Add Osaka to the hive ruleset, includes a small ruleset refactor (#1355).

fill

  • 🐞 Fix --fork/from/until for transition forks when using fill #1311.
  • 🐞 Fix the node id for state tests marked by transition forks (#1313).
  • ✨ Add static_filler plug-in which allows to fill static YAML and JSON tests (from ethereum/tests) by adding flag --fill-static-tests to uv run fill (#1336).

execute

  • 🔀 Test IDs have changed to include the name of the test spec where the test came from (e.g. state_test, blockchain_test, etc) (#1367).
  • ✨ Markers can now be used to execute only tests from a specific test spec type (e.g. -m state_test, -m blockchain_test, etc) (#1367).

📋 Misc

  • 🔀 Bump the version of execution-specs used by the framework to the package ethereum-execution==1.17.0rc6.dev1; bump the version used for test fixture generation for forks < Prague to current execution-specs master, fa847a0 (#1310).
  • 🐞 Init TransitionTool in GethTransitionTool (#1276).
  • 🔀 Refactored RLP encoding of test objects to allow automatic generation of tests (#1359).
  • ✨ Document how to manage execution-spec-tests package dependencies (#1388).

Packaging

  • 🐞 Fix eest make test when ethereum-execution-spec-tests is installed as a package (#1342).
  • 🔀 Pin setuptools and wheel in [build-system], bump trie>=3.1 and remove setuptools from package dependencies (#1345, #1351).

🧪 Test Cases

  • ✨ Add additional test coverage for EIP-152 Blake2 precompiles (#1244). Refactor to add variables for spec constants and common fixture code. (#1395), (#1405).
  • ✨ Add EIP-7702 incorrect-rlp-encoding tests (#1347).
  • ✨ Add EIP-2935 tests for all call opcodes (#1379).
  • ✨ Add more tests for EIP-7702: max-fee-per-gas verification, delegation-designation as initcode tests (#1372).

New Contributors

Full Changelog: v4.1.0...v4.2.0