Skip to content

chore(testing): remove geth from testing#3138

Open
bar-bera wants to merge 6 commits into
mainfrom
chore/remove-geth-testing
Open

chore(testing): remove geth from testing#3138
bar-bera wants to merge 6 commits into
mainfrom
chore/remove-geth-testing

Conversation

@bar-bera

@bar-bera bar-bera commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Removing geth references from testing. Mainly replaced geth nodes with reth ones. Needed some adaptations:

  • eth_getBalance/eth_simulateV1 aren't on reth's auth port (:8551); rerouted to the eth RPC (ContractBackend, :8545)
  • set pragueTime on eth-genesis.json, without it bera-reth panics
  • add flags (pending/queued-max-count, max-account-slots) on reth builders, values aligned with devnet-core
  • error strings mismatches and gas variance adjusted
  • The 4 tests using eth_simulateV1: reth's simulate can't build blob txs or apply withdrawals, so valid-block tests now build blocks through the standard prepare proposal

@bar-bera bar-bera requested a review from a team as a code owner June 24, 2026 18:30
Copilot AI review requested due to automatic review settings June 24, 2026 18:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the simulated test harness to stop relying on a Geth-based execution client and instead run tests exclusively against Reth, adapting several tests/utilities to work with Reth’s RPC capabilities and behavioral differences.

Changes:

  • Switch simulated test suites from Geth to Reth (including multi-EL setups) and remove Geth-specific tooling.
  • Adjust transaction/blob injection tests to submit txs to the EL txpool and wait until proposals include them (rather than constructing payloads via simulation).
  • Update simulation/infra utilities (eth_simulateV1 client endpoint selection, withdrawals handling, docker image pull behavior) to be compatible with Reth.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
testing/simulated/valid_chain_test.go Reworks injected-tx and injected-blob lifecycle tests to rely on txpool submission + proposal retries.
testing/simulated/utils.go Adds GetBalance helper and PrepareProposalUntil retry helper; adjusts simulated payload building to use original withdrawals when simulation omits them.
testing/simulated/transformers.go Allows caller-supplied withdrawals when transforming a simulated block to a geth-style block.
testing/simulated/simulated_test.go Switches suite setup from Geth EL to Reth EL; updates SimulationClient wiring.
testing/simulated/rpc_errors_test.go Switches RPC error proxy suite to Reth; updates SimulationClient wiring.
testing/simulated/pectra_withdrawal_test.go Switches to Reth and replaces engine-based balance RPC with ContractBackend balance queries; loosens delta for EL variance.
testing/simulated/pectra_genesis_test.go Switches to Reth; replaces engine-based balance RPC with ContractBackend balance queries; makes log assertion less client-specific.
testing/simulated/pectra_fork_test.go Removes Geth/Reth mixed setup in favor of Reth/Reth2.
testing/simulated/payload_cache_test.go Removes Geth scenarios; expands to multiple Reth validators (Reth/Reth2/Reth3) depending on test.
testing/simulated/malicious_proposer_test.go Adjusts invalid blob commitment test path to avoid reth-incompatible simulation-based construction.
testing/simulated/malicious_consensus_test.go Updates log assertions to match Reth error wording.
testing/simulated/fulu_deposit_test.go Updates SimulationClient wiring to use ContractBackend.
testing/simulated/execution/simulation_client.go Switches SimulationClient from EngineClient to eth JSON-RPC (ethclient.Client) and disables blob-tx simulation arg population.
testing/simulated/execution/reth.go Increases Reth txpool limits for test workloads.
testing/simulated/execution/geth.go Removes the Geth execution node helper (file deleted).
testing/simulated/execution/execnode.go Makes docker image pull tolerant of offline registry when image is already local.
testing/simulated/el-genesis-files/eth-genesis.json Adds Prague fork config/schedule entries (with fork time effectively disabled).
scripts/build/testing.mk Removes make targets for starting geth containers in testing workflows.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread testing/simulated/pectra_fork_test.go Outdated
Comment thread testing/simulated/valid_chain_test.go
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.18%. Comparing base (8274259) to head (8312966).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #3138      +/-   ##
==========================================
+ Coverage   63.01%   63.18%   +0.17%     
==========================================
  Files         371      371              
  Lines       15460    15460              
==========================================
+ Hits         9742     9769      +27     
+ Misses       4764     4733      -31     
- Partials      954      958       +4     

see 4 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@fridrik01

Copy link
Copy Markdown
Contributor

@bar-bera can you add PR summary for this PR to help with review

@bar-bera bar-bera requested a review from a team June 25, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants