Skip to content

Commit 9c8da69

Browse files
authored
Use Effect timeout in compaction test (#26728)
1 parent a780186 commit 9c8da69

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

packages/opencode/test/session/compaction.test.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { afterEach, describe, expect, mock, test } from "bun:test"
22
import { APICallError } from "ai"
3-
import { Cause, Effect, Exit, Layer, ManagedRuntime } from "effect"
3+
import { Cause, Deferred, Effect, Exit, Layer, ManagedRuntime } from "effect"
44
import * as Stream from "effect/Stream"
55
import z from "zod"
66
import { Bus } from "../../src/bus"
@@ -890,12 +890,12 @@ describe("session.compaction.process", () => {
890890
const session = yield* ssn.create({})
891891
const msg = yield* createUserMessage(session.id, "hello")
892892
const msgs = yield* ssn.messages({ sessionID: session.id })
893-
const done = defer()
893+
const done = yield* Deferred.make<void, Error>()
894894
let seen = false
895895
const unsub = yield* bus.subscribeCallback(SessionCompaction.Event.Compacted, (evt) => {
896896
if (evt.properties.sessionID !== session.id) return
897897
seen = true
898-
done.resolve()
898+
Deferred.doneUnsafe(done, Effect.void)
899899
})
900900
yield* Effect.addFinalizer(() => Effect.sync(unsub))
901901

@@ -906,14 +906,7 @@ describe("session.compaction.process", () => {
906906
auto: false,
907907
})
908908

909-
yield* Effect.promise(() =>
910-
Promise.race([
911-
done.promise,
912-
wait(500).then(() => {
913-
throw new Error("timed out waiting for compacted event")
914-
}),
915-
]),
916-
)
909+
yield* Deferred.await(done).pipe(Effect.timeout("500 millis"))
917910
expect(result).toBe("continue")
918911
expect(seen).toBe(true)
919912
}),

0 commit comments

Comments
 (0)