Skip to content
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

Create a blockchain_engine_tests test runner #3860

Open
jochem-brouwer opened this issue Jan 31, 2025 · 1 comment
Open

Create a blockchain_engine_tests test runner #3860

jochem-brouwer opened this issue Jan 31, 2025 · 1 comment

Comments

@jochem-brouwer
Copy link
Member

When consuming fixtures, we are currently semi-directly able to run the state/blockchain/tx tests. (Sample fixtures: https://github.com/ethereum/execution-spec-tests/releases/tag/pectra-devnet-6%40v1.0.0)

Steps:

  • Download the fixtures release and unzip it. This currently yields 4 folders:
    • blockchain_tests
    • state_tests
    • transaction_tests
    • blockchain_tests_engine
  • Move the state_tests and blockchain_tests inside ./packages/ethereum-tests/fixtures (create folder if not there)
  • Run state tests: cd ./packages/vm && npm run test:state -- --dir=../fixtures --fork=Prague
  • Run blockchain tests: cd ./packages/vm && npm run test:blockchain -- --dir=../fixtures --fork=Prague
  • Move the transaction_tests inside ./packages/ethereum-tests/TransactionTests
  • Run transaction tests: cd ./packages/tx && npx vitest run ./test/transactionRunner.spec.ts

We currently have no way to run blockchain_tests_engine.

This should be added to the client.

@jochem-brouwer
Copy link
Member Author

Additionally it would be nice to have a handy tool to directly consume the unzipped fixtures. This should also extract ALL forks in the fixtures and run these all. (For the linked fixtures, Prague is the main fork to run against, but there is also the transtition tests CancunToPragueAtTime15k)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant