Files
boss/local-agent/serialized-runner-timeout.test.mjs
2026-06-08 12:22:50 +08:00

20 lines
561 B
JavaScript

import test from "node:test";
import assert from "node:assert/strict";
import { createSerializedRunner } from "./serialized-runner.mjs";
test("serialized runner releases active task after timeout", async () => {
let calls = 0;
const runner = createSerializedRunner(
() =>
new Promise(() => {
calls += 1;
}),
{ timeoutMs: 10, timeoutErrorMessage: "HEARTBEAT_TIMEOUT" },
);
await assert.rejects(() => runner(), /HEARTBEAT_TIMEOUT/);
await assert.rejects(() => runner(), /HEARTBEAT_TIMEOUT/);
assert.equal(calls, 2);
});