Export tck.RunE2EKit so other kit repos can reuse the real-sandbox e2e layer - #269
Open
jedp-docker wants to merge 2 commits into
Open
Export tck.RunE2EKit so other kit repos can reuse the real-sandbox e2e layer#269jedp-docker wants to merge 2 commits into
jedp-docker wants to merge 2 commits into
Conversation
TestE2EKit's logic lived entirely inside a _test.go file, which Go never compiles into what an importing module gets — so nothing outside this repo could reuse the real-sandbox assertions the way tck.NewSuiteFromDir/RunAll already let importers reuse the container-based TCK layer. Move that logic into an exported tck.RunE2EKit(t, kitPath, E2EOptions) in an ordinary tck/e2e.go, parameterized by an app-name (previously hardcoded to this repo's own "sbx-kits-contrib-tck") so a caller can scope every `sbx` invocation to its own daemon. tck/e2e_test.go's TestE2EKit becomes a thin wrapper — same behavior, same env var contract, verified against a live kit via ./scripts/test-kit.sh. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Signed-off-by: Jed Perkins <jed.perkins@docker.com>
jedp-docker
force-pushed
the
export-run-e2e-kit
branch
from
September 4, 2026 02:58
05c8b09 to
e4bf88a
Compare
jedp-docker
marked this pull request as ready for review
September 4, 2026 03:29
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
TestE2EKit's real-sandbox e2e logic lived entirely insidetck/e2e_test.go, a_test.gofile — Go never compiles those into what an importing module gets, so nothing outside this repo could reuse the real-sandbox assertions the waytck.NewSuiteFromDir/RunAllalready let importers reuse the container-based TCK layer.tck.RunE2EKit(t, kitPath, tck.E2EOptions)in an ordinarytck/e2e.go, parameterized by an app-name (previously hardcoded to this repo's ownsbx-kits-contrib-tck) so a caller can scope everysbxinvocation to its own daemon/credential store.tck/e2e_test.go'sTestE2EKitbecomes a thin wrapper — same behavior, sameKIT_UNDER_TESTenv var contract.README.md's Packages section.sbx-kits-internal) to import this validator wholesale for their own CI instead of duplicating it, so kit validation elsewhere can't drift from this repo's.Test plan
go build ./...andgo build -tags=e2e ./...passgo vet ./...andgo vet -tags=e2e ./...passgo test ./spec/... ./tck/...pass./scripts/test-kit.sh aider) passes end to end, confirming the refactor didn't change behaviore2e-release/e2e-nightlystill pass on a real kit changeKnown CI failures (pre-existing, unrelated to this change)
This PR touches
tck/, which triggersdetect-changes' "run every kit" rule — the first full-repo TCK sweep in a while. Two kits fail, both due to floating external references unrelated to anything in this diff:aidlc-claude— install step doesgit clone --branch v2 ...againstawslabs/aidlc-workflows, which has renamed its active branch tomain. Already fixed in fix(aidlc-claude): track aidlc-workflows main instead of v2 #267 (open); once that merges, this failure should disappear here too.claude-mem— install step (npx -y claude-mem@latest install) now fails non-interactively withprovider-selection failed during non-interactive-validation: A provider must be explicit when stdin is not interactive.This looks like a recent upstreamclaude-mem@latestrelease added a new interactive provider-selection prompt. No fix PR found for this one yet.🤖 Generated with Claude Code