chore: bring test_go_race back under its 60s budget row (transaction, workspace, gatedrive) (change 0466) - #348
Merged
danielhanold merged 16 commits intoSep 29, 2026
Conversation
Docket-Plan-Path: docs/superpowers/plans/2026-09-28-bring-test-go-race-back-under-its-60s-budget-row-transaction.md
…ion tag (TestIntegrationTxnApply, change 0466)
… integration tag (TestIntegrationTxnRecovery, change 0466)
…(TestRaceIntegrationTxn, change 0466)
…ag (TestIntegrationWorkspaceSetup, TestRaceIntegrationWorkspace, change 0466)
…behind the integration tag (TestIntegrationWorkspaceLifecycle, change 0466)
…ntegration tag (TestIntegrationGatedrive, TestRaceIntegrationGatedrive, change 0466)
…stMain exits (change 0466, repair-1) InstallNoGitGuard is library code and called os.Exit on its setup-failure paths, tripping TestProcessExitSitesAreAllowlisted. It now returns (finisher, error) with the same "<diagnostic>: <cause>" text, removing the shim dir on a post-create failure; the TestMains of internal/app, internal/repository/transaction, and internal/workspace print it and exit 1, so internal/app's diagnostic and exit code are unchanged. TestInstallNoGitGuardReturnsSetupError pins the returned-error contract.
…dgets (change 0466)
…ationale (change 0466, review fix) - BACKSTOP TIMEOUT: attribute the CI projection to change 0465's data and internal/repository/transaction's 48.7s; state internal/cli's 24.0s conditions. - gatedrive's moved corpus is mixed real-process and real-git; the guard was left out by the spec's decision and the budget row is the growth detector (test_go_race.sh, gatedrive shard header, testsupport/nogit.go).
… 22.21s -> 30 (change 0466, review fix)
danielhanold
force-pushed
the
chore/bring-test-go-race-back-under-its-60s-budget-row-transaction
branch
from
September 29, 2026 05:53
0d8cac8 to
726b834
Compare
danielhanold
deleted the
chore/bring-test-go-race-back-under-its-60s-budget-row-transaction
branch
September 29, 2026 05:54
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.
Summary
tests/test_go_race.shmeasured 66–67s against its 60s row, andtests/test_go_toolchain.shmeasured 62–66s (cold cache) against its 55s row. This PR moves the slow real-git and real-process tests ofinternal/repository/transaction,internal/workspaceandinternal/gatedrivebehind//go:build integration, into eight new shard runners. Concurrency tests keep-raceinrace-mode shards. This follows the 0333/0465 partition.internal/testsupport(InstallNoGitGuard) and installs it ininternal/app(same behavior), transaction and workspace.-racetime: transaction went from ~46s to 1.2s, workspace from ~42s to 1.4s, and gatedrive from ~42s to 20.9s.The first build gate went red: the hoisted guard called
os.Exitfrom library code, whichTestProcessExitSitesAreAllowlistedrejects. Repair commit ad71c3b makes the helper return an error, and eachTestMainnow does the exit.Details, measurements and follow-ups are in the results file:
docs/results/2026-09-28-bring-test-go-race-back-under-its-60s-budget-row-transaction-results.md.Review
Reviewer rung:
docket-review-deep. The highest build profile was premium, and the diff is over 1500 lines. Findings: 0 blocker, 0 important, 3 minor.test_go_race.shattributed its CI projection to the wrong change and package, and claimed "same shape" conditionstransaction_racerow was sized from one reading 0.15s below a rounding boundaryFollow-ups (reported, not captured)
InstallNoGitGuardininternal/gatedrive. Its moved corpus is partly real-git, so right now only its budget row would catch a real-git test regrowing in the default corpus.command: go run ./cmd/docket development test
result: green
head_sha: 726b834
ran_at: 2026-09-29T05:53:02Z