mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 07:20:45 +00:00
Tests: cover shared embedded run runtime state
This commit is contained in:
@@ -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();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user