test(opencode): defer provider timeout stalls
This commit is contained in:
parent
65596c85ea
commit
654cbc1502
1 changed files with 8 additions and 2 deletions
|
|
@ -31,7 +31,7 @@ it.live("headerTimeout does not abort delayed SSE body after headers arrive", ()
|
||||||
provideTmpdirServer(
|
provideTmpdirServer(
|
||||||
({ llm }) =>
|
({ llm }) =>
|
||||||
Effect.gen(function* () {
|
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 provider = yield* Provider.Service
|
||||||
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
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(
|
provideTmpdirServer(
|
||||||
({ llm }) =>
|
({ llm }) =>
|
||||||
Effect.gen(function* () {
|
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 provider = yield* Provider.Service
|
||||||
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
const model = yield* provider.getModel(ProviderID.make("test"), ModelID.make("test-model"))
|
||||||
|
|
@ -192,6 +192,12 @@ function providerConfig(url: string, options: Record<string, unknown> = {}) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deferredSleep(ms: number): PromiseLike<void> {
|
||||||
|
return {
|
||||||
|
then: (resolve, reject) => Bun.sleep(ms).then(resolve, reject),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function delayedHeaderServer(delay: number): Promise<{ server: Server; url: string }> {
|
async function delayedHeaderServer(delay: number): Promise<{ server: Server; url: string }> {
|
||||||
const server = createServer((_, res) => {
|
const server = createServer((_, res) => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue