Forked from OpenCode v1.17.4 with multi-agent system: - 5 agents: aircoding, scheduler, worker, architect, reviewer - Deterministic DAG scheduling engine (coordinator_tick) - Tool whitelists as hard enforcement - AirCoding validation plugin - System prompt injection for routing - V1 requirements: C4 docs, ADR, AGENTS.md, debug-log.md - Design documents in docs/
22 lines
702 B
TypeScript
22 lines
702 B
TypeScript
import { describe, expect, test } from "bun:test"
|
|
import { withTimeout } from "../../src/util/timeout"
|
|
|
|
describe("util.timeout", () => {
|
|
test("should resolve when promise completes before timeout", async () => {
|
|
const fastPromise = new Promise<string>((resolve) => {
|
|
setTimeout(() => resolve("fast"), 10)
|
|
})
|
|
|
|
const result = await withTimeout(fastPromise, 100)
|
|
expect(result).toBe("fast")
|
|
})
|
|
|
|
test("should reject when promise exceeds timeout", async () => {
|
|
const slowPromise = new Promise<string>((resolve) => {
|
|
setTimeout(() => resolve("slow"), 200)
|
|
})
|
|
|
|
await expect(withTimeout(slowPromise, 50)).rejects.toThrow("Operation timed out after 50ms")
|
|
})
|
|
})
|