Skip to content

chores(consume): rename --bin flag of consume direct to --evm-bin to be consistent with fill's --evm-bin#2548

Open
felix314159 wants to merge 3 commits intoethereum:forks/amsterdamfrom
felix314159:fix-pre-byz-consume-direct-geth
Open

chores(consume): rename --bin flag of consume direct to --evm-bin to be consistent with fill's --evm-bin#2548
felix314159 wants to merge 3 commits intoethereum:forks/amsterdamfrom
felix314159:fix-pre-byz-consume-direct-geth

Conversation

@felix314159
Copy link
Copy Markdown
Contributor

@felix314159 felix314159 commented Mar 24, 2026

🗒️ Description

Renames consume direct's --bin flag to --evm-bin so the binary flag is consistent with fill --evm-bin, and it removes stale references to ethereum-spec-evm-resolver now that the weld is completed.

🔗 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).
  • Tests: Ran mkdocs serve locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.
  • Tests: For PRs implementing a missed test case, update the post-mortem document to add an entry the list.
  • Ported Tests: All converted JSON/YML tests from ethereum/tests or tests/static have been assigned @ported_from marker.

Cute Animal Picture

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

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 24, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 86.35%. Comparing base (65a3009) to head (1c20ec3).
⚠️ Report is 1 commits behind head on forks/amsterdam.

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #2548   +/-   ##
================================================
  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.

@danceratopz danceratopz self-assigned this Mar 25, 2026
@danceratopz danceratopz self-requested a review March 25, 2026 16:36
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.

@felix314159 could you pull the cli flag change out into a dedicated PR (but see comment below), these changes are too orthogonal respectively contentious for a single PR imo.

About the flag change, I know the difference is mildly annoying, but this was a deliberate choice in consume as it can run tests that are don't strictly require an EVM binary. I must admit that the only example I can think of right now is eoftest which validated EOF bytecode without EVM execution. But I think I'd still rather keep it more general at --bin. If anything, fill's --evm-bin flag is slightly too verbose (it was too tightly coupled to passing geth's evm binary). I think would prefer to leave consume as-is, but you could add an additional a --bin alias for --evm-bin to fill if helps things feel more consistent?

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.

Here's a review on the ethereum-spec-evm-resolver to ethereum-spec-evm fix-ups! Good catch!


CURRENT_FOLDER = Path(realpath(__file__)).parent
FIXTURES_ROOT = CURRENT_FOLDER / "fixtures"
DEFAULT_EVM_T8N_BINARY_NAME = "ethereum-spec-evm-resolver"
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.

Def worth cleaning up here, but I think we could completely remove this global and the test that uses it. The test is marked as skip, so essentially deadcode atm. The other option is to parametrize the test with other detected t8n tools? But I consider that overkill as we're not missing this test right now and it's implicitly system-tested via the benchchmark tests which use evmone-t8n/geth.

This is required in order for fill to locate the ethereum-spec-evm-resolver
"binary" (entrypoint) when being executed using pytester.
This is required so pytester-based invocations can locate the
execution-specs transition tool entrypoint while running in tests.
Copy link
Copy Markdown
Member

@danceratopz danceratopz Mar 27, 2026

Choose a reason for hiding this comment

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

turbo nit sorry

Suggested change
execution-specs transition tool entrypoint while running in tests.
`ethereum-spec-evm t8n` entrypoint while running in tests.

Comment on lines 103 to 105
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.

This is the skip I mean. I think we can entirely remove this test.

@danceratopz
Copy link
Copy Markdown
Member

Just to add that I didn't manage to finish reviewing the main part, but it looks to make makes sense. I'd like to check whether geth's behavior changed here (intentionally)? Will come back to this. Regarding this, assuming this is the main feature of this PR, wouldn't the title be: fix(test-fill): fix filling pre-Byzantium forks with geth?

@felix314159
Copy link
Copy Markdown
Contributor Author

the PR started with me wanting to change the consume direct flag and then evolved to a ethereum-spec-evm-resolver cleanup and then evolved to a fix filling pre-Byzantium forks with geth PR haha. i can split it

@danceratopz
Copy link
Copy Markdown
Member

danceratopz commented Mar 27, 2026

I'd like to check whether geth's behavior changed here (intentionally)?

Nothing changed on the geth side. I'm just surprised that we didn't spot this earlier. Perhaps we had a regression on the testing framework side. Thanks for finding and fixing it!

felix314159 and others added 2 commits March 27, 2026 14:46
…direct), remove stale references to ethereum-spec-evm-resolver
Co-authored-by: danceratopz <danceratopz@gmail.com>
@felix314159 felix314159 force-pushed the fix-pre-byz-consume-direct-geth branch from 89330b0 to 9343545 Compare March 27, 2026 13:51
@felix314159 felix314159 changed the title fix(src): Fix pre-byz consume direct for geth + chores chores(consume): rename --bin flag of consume direct to --evm-bin to be consistent with fill's --evm-bin Mar 27, 2026
@felix314159
Copy link
Copy Markdown
Contributor Author

I moved the geth fix to a different PR, so this review should be straight-forward (just ignore my branch name)

Copy link
Copy Markdown
Contributor

@spencer-tb spencer-tb left a comment

Choose a reason for hiding this comment

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

I like the change. LGTM! Approved the geth tx reciepts PR too.

@felix314159
Copy link
Copy Markdown
Contributor Author

@danceratopz can you 'resolve the threads' and make the 'requested change' thing disappear if you agree with how i implemented them?

@danceratopz
Copy link
Copy Markdown
Member

@danceratopz can you 'resolve the threads' and make the 'requested change' thing disappear if you agree with how i implemented them?

As per #2548 (review) above, I would still prefer to:

  • add --bin as an alias to fill (in addition to --evm-bin) and additionally change all doc refs for fill from --evm-bin to --bin.
  • leave consume as-is.

@felix314159 wdyt?

@spencer-tb
Copy link
Copy Markdown
Contributor

@danceratopz can you 'resolve the threads' and make the 'requested change' thing disappear if you agree with how i implemented them?

As per #2548 (review) above, I would still prefer to:

* add `--bin` as an alias to `fill` (in addition to `--evm-bin`) and additionally change all doc refs for `fill` from `--evm-bin` to `--bin`.

* leave `consume` as-is.

@felix314159 wdyt?

In hindsight, I think this is the way. --evm-bin I feel we got from geth terminology when EEST started, and is maybe too verbose. Having --bin feels more general, and better suited to client statetest/blocktest runner names

@felix314159
Copy link
Copy Markdown
Contributor Author

felix314159 commented Mar 30, 2026

I would like there to be one flag, and I don't care whether it is --bin for both or --evm-bin for both, but I don't want to different flags that are the same (no alias)

@spencer-tb
Copy link
Copy Markdown
Contributor

Happy to use --bin if we add a deprecation message for people when they use --evm-bin with fill

@danceratopz
Copy link
Copy Markdown
Member

Happy to use --bin if we add a deprecation message for people when they use --evm-bin with fill

Yup, I echo this. I don't see the need to make a sudden breaking change for everyone. So alias, with deprecation message if you consider important (for me leaving an alias indefinitely is also ok).

Alongside the doc changes, we should also fix-up CI.

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