Skip to content

feat(test-fill): add --post-verifications flag to capture fill time post state checks#2552

Merged
spencer-tb merged 1 commit into
ethereum:forks/amsterdamfrom
spencer-tb:feat/post-verifier
Mar 25, 2026
Merged

feat(test-fill): add --post-verifications flag to capture fill time post state checks#2552
spencer-tb merged 1 commit into
ethereum:forks/amsterdamfrom
spencer-tb:feat/post-verifier

Conversation

@spencer-tb

@spencer-tb spencer-tb commented Mar 24, 2026

Copy link
Copy Markdown
Contributor

🗒️ Description

Adds a PostVerifications Pydantic model that records exactly which post-state checks are performed during a fill session. When --post-verifications is passed, a postVerifications field is included in the fixture JSON output, capturing which account fields (nonce, balance, code, storage) are verified and their expected values. This enables diffing verification coverage between two fill runs via hasher compare to detect silently lost assertions.

This is added to help aid with #2514, so that we can check where we lose post state verification checks from the static test ports to python.

Note when running fill with --post-verifications the new field is included within the info hash calculation for the fixture.

We might want not even merge this given its redundant in the future.

🔗 Related Issues or PRs

N/A.

✅ 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).

Cute Animal Picture

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

@spencer-tb spencer-tb added C-feat Category: an improvement or new feature P-medium A-test-fill Area: execution_testing.cli.pytest_commands.plugins.filler labels Mar 24, 2026
@spencer-tb spencer-tb requested review from leolara and marioevz March 24, 2026 15:43
@codecov

codecov Bot commented Mar 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.35%. Comparing base (21407ec) to head (d0f1ae1).

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2552   +/-   ##
================================================
  Coverage            86.35%   86.35%           
================================================
  Files                  599      599           
  Lines                36904    36904           
  Branches              3771     3771           
================================================
  Hits                 31868    31868           
  Misses                4485     4485           
  Partials               551      551           
Flag Coverage Δ
unittests 86.35% <ø> (ø)

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.

@marioevz marioevz self-assigned this Mar 24, 2026
@marioevz

Copy link
Copy Markdown
Member

Found and fixed a bug in the static test parser that removed the non-existing account checks in commit 5ae5824.

@marioevz marioevz left a comment

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.

Awesome, I think we should refill the static tests to get the new baseline with this new added information that we have to make sure to preserve in the ported tests.

I left only two suggestions.

Comment thread packages/testing/src/execution_testing/specs/base.py Outdated
Comment thread packages/testing/src/execution_testing/fixtures/post_verifier.py Outdated

@fselmo fselmo 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.

lgtm 👌🏼

@leolara

leolara commented Mar 25, 2026

Copy link
Copy Markdown
Member

Great idea!! This is really useful for what I am doing, thanks ❤️

…hecks

Add a PostVerifications Pydantic model that records exactly which
post-state checks are performed during a fill session. When
`--post-verifications` is passed, a `postVerifications` field is
included in the fixture JSON output, capturing which account fields
(nonce, balance, code, storage) are verified and their expected values.
This enables diffing verification coverage between two fill runs via
`hasher compare` to detect silently lost assertions.
@spencer-tb spencer-tb changed the title feat(test-fill): add --post-verifier flag to capture fill time post state checks feat(test-fill): add --post-verifications flag to capture fill time post state checks Mar 25, 2026
@spencer-tb

Copy link
Copy Markdown
Contributor Author

Renamed all to --post-verifications!

@spencer-tb spencer-tb merged commit 0958360 into ethereum:forks/amsterdam Mar 25, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-test-fill Area: execution_testing.cli.pytest_commands.plugins.filler C-feat Category: an improvement or new feature P-medium

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants