fix(01-10): vitest build-test it() timeout — bump to 30s for slower welcome-page build
The build-completes Tier-1 gate at tests/background/no-test-hooks-in-prod-bundle.test.ts:247 was racing vitest's default 5000ms it() ceiling. Plan 01-10 closure shipped the welcome page (commitsd48a715welcome mark +49f087fwelcome HTML/CSS/JS + 8 WOFF2 fonts) which slowed standalone `npm run build` from ~2.88s to ~5.28s. The exec-level BUILD_TIMEOUT_MS = 60_000 child-process bound was correctly declared at line 240, but the surrounding it() block had no timeout option, so the 5s default fired first and the 60s exec bound was never reachable. Surgical fix: add `, 30_000` 3rd arg to the it() call. 30s is ~6× the observed build duration and well below the 60s exec ceiling, so both bounds remain meaningfully active. SKIP_BUILD=1 env-var escape hatch untouched. Acceptance gates: - `npm test` (FULL, no SKIP_BUILD=1): 150/150 GREEN, exit 0 - `npx tsc --noEmit`: exit 0 - `npm run build`: exit 0 - Tier-1 grep gate: PASS (all 12 FORBIDDEN_HOOK_STRINGS asserted against dist/) Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -244,6 +244,13 @@ async function runProductionBuild(): Promise<void> {
|
||||
}
|
||||
|
||||
describe('production bundle has no test-hook leaks (Tier-1 gate — T-1-11-01)', () => {
|
||||
// Plan 01-10 closure: `npm run build` slowed from ~2.88s → ~5.28s after
|
||||
// the welcome page assets landed (welcome HTML + SVG ?url import + 8 WOFF2
|
||||
// fonts shipped in d48a715 / 49f087f). Vitest's default 5000ms it() ceiling
|
||||
// now races the build child. The EXEC-level `BUILD_TIMEOUT_MS = 60_000`
|
||||
// bound on the child process still applies; this it()-level 30000ms
|
||||
// ceiling is the surrounding-block companion. 30s is generously above the
|
||||
// observed 5.28s + npm overhead and well below the 60s exec bound.
|
||||
it('npm run build completes and dist/ exists with at least one chunk', async () => {
|
||||
if (process.env.SKIP_BUILD !== '1') {
|
||||
await runProductionBuild();
|
||||
@@ -259,7 +266,7 @@ describe('production bundle has no test-hook leaks (Tier-1 gate — T-1-11-01)',
|
||||
`dist/ is empty after npm run build — the build produced no output, which is a different ` +
|
||||
`regression class than a hook leak. Investigate before proceeding to the hook-leak assertion.`,
|
||||
).toBeGreaterThan(0);
|
||||
});
|
||||
}, 30_000);
|
||||
|
||||
for (const needle of FORBIDDEN_HOOK_STRINGS) {
|
||||
it(`production bundle does not contain '${needle}' (T-1-11-01 surface)`, () => {
|
||||
|
||||
Reference in New Issue
Block a user