Skip to content

First Class Ported Static Tests Tracker #3272

Open

Description

@spencer-tb

Context

The 2,095 machine-ported tests in tests/ported_static/ started as flat stXxx/ directories with a blanket valid_from("Cancun") and, on Amsterdam, a 153-entry skip list. The end goal of this tracker is to make them first class native tests, fork-organized, minimally floored, fork-robust, and ultimately merged into the tests/<fork>/ structure properly.

Aim: the overarching aim is to make it as though it looks like they never existed, move all the ported static tests into tests/<forks> and fill them all as low as there floor allows for. Ideally from Frontier for most of them.

Phases

Note all PRs rely on each parents merging, i.e one after the other, they are built upon each other.

Removing The Ported Static Skip List

Restructuring

These 3 PRs will be retargeted to forks/amsterdam sequentially as their bases merge.

Snapshot floor parity (required before archiving ethereum/tests + ethereum/legacytests, see #2556)

An audit of every ported test's floor against the per-fork post sections of the frozen snapshots (ethereum/tests HEAD tarball + legacytests/Constantinople + legacytests/Cancun) shows 1,403 tests at parity or better, and 670 tests where the snapshots covered lower forks than we currently do — archiving today would lose that coverage. Largest classes: Cancun-floored fragile tests whose originals reached Byzantium/Frontier/Istanbul, and TangerineWhistle/SpuriousDragon-floored tests whose originals expressed per-fork expectations (reaching parity there needs fork-conditional posts, not just lower markers).

  • Close the 670 floor-parity regressions (per-file targets in the audit CSV)
  • Re-run the parity audit clean before any archive decision

Remaining enhancement queue (floors are code-bound, not subject-bound; the enhance-ported-test recipes apply)

  • 48 gas-snapshot tests → CodeGasMeasure rewrites
  • 63 + 91 fragile tests (hand triage + load-bearing-limit files)
  • Documented honest floors, no change planned: 98 TangerineWhistle (forward-all gas shape), 47 SpuriousDragon (EIP-161 fundamentals), 18 Berlin (EIP-2929 metadata), 19 London (EIP-3529 refund semantics)

Endgame

  • Rename suites/files to native conventions (stEIP3855_push0 → eip3855_push0, meaningful names for the random/fuzzed blobs where feasible)
  • Merge into the native tests/<fork>/ structure and dissolve tests/ported_static/ (reference-spec wiring, ported_from markers retained for ethereum/tests traceability)

Activity

  1. changed the title [-]Tracker: make ported static tests first-class (fork folders, true valid_from floors, native structure)[/-] [+]First Class Ported Static Tests Tracker[/+] on Jul 31, 2026
  2. added
    C-trackerCategory: Tracker—Meta-issues that collect many issues for progress monitoring
    on Jul 31, 2026
  3. self-assigned this
    on Jul 31, 2026
  4. spencer-tb commented on Jul 31, 2026

    @spencer-tb
    ContributorAuthor

    Related issues

    Parent / endgame

    Directly on tests/ported_static/

    Source tests/static/ fillers & porting pipeline

    Closed, historical context

  5. github-actions commented on Sep 30, 2026

    @github-actions
    Contributor

    This issue has had no recent activity and has been marked as stale.

  6. added
    staleThe Issue/PR has not had any activity for 60 days. PRs will be automatically closed.
    on Sep 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

C-trackerCategory: Tracker—Meta-issues that collect many issues for progress monitoringstaleThe Issue/PR has not had any activity for 60 days. PRs will be automatically closed.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions