@@ -18,6 +18,19 @@ const createEmbeddingProviderMock = vi.hoisted(() =>
|
18 | 18 | providerUnavailableReason: "No embeddings provider available.", |
19 | 19 | })), |
20 | 20 | ); |
| 21 | +const originalFtsOnlyStateDir = process.env.OPENCLAW_STATE_DIR; |
| 22 | + |
| 23 | +function setFtsOnlyStateDir(stateDir: string): void { |
| 24 | +Reflect.set(process.env, "OPENCLAW_STATE_DIR", stateDir); |
| 25 | +} |
| 26 | + |
| 27 | +function restoreFtsOnlyStateDir(): void { |
| 28 | +if (originalFtsOnlyStateDir === undefined) { |
| 29 | +Reflect.deleteProperty(process.env, "OPENCLAW_STATE_DIR"); |
| 30 | +} else { |
| 31 | +Reflect.set(process.env, "OPENCLAW_STATE_DIR", originalFtsOnlyStateDir); |
| 32 | +} |
| 33 | +} |
21 | 34 | |
22 | 35 | vi.mock("./embeddings.js", () => ({ |
23 | 36 | createEmbeddingProvider: createEmbeddingProviderMock, |
@@ -44,7 +57,7 @@ describe("memory manager FTS-only reindex", () => {
|
44 | 57 | workspaceDir = path.join(fixtureRoot, `case-${caseId++}`); |
45 | 58 | await fs.mkdir(path.join(workspaceDir, "memory"), { recursive: true }); |
46 | 59 | await fs.writeFile(path.join(workspaceDir, "MEMORY.md"), "Alpha topic\n\nKeep this note."); |
47 | | -vi.stubEnv("OPENCLAW_STATE_DIR", path.join(workspaceDir, "state")); |
| 60 | +setFtsOnlyStateDir(path.join(workspaceDir, "state")); |
48 | 61 | indexPath = resolveOpenClawAgentSqlitePath({ agentId: "main" }); |
49 | 62 | }); |
50 | 63 | |
@@ -54,7 +67,7 @@ describe("memory manager FTS-only reindex", () => {
|
54 | 67 | manager = null; |
55 | 68 | } |
56 | 69 | await closeAllMemorySearchManagers(); |
57 | | -vi.unstubAllEnvs(); |
| 70 | +restoreFtsOnlyStateDir(); |
58 | 71 | }); |
59 | 72 | |
60 | 73 | afterAll(async () => { |
|