Skip to content

feat(test-benchmark): add deployment contract script, no-rewind flag#3194

Draft
LouisTsai-Csie wants to merge 4 commits into
ethereum:devnets/glamsterdam/6-benchmarksfrom
LouisTsai-Csie:full-benchmark-target
Draft

feat(test-benchmark): add deployment contract script, no-rewind flag#3194
LouisTsai-Csie wants to merge 4 commits into
ethereum:devnets/glamsterdam/6-benchmarksfrom
LouisTsai-Csie:full-benchmark-target

Conversation

@LouisTsai-Csie

@LouisTsai-Csie LouisTsai-Csie commented Jul 20, 2026

Copy link
Copy Markdown
Contributor

Description

Based on benchmarking call. This PR is not needed for now.

This PR adds two features:

  • Manual contract deployment support: Tests like test_account_access and test_ether_transfers_on_receivers normally rely on state-actor for account/contract generation. This PR adds test_setup_contract to manually deploy necessary contracts and delegated accounts when state-actor is unavailable.
  • State accumulation flag: Adds --no-reset-between-tests to skip rewinding the client head between tests. By default, benchmarks rewind to start_block after each test; this flag allows state to accumulate across tests.

Related Issues or PRs

N/A.

Checklist

  • Ran fast static checks to avoid CI fails, see Code Standards & Verifying Changes: just static
  • PR title has the form <type>(<area>): <title>, where <type> and <area> come from an appropriate C-<type>, respectively A-<area>, label. The title should match the target squash commit message.

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

@LouisTsai-Csie LouisTsai-Csie added C-feat Category: an improvement or new feature A-test-benchmark Area: execution_testing.benchmark and tests/benchmark labels Jul 20, 2026
@codecov

codecov Bot commented Jul 20, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (devnets/glamsterdam/6-benchmarks@4cccfc0). Learn more about missing BASE report.

Additional details and impacted files
@@                         Coverage Diff                         @@
##             devnets/glamsterdam/6-benchmarks    #3194   +/-   ##
===================================================================
  Coverage                                    ?   93.30%           
===================================================================
  Files                                       ?      624           
  Lines                                       ?    36986           
  Branches                                    ?     3383           
===================================================================
  Hits                                        ?    34508           
  Misses                                      ?     1695           
  Partials                                    ?      783           
Flag Coverage Δ
unittests 93.30% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

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

return base + base // 16 + EXECUTION_GAS_BUFFER


def test_deploy_existing_contracts(

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Iiuc (from the PR description) this test function is not really a test, rather it's a helper that is used to deploy contracts, and then the --no-reset-between-tests flag is used to run the actual tests. Is this correct?

If so, I think there has to be a better way to accomplish this, because we are basically overloading the test function to perform other tasks, rather than describing the test pre-requisites inside of the tests that need them.

@LouisTsai-Csie
LouisTsai-Csie marked this pull request as draft July 21, 2026 16:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-benchmark Area: execution_testing.benchmark and tests/benchmark C-feat Category: an improvement or new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants