Skip to content

Hard skip irrelevant eip tests on Monad forks#24

Open
pdobacz wants to merge 2 commits into
upstreamfrom
hard-skip-irrelevant-eip-tests
Open

Hard skip irrelevant eip tests on Monad forks#24
pdobacz wants to merge 2 commits into
upstreamfrom
hard-skip-irrelevant-eip-tests

Conversation

@pdobacz

@pdobacz pdobacz commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Makes use of a mechanism introduced in #23 to tidy the fill command invocation. It still leaves not invalid_header as that is skipped due to being problematic for monad to ingest rather than due to being irrelevant.

Merge after #23

pdobacz added 2 commits June 11, 2026 14:23
Mark listed eip subdirs and ported_static with not_valid_for via
per-subdir conftest hooks; trim now-redundant -k filter entries.

Co-Authored-By: Claude <claude-opus-4-7>
@pdobacz pdobacz requested review from QEDK and mijovic as code owners June 11, 2026 15:11
@greptile-apps

greptile-apps Bot commented Jun 11, 2026

Copy link
Copy Markdown

Greptile Summary

This PR refactors how Monad-fork-irrelevant EIP tests are excluded from the fill command. Instead of maintaining a long -k exclusion string in the CI config YAML, test directories now declare their own Monad incompatibility via a pytest_generate_tests hook in conftest.py.

  • The fill-params in feature.yaml is simplified from a lengthy -k \"not eip4844 and not eip7002 … and not ported_static\" expression down to just -k \"not invalid_header\", with invalid_header kept at the CLI level because it is problematic to ingest rather than simply irrelevant.
  • Per-file pytestmark = pytest.mark.not_valid_for(\"MONAD_EIGHT\", subsequent_forks=True) entries are removed from individual test modules; coverage is now provided by a shared pytest_generate_tests hook that calls metafunc.definition.add_marker() in each EIP's conftest.py, which applies to every test in the subdirectory—including any added in the future.

Confidence Score: 5/5

Safe to merge after #23 lands — the change is a clean mechanical refactoring with no logic alterations.

Every EIP that was previously excluded via the -k CLI string now has an equivalent pytest_generate_tests hook in its directory conftest.py. All 11 original exclusions are accounted for (10 moved to conftest markers, invalid_header intentionally kept in the CLI filter). Existing conftest files already imported pytest; new conftest files explicitly import it. No test logic was changed — only the mechanism by which the Monad-fork exclusion marker is applied.

No files require special attention. The feature.yaml simplification is the most impactful change, and its correctness depends entirely on the marker mechanism introduced in #23 being merged first.

Important Files Changed

Filename Overview
.github/configs/feature.yaml Core CI change: replaces the brittle multi-EIP -k exclusion string with just -k "not invalid_header", relying on conftest markers for all other exclusions.
tests/cancun/eip4844_blobs/conftest.py Adds pytest_generate_tests to mark all EIP-4844 tests as not valid for Monad forks; pytest was already imported so the hook is syntactically correct.
tests/osaka/eip7594_peerdas/conftest.py New conftest.py created for the EIP-7594 directory with the standard Monad-exclusion hook; explicit import pytest is present.
tests/paris/eip7610_create_collision/conftest.py New conftest.py for EIP-7610; previously this directory relied solely on the -k "not eip7610" CLI filter, which is now removed. The hook provides equivalent coverage.
tests/ported_static/conftest.py New conftest.py for ported-static tests; replaces the -k "not ported_static" CLI filter with the marker-based approach.
tests/prague/eip7685_general_purpose_el_requests/conftest.py Adds the pytest_generate_tests hook to the existing conftest for EIP-7685; pytest already imported.
tests/osaka/eip7934_block_rlp_limit/conftest.py Adds the marker hook to an existing conftest that had no per-file pytestmark; correctly picks up all current and future tests in the directory.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[fill command invoked] --> B{"--from=MONAD_EIGHT\n--until=MONAD_NINE"}
    B --> C["-k 'not invalid_header'\nonly remaining CLI filter"]
    C --> D[pytest collects tests]
    D --> E{conftest.py in\ntest directory?}
    E -->|Yes - has pytest_generate_tests| F["add_marker(\nnot_valid_for MONAD_EIGHT,\nsubsequent_forks=True\n)"]
    E -->|No| G[Test collected normally]
    F --> H{not_valid_for\nmechanism checks fork}
    H -->|Fork is MONAD_EIGHT or later| I[Hard skip - test not generated]
    H -->|Other fork| G
    G --> J[Test fills to output]
Loading

Reviews (1): Last reviewed commit: "hard skip irrelevant eip tests on Monad ..." | Re-trigger Greptile

@pdobacz pdobacz force-pushed the upstream branch 2 times, most recently from 26ee93c to be0dc67 Compare June 11, 2026 16:31
@pdobacz pdobacz changed the title hard skip irrelevant eip tests on Monad forks Hard skip irrelevant eip tests on Monad forks Jun 11, 2026
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.

1 participant