Skip to content

tests@v20.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 15 Jul 14:58
87aba1a

Patch BPO2 mainnet fixture release for tests@v20.0.0. This is a patch (Z) release under the tests@vX.Y.Z scheme: There are no consensus-impacting changes; this release covers test additions and other fixture modifications.

Highlights

  • feat(test-fill): pack Engine X pre-alloc groups by @danceratopz in #3122

    This removes 2179 pre-alloc groups from the blockchain_test_engine_x fixtures (from 5458 to 3279). The eels/consume-enginex simulator boots one execution client per pre-alloc group and reuses it across the group's tests, so the group count is the main driver of simulator runtime: this is roughly 40% fewer client boots per run. Boot-to-ready times below are measured from the client logs of a consume-engine run (one client per test), which set the per-group cost that is saved:

    Client Boot to ready Removed per run (x 2,179) At --sim.parallelism=4
    besu ~6.7 s ~4.0 h ~1.0 h
    erigon ~0.45 s ~16 min ~4 min
    ethrex ~0.08 s ~3 min ~45 s
    geth ~0.43 s ~15 min ~4 min
    nethermind ~3 s ~1.8 h ~27 min
    nimbus-el ~2.8 s ~1.7 h ~25 min
    reth ~0.83 s ~30 min ~8 min

    Boot times exclude Docker container start and stop overhead.

New Tests

  • feat(tests): access-list slot warmth survives a failed CREATE2 by @chfast in #3086

  • fix(tests): test tx max nonce at u64 boundary, add nonce overflow test by @spencer-tb in #3165

    Adds transaction nonce validation coverage from Frontier onwards: rejection at the U64.MAX_VALUE boundary and rejection of nonce overflow.

  • feat(tests): restore sstore_combinations as a hand-written test by @chfast in #3154

    Restores sstore_combinations as a hand-written Istanbul test (EIP-2200) after it was deleted accidentally by the ported-static regeneration sweep. Twelve orphaned ported_static filler stubs are removed and the matrix is reduced from 5187 to 774 cases per fork, with each reduction step trace-verified to keep the same SSTORE coverage.

Changed and Fixed Tests

  • chore(specs): reorder tx validity checks by @SamWilsn in #3036

    Reorders the transaction validity checks across the mainnet-fork specs (order only, no change to any state-transition result), and updates test_tx_nonce to emit state-test fixtures instead of blockchain-test fixtures.

Fixture Format Changes

  • feat(test-fill): pack Engine X pre-alloc groups by @danceratopz in #3122

  • fix(test-fixtures): emit chainId in state test fixture transaction by @spencer-tb in #3125

    State-test fixtures now emit chainId in the transaction, so client state-test consumers should expect the field on every state test.