diff --git a/packages/coding-agent/test/cli/completions.test.ts b/packages/coding-agent/test/cli/completions.test.ts index 3dd8dd9a6..634276086 100644 --- a/packages/coding-agent/test/cli/completions.test.ts +++ b/packages/coding-agent/test/cli/completions.test.ts @@ -224,5 +224,8 @@ describe("omp completions (integration / drift)", () => { // Hidden/default commands must NOT surface as completable subcommands. expect(stdout).not.toContain("_omp_cmd_launch"); expect(stdout).not.toContain("_omp_cmd___complete"); - }); + // Spawns the whole CLI entry graph, so the wall time is cold-transpile bound + // (~1s warm) rather than an assertion about latency. Bun's 5s default starves + // it when CI runs several test chunks in parallel on a shared runner. + }, 30_000); }); diff --git a/packages/coding-agent/test/eval/process-entry-import.test.ts b/packages/coding-agent/test/eval/process-entry-import.test.ts index cb322d593..d6bb57961 100644 --- a/packages/coding-agent/test/eval/process-entry-import.test.ts +++ b/packages/coding-agent/test/eval/process-entry-import.test.ts @@ -60,7 +60,9 @@ it("starts ordinary CLI paths without loading the native computer addon", async const [exitCode, stderr] = await Promise.all([proc.exited, new Response(proc.stderr).text()]); expect(exitCode, `${args.at(-1)}: ${stderr}`).toBe(0); } -}); + // Two cold CLI spawns (`--version`, `--help`) per run; the assertion is the exit + // code, not the wall time. +}, 30_000); it("dispatches the computer worker through the CLI host selector in a child process", async () => { const fixture = path.resolve(import.meta.dir, "../fixtures/computer-worker-cli-selector.ts"); @@ -134,4 +136,6 @@ it("keeps non-computer selectors isolated in a compiled single-entry worker host ]); expect(exitCode, stderr).toBe(0); expect(stdout).toBe('{"ok":true,"kind":"pong"}\n'); -}); + // Compiles a standalone binary with `bun build --compile` before running it, so + // this needs the same headroom as the other compile-backed tests. +}, 60_000); diff --git a/packages/coding-agent/test/profile-cli.test.ts b/packages/coding-agent/test/profile-cli.test.ts index 64c3f7aea..05b916ab8 100644 --- a/packages/coding-agent/test/profile-cli.test.ts +++ b/packages/coding-agent/test/profile-cli.test.ts @@ -270,7 +270,9 @@ describe("global --profile flag", () => { } finally { await removeWithRetries(root); } - }); + // Spawns a probe that imports the command modules, so the cost is cold + // transpile of the CLI graph, not latency under test. + }, 30_000); it("surfaces an invalid OMP_PROFILE env as a clean error, not an import crash", async () => { const root = await fs.mkdtemp(path.join(os.tmpdir(), "omp-profile-cli-env-bad-")); @@ -319,5 +321,7 @@ describe("global --profile flag", () => { } finally { await removeWithRetries(root); } - }); + // Same cold-spawn cost as the sibling above; it only escapes Bun's 5s + // default because that test warms the transpile cache first. + }, 30_000); });