feat(tests): add test for large args offset with size zero on CALL opcode #2057
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🗒️ Description
Hi! I believe a test like this exists for other opcodes but not for CALL, it is one of those that have a very large offset but size zero and therefore execution shouldn't revert because of the offset. In ethrex we had a bug that was fixed in this PR. I created this test and tried it out before and after the fix and it detects the bug.
I am making these tests just for the CALL opcode but they apply to all xCALL opcodes, I don't know what the nicest way of making this more generic is. But generally this would be enough because these opcodes tend to have pretty similar logic inside of them.
🔗 Related Issues or PRs
N/A.
✅ Checklist
tox
checks to avoid unnecessary CI fails, see also Code Standards and Enabling Pre-commit Checks:uvx --with=tox-uv tox -e lint,typecheck,spellcheck,markdownlint
type(scope):
.mkdocs serve
locally and verified the auto-generated docs for new tests in the Test Case Reference are correctly formatted.@ported_from
marker.