Skip to content

feat(tooling): added a smoke test for devs#2605

Draft
Carsons-Eels wants to merge 1 commit intoethereum:forks/amsterdamfrom
Carsons-Eels:smoke_test
Draft

feat(tooling): added a smoke test for devs#2605
Carsons-Eels wants to merge 1 commit intoethereum:forks/amsterdamfrom
Carsons-Eels:smoke_test

Conversation

@Carsons-Eels
Copy link
Copy Markdown
Contributor

@Carsons-Eels Carsons-Eels commented Apr 1, 2026

🗒️ Description

Adds a smoke job to just that runs some of the static analysis checks with a minimal test suite. It's intended for quick development validation during big changes such as large refactors without running the full test suite.

The smoke suite runs tests from 8 files from Frontier through Amsterdam. I chose tests that were not slow, and that covered as large a set of fragile and critical paths as possible.

Test Coverage

Test Fork Features Covered
test_all_opcodes.py Frontier+ All opcodes, static gas costs, stack validation
test_scenarios.py Frontier+ SSTORE/SLOAD, CALL, CREATE, DELEGATECALL, SELFDESTRUCT, REVERT
test_transaction.py Frontier+ Transaction validation, intrinsic gas, nonce, balance
test_call.py Berlin+ Warm/cold account access, EIP-2929 gas costs
test_tstorage.py Cancun+ Transient storage (TLOAD/TSTORE), warm access
test_gas.py Prague+ EIP-7702 authorisation gas, TX intrinsic costs, cold/warm access
test_block_access_lists.py Amsterdam BAL core state changes
test_block_access_lists_opcodes.py Amsterdam BAL tracking across all opcodes

🔗 Related Issues or PRs

None

✅ Checklist

  • All: Ran fast tox checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:
    uvx tox -e static
  • All: PR title adheres to the repo standard - it will be used as the squash commit message and should start type(scope):.
  • All: Considered updating the online docs in the ./docs/ directory.
  • All: Set appropriate labels for the changes (only maintainers can apply labels).

@Carsons-Eels Carsons-Eels added C-feat Category: an improvement or new feature E-easy Experience: easy, good for newcomers P-low A-tooling Area: Improvements or changes to auxiliary tooling such as uv, ruff, mypy, ... labels Apr 1, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.24%. Comparing base (26c98b9) to head (d51e90b).

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2605   +/-   ##
================================================
  Coverage            86.24%   86.24%           
================================================
  Files                  599      599           
  Lines                36984    36984           
  Branches              3795     3795           
================================================
  Hits                 31895    31895           
  Misses                4525     4525           
  Partials               564      564           
Flag Coverage Δ
unittests 86.24% <ø> (ø)

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

☔ View full report in Codecov by Sentry.
📢 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.

Copy link
Copy Markdown
Member

@danceratopz danceratopz left a comment

Choose a reason for hiding this comment

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

Hey @Carsons-Eels I really appreciate the sentiment and have been pondering this one too!

Couple of thoughts:

  1. I think we should lean into the eels_base_coverage marker here, cf #2524, instead of hard-coding a set of tests. This will be a bit slower because it contains more tests. To mitigate, I think it would be worth it to try improve how this marker is applied. It is currently too liberal and applied to all parametrized tests from the output of minimize-tests, but imo we should make the effort to apply it with finer granularity on the parametrized subset.
  2. I would love to add this flag --generate-all-formats to get a smoke test for enginex filling and pre-allocation group generation.

@Carsons-Eels
Copy link
Copy Markdown
Contributor Author

Just adapted it to the new just tool, thanks for that update @danceratopz !

This was definitely a quick stab at it for my own needs with refactoring. I like your suggestions; if you want to have a quick alignment chat about it DM me Thursday or Tuesday. It would be great to get a couple smoke test configurations in.

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

Labels

A-tooling Area: Improvements or changes to auxiliary tooling such as uv, ruff, mypy, ... C-feat Category: an improvement or new feature E-easy Experience: easy, good for newcomers P-low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants