Skip to content

feat(spec-tests): validate transaction test fixtures against EELS - #3494

Open
danceratopz wants to merge 2 commits into
experiments/resolve-implicit-tx-test-gas-limitsfrom
experiments/run-tx-tests-against-eels
Open

feat(spec-tests): validate transaction test fixtures against EELS#3494
danceratopz wants to merge 2 commits into
experiments/resolve-implicit-tx-test-gas-limitsfrom
experiments/run-tx-tests-against-eels

Conversation

@danceratopz

@danceratopz danceratopz commented Sep 1, 2026

Copy link
Copy Markdown
Member

Description

Transaction test fixtures were generated but not exercised by the repository's JSON loader. That left their raw transaction bytes and expected results unchecked against EELS.

This PR adds a fork-aware adapter that decodes each raw transaction and uses EELS to validate its chain ID, signature, and state-independent transaction rules. It compares the resulting exception, transaction hash, sender, and intrinsic gas with the fixture. The JSON loader now discovers transaction fixtures from both checked-in files and filler output.

The adapter uses the common validate_transaction(transaction) interface introduced by the first PR in this stack. It does not duplicate fork validation rules.

Stack

This is the final PR in a three-PR stack:

  1. feat(spec-specs): expose state-independent transaction validation #3492 — Expose state-independent transaction validation.
  2. feat(test-fixtures): resolve implicit transaction test gas limits #3493 — Resolve implicit transaction test gas limits.
  3. feat(spec-tests): validate transaction test fixtures against EELS #3494 — Validate transaction test fixtures with EELS (this PR).

Related Issues or PRs

Follows #3156, which added the transaction tests and fixtures this loader validates.

Testing

  • Added focused coverage for valid and invalid fixtures across supported forks.
  • Verified fixture discovery from JSON loader inputs and filler output.
  • just static at each commit boundary.
  • just test-tests at each commit boundary.

Checklist

  • Ran fast static checks to avoid CI fails, see Code Standards and Verifying Changes: just static
  • PR title has the form <type>(<area>): <title>, where <type> and <area> match the applied labels.

Cute Animal Picture

A cat

@danceratopz danceratopz added C-feat Category: an improvement or new feature A-test-fill Area: execution_testing.cli.pytest_commands.plugins.filler A-test-consume Area: execution_testing.cli.pytest_commands.plugins.consume labels Sep 1, 2026
@codecov

codecov Bot commented Sep 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.01%. Comparing base (73023cf) to head (0a64bab).

Additional details and impacted files
@@                                 Coverage Diff                                 @@
##           experiments/resolve-implicit-tx-test-gas-limits    #3494      +/-   ##
===================================================================================
+ Coverage                                            93.90%   94.01%   +0.10%     
===================================================================================
  Files                                                  624      624              
  Lines                                                36938    36938              
  Branches                                              3330     3330              
===================================================================================
+ Hits                                                 34688    34728      +40     
+ Misses                                                1569     1534      -35     
+ Partials                                               681      676       -5     
Flag Coverage Δ
unittests 94.01% <ø> (+0.10%) ⬆️

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.

@danceratopz
danceratopz force-pushed the experiments/run-tx-tests-against-eels branch from ccb2700 to 0be0446 Compare September 1, 2026 16:36
@danceratopz
danceratopz force-pushed the experiments/run-tx-tests-against-eels branch from 0be0446 to 479d68b Compare September 1, 2026 16:45
@danceratopz
danceratopz marked this pull request as draft September 1, 2026 16:48
@danceratopz
danceratopz force-pushed the experiments/run-tx-tests-against-eels branch 2 times, most recently from 8dcab7a to 3e80348 Compare September 1, 2026 19:05
@danceratopz
danceratopz force-pushed the experiments/run-tx-tests-against-eels branch from 3e80348 to 0a64bab Compare September 1, 2026 19:37
@danceratopz
danceratopz marked this pull request as ready for review September 1, 2026 19:37
@danceratopz danceratopz added A-spec-tests Area: tests for specifications e.g. json_infra and removed A-test-fill Area: execution_testing.cli.pytest_commands.plugins.filler A-test-consume Area: execution_testing.cli.pytest_commands.plugins.consume labels Sep 1, 2026
@danceratopz danceratopz changed the title feat(test-consume): validate transaction test fixtures with EELS feat(spec-tests): validate transaction test fixtures against EELS Sep 1, 2026
@gurukamath gurukamath self-assigned this Sep 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-spec-tests Area: tests for specifications e.g. json_infra C-feat Category: an improvement or new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants