MCPcopy Create free account
hub / github.com/UsefulSoftwareCo/executor / withIsolatedExecutorDataDir

Function withIsolatedExecutorDataDir

apps/local/src/executor.test.ts:10–34  ·  view source on GitHub ↗
(body: () => Promise<void>)

Source from the content-addressed store, hash-verified

8import { disposeExecutor, getExecutor, reloadExecutor } from "./executor";
9
10const withIsolatedExecutorDataDir = async (body: () => Promise<void>): Promise<void> => {
11 const previousDataDir = process.env.EXECUTOR_DATA_DIR;
12 const previousScopeDir = process.env.EXECUTOR_SCOPE_DIR;
13 const dataDir = mkdtempSync(join(tmpdir(), "executor-reload-race-"));
14
15 process.env.EXECUTOR_DATA_DIR = dataDir;
16 process.env.EXECUTOR_SCOPE_DIR = dataDir;
17
18 try {
19 await body();
20 } finally {
21 await disposeExecutor();
22 if (previousDataDir === undefined) {
23 delete process.env.EXECUTOR_DATA_DIR;
24 } else {
25 process.env.EXECUTOR_DATA_DIR = previousDataDir;
26 }
27 if (previousScopeDir === undefined) {
28 delete process.env.EXECUTOR_SCOPE_DIR;
29 } else {
30 process.env.EXECUTOR_SCOPE_DIR = previousScopeDir;
31 }
32 rmSync(dataDir, { recursive: true, force: true });
33 }
34};
35
36describe("reloadExecutor", () => {
37 it("waits for the previous owned database handle to release before reopening", async () => {

Callers 1

executor.test.tsFile · 0.85

Calls 1

disposeExecutorFunction · 0.90

Tested by

no test coverage detected