execution/tests: add zkevm execution-witness suite (zkevm@v0.4.0)#21487
Draft
awskii wants to merge 12 commits into
Draft
execution/tests: add zkevm execution-witness suite (zkevm@v0.4.0)#21487awskii wants to merge 12 commits into
awskii wants to merge 12 commits into
Conversation
… queries (Task 8) Full corpus run: 15425 PASS / 7107 FAIL subtests across 356/2871 fixture files. Suite is red by design; failures recorded for human triage, not muted. Runner fix found during the run: invalid-block fixtures (expectException) carry an executionWitness but no canonical blocknumber, so debug_executionWitness can't be queried for them. Capture expectException per block and skip the witness query for rejected blocks (RunWithTester already asserts rejection). This removed 972 false "no parseable block number" failures. Dominant remaining signal: debug_executionWitness returns a strictly smaller witness (state/codes/headers) than EEST's canonical stateless witness across nearly every feature - one-directional shortfall, likely a single root cause in the witness builder. Plus EIP-7702 stateless re-exec rejecting delegated EOA senders. Recorded under Task 8 results for triage.
…ing, add witness parser unit test - tools/test-groups: document the greedy-partition ordering invariant (subset groups must precede broader ones or resolve empty) - execution/tests/testutil: add fixture-independent unit test for the WitnessBlockTest parser accessors (NumBlocks, ExpectedWitnessForBlock, BlockNumberForBlock, BlockExpectsException), covering them when the downloaded corpus is absent - test-all-erigon-race.yml: trim over-verbose cache comment per comment policy
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
DRAFT — CI-gating decision needed before merge.
Adds a strict-gate suite validating
debug_executionWitnessagainstexecution-spec-testszkevm@v0.4.0, via the PR #21002 fixture-manifest machinery. Not.Skip/bt.Fails/SkipLoad/ build-tags.Plan:
docs/plans/completed/20260527-eest-zkevm-witness.md.Corpus run
~2,515 / 2,871 fixture files pass (~88%). ~356 fail. Failure breakdown:
Failures are bidirectional set-membership mismatches in the collected witness, never wrong bytes at matching count. Points at the witness-builder's node/code collection criteria, not serialization. Plus EIP-7702 stateless re-exec rejecting delegated-EOA senders.
Independent of the Amsterdam EIP work in progress elsewhere — would persist after that lands.
Open blocker
As wired, this fails repo-wide CI:
execution-eest-zkevmis intest-all-erigon-race.yml's auto-matrix (requiredrace-testsgate). Fixtures download → ~7k real failures fail the gate.test-all-erigon.ymlrunsgo test ./...without fixtures →t.Fatalf→ fails the requiredtestsgate and localmake test-short.Resolutions (human decision; agent can't pick without violating the no-mute rule):
go test ./..., file a tracking issue for the witness-builder finding;