mirror of
https://github.com/morluto/rea.git
synced 2026-10-12 02:19:24 +00:00
19 lines
830 B
TypeScript
19 lines
830 B
TypeScript
import { TestRunner } from "vitest";
|
|
|
|
import type { ProcessOwnershipHost } from "../src/process/ProcessOwnership.js";
|
|
|
|
/** Retire each isolated graph's native cache when its test worker stops. */
|
|
export default class ProcessOwnershipRunner extends TestRunner {
|
|
readonly #registeredHosts = new WeakSet<ProcessOwnershipHost>();
|
|
|
|
async onBeforeRunFiles(): Promise<void> {
|
|
const { systemProcessOwnershipHost } =
|
|
await import("../src/process/ProcessOwnershipObservation.js");
|
|
if (this.#registeredHosts.has(systemProcessOwnershipHost)) return;
|
|
if (this.onCleanupWorkerContext === undefined)
|
|
throw new Error("The test pool does not support worker resource cleanup");
|
|
this.#registeredHosts.add(systemProcessOwnershipHost);
|
|
this.onCleanupWorkerContext(() => systemProcessOwnershipHost.close?.());
|
|
}
|
|
}
|