From afe74b10fcf9a5a4cb35fd2001f6bb979cc86cc1 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Wed, 29 Jul 2026 22:05:31 +0800 Subject: [PATCH] test(codex): drive plugin discovery deadline deterministically (#115927) --- extensions/codex/src/app-server/attempt-startup.test.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/extensions/codex/src/app-server/attempt-startup.test.ts b/extensions/codex/src/app-server/attempt-startup.test.ts index 9f7334ee1329..3fd434c01aec 100644 --- a/extensions/codex/src/app-server/attempt-startup.test.ts +++ b/extensions/codex/src/app-server/attempt-startup.test.ts @@ -766,6 +766,7 @@ describe("startCodexAttemptThread", () => { }); it("continues with a deny-all apps patch when plugin discovery exceeds its shared deadline", async () => { + vi.useFakeTimers(); const deadlinePluginConfig = { appServer: { command: "codex", requestTimeoutMs: 400 }, codexPlugins: { @@ -782,11 +783,8 @@ describe("startCodexAttemptThread", () => { pluginConfig: deadlinePluginConfig, }); await answerInitialize(harness); - // Discovery requests (plugin/installed, and plugin/list only when the - // missing-plugin catalog fetch wins the race against the shared deadline) - // are deliberately left unanswered; the contract under test is that the - // thread still starts, carrying the deny-all apps patch. await waitForRequest(harness, "plugin/installed"); + await vi.advanceTimersByTimeAsync(100); const threadStart = await waitForThreadStart(harness); const startMessage = readHarnessMessages(harness.writes).find(