Repository navigation
docs(testing): document the Go testing tiers (RIG-2908) - #2221
Merged
mattwilkinsonn merged 1 commit intoOct 12, 2026
Conversation
docs/architecture/testing-tiers.md names the default, pgtest and podman e2e tiers, their tags, cost and CI job, and the rule for picking one. It covers the pgtest DSN order, sharedFixture vs plain NewFixture with WithSite and WithEmbeddedPostgres, the shared-stack rules (register from TestMain, route by marker, await every turn, no -count above 1), and the embedded-postgres smoke leg's role. The e2e and pgtest package docs link to it, and the design record ticks T6 with an as-shipped errata note. Co-authored-by: Matt Wilkinson <matt@rigel.build>
Contributor
Author
|
Review at head
|
|
Compass engineering docs preview: https://compass-comms-rig-2908-testi.compass-eng-docs.pages.dev Deployed from Changed pages: |
rigel-mintaka
marked this pull request as ready for review
October 12, 2026 01:52
mattwilkinsonn
added this pull request to stack #2240
October 12, 2026 19:17
mattwilkinsonn
approved these changes
Oct 12, 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.
This PR is part of a stack containing 3 PRs:
mainWhat
T6 of
docs/designs/infra/ci/compass-test-harness-tiers/design.md: one contributor page,docs/architecture/testing-tiers.md. The eng-docs site gathers it under Architecture.The page covers:
pgtestandpodmane2e, with their tags, cost and CI job. It gives the rule for picking one: real SQL means pgtest, process or container topology means e2e, anything else uses the default tier.RequireDSNDSN order, the per-test schema,COMPASS_REQUIRE_LIVEin CI, andRequirePoolerDSN(which needs both DSNs).sharedFixture(t)versus plainNewFixture, as shipped. There is noWithOwnStack; see the T3 errata.TestMain, route each turn by a marker, await every turn, and no-countabove 1, with both causes.WithSiteandWithEmbeddedPostgres.zz_legsix_test.gomust run last.Other changes:
go/e2eandpgtestpackage docs link to the page.pgtest.go's build tag moved to line 1, so its doc comment now attaches to the package; before,go list -f '{{.Doc}}'printed nothing.TestEmbeddedPostgresSmoke's doc comment no longer says every other leg uses the suite Postgres. Own-stack legs run the stack-owned one too; they just never check its teardown.-countnote lives in the page, not infixture.go.Stacked on #2211 (T4).
The page points to
ci.ymlfor exact commands, not tobuild-and-ci.md. That page's CI section is stale; it is tracked in RIG-5280.Verification
ci.ymlin two review rounds.-countclaim was reproduced:-count=2onTestCommsTwoAgentConversationfails on the second pass withalready_exists.rumdl checkon both docs: clean.design-ledger-gate: OK. eng-docs gather tests: 141 pass.go vetwith-tags podmanand-tags pgtest: pass. Taggedgolangci-lint: 0 issues.go list -tags pgtest -f '{{.Doc}}' ./internal/pgtestnow prints the package doc.Spec-impact: none
Ledger-impact: none (ticks T6 with an as-shipped errata; no new decision)
Closes RIG-2908
Refs RIG-2742
Co-authored-by: Matt Wilkinson matt@rigel.build