Skip to content

fix(tests): enhance & un-skip Amsterdam ported static create-OOG tests (Pt. 2b) - #3320

Merged
marioevz merged 4 commits into
ethereum:forks/amsterdamfrom
spencer-tb:ported-static-pt2b
Aug 11, 2026
Merged

marioevz merged 4 commits into
ethereum:forks/amsterdamfrom
spencer-tb:ported-static-pt2b

Conversation

@spencer-tb

@spencer-tb spencer-tb commented Aug 5, 2026 •

Copy link
Copy Markdown
Contributor

Description

Second slice of the Part 2 ported static split (chain in #3264): the CREATE/initcode OOG-budget families — stCreateTest remainder, stInitCodeTest, the empty-contract-with-storage consolidations, the EIP-150 create/delegate/oog cascade, name-registrator, stStaticCall create/ask, and the stBadOpcode CREATE gas searches. 25 files, 44 skip-list entries un-skipped (130 → 86).

Notables: EIP-8037's code-deposit regular cost is only the keccak word cost — the 200/byte constant is pre-8037, fatal for one-gas-short deposit boundaries; a prefunded create-transaction target provably pays no top-frame new-account state gas; create_e_contract_create_ne_contract_in_init_oog_tr asserted a child account at a vacuous nonce-0 address — restored against the legacy filler.

Every touched test fills green across its full valid_from range, and the whole tests/ported_static/ tree fills green on Amsterdam at this slice. Stacked on Pt. 2a (#3264); the diff includes it until it merges.

Related Issues or PRs

Follow-up to #3215/#3264.

Checklist

  • Ran fast static checks to avoid CI fails, see Code Standards & Verifying Changes: just static
  • PR title has the form <type>(<area>): <title>, where <type> and <area> come from an appropriate C-<type>, respectively A-<area>, label. The title should match the target squash commit message.

Cute Animal Picture

Put a link to a cute animal picture inside the parenthesis-->

@codecov

codecov Bot commented Aug 5, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.53%. Comparing base (343274c) to head (ab99008).
⚠️ Report is 4 commits behind head on forks/amsterdam.

Additional details and impacted files
@@               Coverage Diff                @@
##           forks/amsterdam    #3320   +/-   ##
================================================
  Coverage            93.53%   93.53%           
================================================
  Files                  624      624           
  Lines                37070    37070           
  Branches              3394     3394           
================================================
  Hits                 34675    34675           
  Misses                1645     1645           
  Partials               750      750           
Flag Coverage Δ
unittests 93.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marioevz
marioevz self-requested a review August 8, 2026 01:55
@spencer-tb
spencer-tb marked this pull request as ready for review August 10, 2026 09:06
@marioevz

Copy link
Copy Markdown
Member

I'm halfway through the review. I have some updates to the tests I'll push when I finish the review.

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

Reduced duplicated tests further, and fixed some of the tests that were no longer testing the original purpose of the test.

@marioevz
marioevz merged commit db94367 into ethereum:forks/amsterdam Aug 11, 2026
16 checks passed
ilitteri pushed a commit to lambdaclass/execution-specs that referenced this pull request Aug 13, 2026
…s (Pt. 2b) (ethereum#3320)

* fix(tests): enhance & un-skip Amsterdam ported static create-OOG tests (Pt. 2b)

* refactor(tests): Refactor/update ported static tests

* fix(claude): Enhance skill

* fix(tests): Restore attributions from the original test comments

---------

Co-authored-by: marioevz <marioevz@gmail.com>
MysticRyuujin pushed a commit to MysticRyuujin/ethrex that referenced this pull request Aug 24, 2026
…aclass#7159)

**Motivation**

`tests-glamsterdam-devnet@v8.1.1` is out — a coverage and
fixture-exception-mapping follow-up to v8.1.0, [announced with no spec
changes](https://github.com/ethereum/execution-specs/releases/tag/tests-glamsterdam-devnet@v8.1.1).

**Description**

Moves `tooling/ef_tests/.fixtures_url_amsterdam` and
`.github/config/hive/amsterdam.yaml` (`fixtures` + `eels_commit`) to
v8.1.1. Both, together: grading one release's client against another
release's bundle fails every fixture the two disagree on, which is what
produced 2168 hive failures when only the ef-test pin moved to v8.1.0.
`eels_commit` is `32f597f7`, which is both the v8.1.1 tag and the tip of
`devnets/glamsterdam/8`.

No client change was needed.

**Verified the "no spec changes" claim rather than assuming it.** For
the numbers it holds — the `forks/amsterdam` diff is a `Uint` →
`ExecutionGas(Uint(..))` type-wrapper refactor with every value
identical. One behaviour did change:

```python
-    if isinstance(parent_header, Header):
-        # After the fork block, read them from the parent header.
+    if isinstance(parent_header, (Header, PreviousHeader)):
+        # Read them from any parent that carries the fields, so
+        # accumulated excess blob gas survives a fork transition.
```

`calculate_excess_blob_gas` no longer resets excess blob gas to zero at
a fork block
([specs#3352](ethereum/execution-specs#3352)).
ethrex already behaved that way — `calc_excess_blob_gas` reads the
parent's blob fields unconditionally, with no fork-boundary case — so
this is the spec catching up to clients, and the
`for_bpo2toamsterdamattime15k` transition fixtures pass unchanged.

**How to test**

```
make -C tooling/ef_tests/blockchain test-levm
make -C tooling/ef_tests/engine test
make -C tooling/ef_tests/state run-evm-ef-tests-ci
```

Results on this branch:

| suite | result |
|---|---|
| blockchain | **11752 passed, 0 failed** |
| engine | **11020 passed, 0 failed** |
| state | **64740 passed, 0 failed** (8983 groups, 201792/201792
vectors, none below 100%) |

The coverage this release adds passes as filled, including the new BAL
storage-slot numeric-ordering fixture
([specs#3382](ethereum/execution-specs#3382))
and the un-skipped Amsterdam ported-static create-OOG and
depth-recursion tests
([specs#3320](ethereum/execution-specs#3320),
[specs#3264](ethereum/execution-specs#3264)).

Already live on `glamsterdam-devnet-8` (`59befe28d`).

**Checklist**

- [x] No `Store` schema change, so `STORE_SCHEMA_VERSION` is untouched.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-tests Area: Consensus tests. C-chore Category: chore

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants