You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Share the Go e2e harness through golang_e2e_matrix: go(), the file-proxy publisher, Machine/ChmodGuard and the grant mocks are copied across 5 suites #1980
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register.
Kind: refactor. Register ID: T65.
Problem
Every Go suite already includes golang_e2e_matrix/mod.rs for the toolchain gate, yet each one re-writes the rest of the harness. The two suites below are e2e_golang_build.rs (build) and e2e_vendor_golang_build.rs (vendor_build).
go() runner, 4 local copies plus golang_e2e_matrix::go_envs.
workspace_build L77-L93:```` this one pins GOFLAGS="" and removes `GOWORK`, and hosted doesn't.
File-GOPROXY publish + module zip, 5 copies.
build L86 and L344.
hosted_build L147-L178 and workspace_build L135-L166`````` are the same code apart from names.
vendor_build.
stage() and go_env. build L86-L152 and vendor_build L120 differ only in comments.
Machine and ChmodGuard.ChmodGuard + Drop are md5-identical in hosted_build L136 and workspace_build L119-L127. Machine differs only by a machines/ subdirectory. Separately, build and vendor_build keep a non-panic-safe chmod_writable/walkdir instead.
harvest_sums ×2. It has drifted on go_directive() vs a hard-coded go 1.18.
Hosted grant JSON and mount_sumdb ×3. See workspace_build L511-L550``````` and hosted_state L67-L105.```````` goZipDirhashH1 appears in exactly these three files.
Day-2 env.day2_env and day2 are 2 copies.
gopatch path.smod()/socket_module() are 2 copies, and the patch.socket.dev/gopatch/ literal appears in 6 files.
one go(cmd_dir, env) that always pins GOFLAGS and removes GOWORK unless the caller sets them;
day2_env;
mount_go_grant/mount_sumdb;
a SOCKET_GO_MODULE constant.
Then delete the local copies. The workspace go() behavior (pinning GOFLAGS) becomes the default. Check that hosted_build's GOFLAGS=-mod=mod cases still set it explicitly.
Size
6 test files plus golang_e2e_matrix/mod.rs. Roughly −250 lines.
Acceptance criteria
The Go suites (e2e_golang_build, e2e_golang_hosted_build, e2e_golang_hosted_state, e2e_golang_workspace_build, e2e_vendor_golang_build) pass unchanged on the go-compatibility matrix rows, with SOCKET_PATCH_GO_E2E_REQUIRED=1.
[agent] Triaged: priority:p3 (test-only refactor of the Go e2e harness). No open or merged PR addresses it. Related to #1981: if this lands first, the shared go() that always pins GOFLAGS and removes GOWORK covers part of #1981's per-suite Go env leak; #1981's hermetic Extra::Go scrub is still needed for the socket-patch children.
Activity
mikolalysenko commentedon Nov 2, 2026
[agent] Triaged: priority:p3 (test-only refactor of the Go e2e harness). No open or merged PR addresses it. Related to #1981: if this lands first, the shared
go()that always pins GOFLAGS and removes GOWORK covers part of #1981's per-suite Go env leak; #1981's hermeticExtra::Goscrub is still needed for the socket-patch children.Generated by Claude Code