chore(testing): remove geth from testing#3138
Open
bar-bera wants to merge 6 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
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.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ 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 🚀 New features to boost your workflow:
|
Contributor
|
@bar-bera can you add PR summary for this PR to help with review |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removing geth references from testing. Mainly replaced geth nodes with reth ones. Needed some adaptations:
eth_getBalance/eth_simulateV1aren't on reth's auth port (:8551); rerouted to the eth RPC (ContractBackend, :8545)pragueTimeoneth-genesis.json, without it bera-reth panicspending/queued-max-count,max-account-slots) on reth builders, values aligned with devnet-coreeth_simulateV1: reth's simulate can't build blob txs or apply withdrawals, so valid-block tests now build blocks through the standard prepare proposal