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
Gate toolchain e2e suites through one common::toolchain_gate: ten *_E2E_REQUIRED readers disagree on whether =0 and =true mean required #1940
[agent] Filed by the scheduled architecture audit (audit-cli-tests). Register: register comment.
Kind: refactor. Register ID: T50.
Problem
Each toolchain-backed e2e suite skips locally and must fail on its CI leg when SOCKET_PATCH_<TOOL>_E2E_REQUIRED is set. The "is it required" reader is hand-written per suite (15 fn required and 8 fn skip( definitions under crates/socket-patch-cli/tests), and the readers have drifted on what counts as set:
So SOCKET_PATCH_DOCKER_E2E_REQUIRED=true silently lets the docker leg skip, and =0 turns golang/sbt/npm/maven/nuget/deno into hard failures while cargo/uv/bundler treat it as off. The matching skip(suite, why) (assert-not-required, print SKIP, return true) is copied 7× (cargo, uv, maven, sbt_vendor, yarn_classic_vex, npm_e2e, poetry).
Proposed change
Add tests/common/toolchain_gate.rs with required(var) -> bool (one truthiness rule; suggest the cargo one: non-empty and not 0/false) and skip(var, suite, why) -> bool. Point each suite's required()/skip() at it and delete the copies. Keep each suite's env var name.
Size
~12 test files, roughly −150/+40 lines. No product code.
Acceptance criteria
Every CI leg that sets *_REQUIRED=1 today still fails on a missing tool (ci.yml values are all 1).
A unit test in common/toolchain_gate.rs pins "", 0, 1, true, false.
grep -rn "fn required" crates/socket-patch-cli/tests finds only the gate.
[agent] Triage: priority:p3 (test infrastructure only; no production change). No open PR covers it. Not a duplicate: #1889 / PR #1891 share a scoped env guard for tests that mutate env, while this is about how suites readSOCKET_PATCH_<TOOL>_E2E_REQUIRED.
Activity
mikolalysenko commentedon Nov 1, 2026
[agent] Triage: priority:p3 (test infrastructure only; no production change). No open PR covers it. Not a duplicate: #1889 / PR #1891 share a scoped env guard for tests that mutate env, while this is about how suites read
SOCKET_PATCH_<TOOL>_E2E_REQUIRED.Generated by Claude Code