Skip to content

fix(tests): Skip incompatible eip4895 eip4788 eip4825 tests - #37

Merged
pdobacz merged 2 commits into
forks/monad_ninefrom
drop-eip4895
Jul 20, 2026
Merged

fix(tests): Skip incompatible eip4895 eip4788 eip4825 tests#37
pdobacz merged 2 commits into
forks/monad_ninefrom
drop-eip4895

Conversation

@pdobacz

@pdobacz pdobacz commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Similar approach to #24

Greptile Summary

This PR skips three groups of tests that are incompatible with Monad forks, following the same pattern as PR #24. The eip4788 and eip4895 directories each gain a pytest_generate_tests hook that marks all enclosed tests not_valid_for("MONAD_EIGHT", subsequent_forks=True), and the eip7825 zero-byte calldata parametrize case gains a monad_runloop-conditional skip because filling it generates a ~3 MB transaction that exceeds the Monad runloop's 2 MB proposal limit.

  • EIP-4788 / EIP-4895 conftest changes: Identical pytest_generate_tests blocks added to both directories, matching the implementation already present in tests/prague/eip6110_deposits/conftest.py, tests/osaka/eip7594_peerdas/conftest.py, and several others.
  • EIP-7825 zero-byte skip: pytest.mark.monad_runloop(pytest.mark.skip(...)) applied to zero_byte=True only; the False (non-zero byte) case is unaffected and continues to run, matching the pattern already used in tests/frontier/validation/test_transaction.py.

Confidence Score: 5/5

Safe to merge — all three changes apply narrow, targeted skips with clear rationales and follow the existing patterns in the repo.

All three changes are additive skip annotations that do not alter test logic. The conftest hooks are identical copies of patterns already used in at least six other EIP directories. The monad_runloop-gated skip mirrors the usage in tests/frontier/validation/test_transaction.py and only triggers when the --monad-runloop fill flag is explicitly passed. The zero_byte=False parametrize case is unaffected, so test coverage for non-zero bytes is preserved.

No files require special attention.

Important Files Changed

Filename Overview
tests/cancun/eip4788_beacon_root/conftest.py Adds pytest_generate_tests to mark all EIP-4788 beacon root tests as not valid for MONAD_EIGHT and subsequent forks, matching the established pattern in other EIP conftest files.
tests/shanghai/eip4895_withdrawals/conftest.py Adds pytest_generate_tests to mark all EIP-4895 withdrawals tests as not valid for MONAD_EIGHT and subsequent forks, consistent with the established pattern across the test suite.
tests/osaka/eip7825_transaction_gas_limit_cap/test_tx_gas_limit.py Expands the zero_byte parametrize to apply a monad_runloop-gated skip on the True case, preventing a ~3 MB zero-byte calldata test from running under the Monad runloop 2 MB proposal limit.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[pytest collect] --> B{conftest.py\npytest_generate_tests?}
    B -- eip4788 / eip4895 --> C[add_marker: not_valid_for\nMONAD_EIGHT, subsequent_forks=True]
    C --> D[Test skipped for\nMonad forks]
    B -- other dirs --> E[No extra marker added]
    A --> F{eip7825\nzero_byte param?}
    F -- zero_byte=True --> G[monad_runloop mark\nwrapping pytest.mark.skip]
    G --> H{--monad-runloop\nflag passed?}
    H -- Yes --> I[skip applied:\ntx too large for 2 MB limit]
    H -- No --> J[Test runs normally]
    F -- zero_byte=False --> J
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[pytest collect] --> B{conftest.py\npytest_generate_tests?}
    B -- eip4788 / eip4895 --> C[add_marker: not_valid_for\nMONAD_EIGHT, subsequent_forks=True]
    C --> D[Test skipped for\nMonad forks]
    B -- other dirs --> E[No extra marker added]
    A --> F{eip7825\nzero_byte param?}
    F -- zero_byte=True --> G[monad_runloop mark\nwrapping pytest.mark.skip]
    G --> H{--monad-runloop\nflag passed?}
    H -- Yes --> I[skip applied:\ntx too large for 2 MB limit]
    H -- No --> J[Test runs normally]
    F -- zero_byte=False --> J
Loading

Reviews (1): Last reviewed commit: "test(eip7825): skip zero-byte full-calld..." | Re-trigger Greptile

pdobacz added 2 commits July 17, 2026 09:34
The ~3 MB tx exceeds the runloop 2 MB proposal byte limit.
Co-Authored-By: Claude <claude-fable-5>
@pdobacz
pdobacz requested review from QEDK and mijovic as code owners July 17, 2026 13:19

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

LGTM.

@pdobacz
pdobacz merged commit b94acdf into forks/monad_nine Jul 20, 2026
9 checks passed
@pdobacz
pdobacz deleted the drop-eip4895 branch July 20, 2026 08:40
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.

2 participants