Tests: cover shared embedded run runtime state

This commit is contained in:
Vincent Koc
2026-03-11 19:50:27 -04:00
parent c7ffea6373
commit 9ef77362ee

View File

@@ -1,4 +1,5 @@
import { afterEach, describe, expect, it, vi } from "vitest";
import { importFreshModule } from "../../../test/helpers/import-fresh.js";
import {
__testing,
abortEmbeddedPiRun,
@@ -105,4 +106,35 @@ describe("pi-embedded runner run registry", () => {
vi.useRealTimers();
}
});
it("shares active run state across distinct module instances", async () => {
const runsA = await importFreshModule<typeof import("./runs.js")>(
import.meta.url,
"./runs.js?scope=shared-a",
);
const runsB = await importFreshModule<typeof import("./runs.js")>(
import.meta.url,
"./runs.js?scope=shared-b",
);
const handle = {
queueMessage: async () => {},
isStreaming: () => true,
isCompacting: () => false,
abort: vi.fn(),
};
runsA.__testing.resetActiveEmbeddedRuns();
runsB.__testing.resetActiveEmbeddedRuns();
try {
runsA.setActiveEmbeddedRun("session-shared", handle);
expect(runsB.isEmbeddedPiRunActive("session-shared")).toBe(true);
runsB.clearActiveEmbeddedRun("session-shared", handle);
expect(runsA.isEmbeddedPiRunActive("session-shared")).toBe(false);
} finally {
runsA.__testing.resetActiveEmbeddedRuns();
runsB.__testing.resetActiveEmbeddedRuns();
}
});
});