[SharovBot] fix: RunTestMain should skip immediately when ERIGON_SKIP_EXECUTION_TESTS is set#20928
Merged
Merged
Conversation
…_EXECUTION_TESTS is set Both execution/tests and execution/tests/eest_blockchain packages were timing out on the macos-15 CI runner (20m timeout) because the ERIGON_SKIP_EXECUTION_TESTS guard only lived inside TemporalDBWithDirs (called lazily per test). The TestMain-level RunTestMain had no such check, so all the slow state/blockchain spec-test suites would still start and run until the timeout killed them. Add an early os.Exit(0) at the top of RunTestMain when ERIGON_SKIP_EXECUTION_TESTS is set. This makes all 6 execution test packages (execution/tests, eest_blockchain, eest_cancun_blobs, eest_frontier_scenarios, eest_osaka_clz, eest_prague_calldata) exit cleanly and instantly on macOS/Windows CI runners. Fixes CI job: tests / tests-mac-linux (macos-15) Failure: https://github.com/erigontech/erigon/actions/runs/25155380978/job/73735755547 Co-authored-by: Giulio Rebuffo <giulio.rebuffo@gmail.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR prevents long-running execution spec/state test suites from starting on CI runners where they are intentionally disabled, by adding an early ERIGON_SKIP_EXECUTION_TESTS check in the shared RunTestMain helper.
Changes:
- Add an early
os.Exit(0)inRunTestMainwhenERIGON_SKIP_EXECUTION_TESTSis set. - Document the new TestMain-level skip behavior in
testmain.go.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4 tasks
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
yperbasis
approved these changes
May 1, 2026
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.
[SharovBot]
Problem
Both
execution/testsandexecution/tests/eest_blockchainpackages were timing out on themacos-15CI runner (20 minute timeout) because theERIGON_SKIP_EXECUTION_TESTSguard only lived insidetestutil.TemporalDBWithDirs, which is called lazily per test. TheTestMain-levelRunTestMainhad no such check, so all the slow state/blockchain spec-test suites would still start and run until the timeout fired.Failing CI: https://github.com/erigontech/erigon/actions/runs/25155380978/job/73735755547
Error:
Fix
Add an early
os.Exit(0)at the top ofRunTestMainwhenERIGON_SKIP_EXECUTION_TESTSis set. This makes all 6 execution test packages exit cleanly and instantly on macOS/Windows CI runners:execution/testsexecution/tests/eest_blockchainexecution/tests/eest_cancun_blobsexecution/tests/eest_frontier_scenariosexecution/tests/eest_osaka_clzexecution/tests/eest_prague_calldataThe macOS matrix entry already sets
skip_execution_tests: 'true'which maps to the env var — the per-test skip insideTemporalDBWithDirswas just too late; tests were already allocated and running.Testing
go build ./execution/tests/testutil/...✅go vet ./execution/tests/testutil/...✅*_test.gofiles modified