import fs from "node:fs/promises"; import path from "node:path"; import { resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk/temp-path"; import { afterAll, beforeAll } from "vitest"; export function createMemoryCoreTestHarness() { let fixtureRoot = ""; let caseId = 0; beforeAll(async () => { fixtureRoot = await fs.mkdtemp( path.join(resolvePreferredOpenClawTmpDir(), "memory-core-test-fixtures-"), ); }); afterAll(async () => { if (!fixtureRoot) { return; } await fs.rm(fixtureRoot, { recursive: true, force: true }); }); async function createTempWorkspace(prefix: string): Promise { const workspaceDir = path.join(fixtureRoot, `${prefix}${caseId++}`); await fs.mkdir(workspaceDir, { recursive: true }); return workspaceDir; } return { createTempWorkspace, }; }