diff --git a/packages/opencode/test/provider/header-timeout.test.ts b/packages/opencode/test/provider/header-timeout.test.ts index 543bb5f30dd..c6493d89270 100644 --- a/packages/opencode/test/provider/header-timeout.test.ts +++ b/packages/opencode/test/provider/header-timeout.test.ts @@ -31,7 +31,7 @@ it.live("headerTimeout does not abort delayed SSE body after headers arrive", () provideTmpdirServer( ({ llm }) => Effect.gen(function* () { - yield* llm.push(reply().wait(Bun.sleep(250)).text("late").stop()) + yield* llm.push(reply().wait(deferredSleep(250)).text("late").stop()) const provider = yield* Provider.Service const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model")) @@ -63,7 +63,7 @@ it.live("chunkTimeout raises a response stream error when SSE body stalls", () = provideTmpdirServer( ({ llm }) => Effect.gen(function* () { - yield* llm.push(reply().wait(Bun.sleep(250)).text("late").stop()) + yield* llm.push(reply().wait(deferredSleep(250)).text("late").stop()) const provider = yield* Provider.Service const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model")) @@ -192,6 +192,12 @@ function providerConfig(url: string, options: Record = {}) { } } +function deferredSleep(ms: number): PromiseLike { + return { + then: (resolve, reject) => Bun.sleep(ms).then(resolve, reject), + } +} + async function delayedHeaderServer(delay: number): Promise<{ server: Server; url: string }> { const server = createServer((_, res) => { setTimeout(() => {