From 15d1144fea438c7262e264208552480b89f44816 Mon Sep 17 00:00:00 2001 From: Garry Tan Date: Fri, 14 Aug 2026 13:27:23 -0700 Subject: [PATCH] test: wire ios-qa/daemon/test into the free suite and shard runner (E2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The daemon's 5 test files (allowlist, audit, auth-mint, cli-mint, daemon-integration — now 6 with session hardening) were invisible to every runner: not in the bun test glob, not in TEST_ROOTS. The same silent-coverage-hole class as the tracked design/test P2 — and it meant B2's auth regression tests would never have gated. All files are hermetic (stub state-servers on ephemeral ports, no devices); verified green in the shard census. Co-Authored-By: Claude Fable 5 --- package.json | 2 +- scripts/test-free-shards.ts | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index bbffcc3b1..be9b9ab79 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "gen:skill-docs:user": "bun run scripts/gen-skill-docs.ts --respect-detection", "dev": "bun run browse/src/cli.ts", "server": "bun run browse/src/server.ts", - "test": "bun test browse/test/ test/ make-pdf/test/ --ignore 'test/skill-e2e-*.test.ts' --ignore test/skill-llm-eval.test.ts --ignore test/skill-routing-e2e.test.ts --ignore test/codex-e2e.test.ts --ignore test/gemini-e2e.test.ts && (bun run slop:diff 2>/dev/null || true)", + "test": "bun test browse/test/ test/ make-pdf/test/ ios-qa/daemon/test/ --ignore 'test/skill-e2e-*.test.ts' --ignore test/skill-llm-eval.test.ts --ignore test/skill-routing-e2e.test.ts --ignore test/codex-e2e.test.ts --ignore test/gemini-e2e.test.ts && (bun run slop:diff 2>/dev/null || true)", "test:free": "bun run scripts/test-free-shards.ts", "test:windows": "bun run scripts/test-free-shards.ts --windows-only", "test:evals": "EVALS=1 bun test --retry 2 --concurrent --max-concurrency ${EVALS_CONCURRENCY:-15} test/skill-llm-eval.test.ts test/skill-e2e-*.test.ts test/skill-routing-e2e.test.ts test/codex-e2e.test.ts test/gemini-e2e.test.ts", diff --git a/scripts/test-free-shards.ts b/scripts/test-free-shards.ts index 8bf98c066..3fca180fe 100755 --- a/scripts/test-free-shards.ts +++ b/scripts/test-free-shards.ts @@ -30,7 +30,10 @@ import { spawnSync } from 'child_process'; import { isPaidTestFile } from '../test/helpers/paid-test-set'; const ROOT = path.resolve(import.meta.dir, '..'); -const TEST_ROOTS = ['browse/test', 'test', 'make-pdf/test'] as const; +// ios-qa/daemon/test joined in fork port wave 2 (E2): its 5 files were +// invisible to every runner — the exact design/test-class hole TODOS tracks. +// All are hermetic (stub state-servers on ephemeral ports, no devices). +const TEST_ROOTS = ['browse/test', 'test', 'make-pdf/test', 'ios-qa/daemon/test'] as const; const TEST_FILE_REGEX = /\.test\.(?:[cm]?[jt]s|tsx|jsx)$/; // POSIX-only patterns that indicate a test will fail on windows-latest no