Conversation
The test never ran: it wanted a `root_relative` fixture from a sibling tree and data no download step provides, so the Justfile ignored it outright. Fixture 3 is the only client_clis alloc with code, `0x600140`, so the call runs PUSH1 then BLOCKHASH. A plain transition, not a state test. Closes ethereum#3326.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## forks/amsterdam #3336 +/- ##
================================================
Coverage 93.50% 93.50%
================================================
Files 624 624
Lines 37070 37070
Branches 3394 3394
================================================
Hits 34661 34661
Misses 1653 1653
Partials 756 756
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Hi @mkzung, thank you for putting the effort of addressing the issue with your PR. We currently are undergoing a big refactor of this file and many others in this same folder in #3307, and unfortunately I've rebased your changes and the fix is not compatible with the it, and is going to cause conflicts during the rebase. I think the best course of action for now is to close this PR, and try to address this issue directly in #3307. Again, thanks for this effort! Closing for now. |
Closes #3326, taking the second option there: rewrite rather than delete, so the
opcode-count tracer gets its first coverage.
The test asked for
root_relative, defined in a sibling tree, and pointed atfixtures/evm_tools_testdata, which no download step provides. It now uses theclient_clis transition inputs. Fixture 3 is the only alloc there with code,
0x600140,so the call runs PUSH1 then BLOCKHASH. Those inputs are a plain transition rather than a
state test, so the run names the fork instead of passing
--state-test.The
--ignorein thespec-toolstarget goes with it. Only one target carries it onforks/amsterdam; the issue mentions two, which holds on another branch.One thing I did not decide:
test_execution_specs.pyimportsBerlinwhile this namesFrontier. The count is the same either way, but say if Berlin is the intended fork.
Testing
uv run pytest -n 4 tests/evm_tools: 42 passed, with the file collected for the firsttime. I restored the pre-change file from git and confirmed it still errors with
fixture 'root_relative' not found, and flipping the expected count toPUSH1: 2fails,so the assertion really reads the tracer.
Static analysis:
ruff check,ruff format --check,codespell,vulture,ethereum-spec-lintandmypyall pass.Claude Code was used for implementation assistance, covering the test rewrite and this
description. All changes have been reviewed, understood and manually tested by me.