From fba9a094dbbdead5fb80fe91527c680755a2e182 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 11 Aug 2026 02:54:58 -0700 Subject: [PATCH] test(runner): delete duplicate SQLite replay (#121983) Co-authored-by: Amp --- test/non-isolated-runner.test.ts | 86 -------------------------------- test/non-isolated-runner.ts | 14 +----- 2 files changed, 1 insertion(+), 99 deletions(-) diff --git a/test/non-isolated-runner.test.ts b/test/non-isolated-runner.test.ts index 9d4780d74c54..43181e51cde7 100644 --- a/test/non-isolated-runner.test.ts +++ b/test/non-isolated-runner.test.ts @@ -377,89 +377,3 @@ it("clears agent run registry state between files", async () => { await fs.rm(root, { recursive: true, force: true }); } }); - -it("disposes embedded-agent SQLite state before running the next file", async () => { - const root = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-sqlite-lifecycle-runner-")); - const orderLogPath = path.join(root, "order.log"); - const forceClearPath = path.join( - repoRoot, - "src", - "agents", - "embedded-agent-runner", - "runs.force-clear-terminal.test.ts", - ); - const persistencePath = path.join( - repoRoot, - "src", - "agents", - "embedded-agent-runner", - "runs.persistence.test.ts", - ); - try { - const embeddedConfigPath = JSON.stringify( - path.join(repoRoot, "test", "vitest", "vitest.agents-embedded-agent.config.ts"), - ); - await fs.symlink( - path.join(repoRoot, "node_modules"), - path.join(root, "node_modules"), - "junction", - ); - await fs.writeFile( - path.join(root, "vitest.config.ts"), - [ - `import { createAgentsEmbeddedVitestConfig } from ${embeddedConfigPath};`, - 'import { BaseSequencer } from "vitest/node";', - "class AlphabeticalSequencer extends BaseSequencer {", - ' override async sort(files: Parameters[0]) {', - " return [...files].sort((a, b) => a.moduleId.localeCompare(b.moduleId));", - " }", - "}", - "const base = createAgentsEmbeddedVitestConfig();", - "export default {", - " ...base,", - ` cacheDir: ${JSON.stringify(path.join(root, ".vite"))},`, - " test: {", - " ...base.test,", - " exclude: [],", - " isolate: false,", - " fileParallelism: false,", - " maxWorkers: 1,", - " sequence: { ...base.test?.sequence, sequencer: AlphabeticalSequencer },", - " },", - "};", - "", - ].join("\n"), - "utf8", - ); - - const vitestEntry = path.join(repoRoot, "node_modules", "vitest", "vitest.mjs"); - const result = await execFileAsync( - process.execPath, - [ - vitestEntry, - "run", - "src/agents/embedded-agent-runner/runs.force-clear-terminal.test.ts", - "src/agents/embedded-agent-runner/runs.persistence.test.ts", - "--config", - path.join(root, "vitest.config.ts"), - ], - { - cwd: repoRoot, - env: { ...childEnv(), OPENCLAW_VITEST_FILE_ORDER_LOG: orderLogPath }, - maxBuffer: 16 * 1024 * 1024, - }, - ); - expect(`${result.stdout}\n${result.stderr}`).toMatch(/Test Files\s+2 passed \(2\)/u); - await expect(fs.readFile(orderLogPath, "utf8")).resolves.toBe( - [ - `START ${forceClearPath}`, - `END ${forceClearPath}`, - `START ${persistencePath}`, - `END ${persistencePath}`, - "", - ].join("\n"), - ); - } finally { - await fs.rm(root, { recursive: true, force: true }); - } -}); diff --git a/test/non-isolated-runner.ts b/test/non-isolated-runner.ts index 3e0a9cf44e05..0c447cb46fab 100644 --- a/test/non-isolated-runner.ts +++ b/test/non-isolated-runner.ts @@ -1,5 +1,4 @@ // Non-isolated runner helps execute tests without Vitest isolation. -import fs from "node:fs"; import path from "node:path"; import { TestRunner, type RunnerTask, type RunnerTestFile, vi } from "vitest"; import { resetAgentEventsForTest } from "../src/infra/agent-events.js"; @@ -327,10 +326,6 @@ export default class OpenClawNonIsolatedRunner extends TestRunner { restoreRealTimers(); restoreNativeTimerGlobals(); restoreSharedTestHomeAfterEnvUnstub(getSharedTestHome()); - const orderLogPath = process.env.OPENCLAW_VITEST_FILE_ORDER_LOG?.trim(); - if (orderLogPath) { - fs.appendFileSync(orderLogPath, `START ${file.filepath}\n`); - } } override async onBeforeRunTask(test: RunnerTask) { @@ -352,19 +347,12 @@ export default class OpenClawNonIsolatedRunner extends TestRunner { // the next file's vi.mock factories silently never applied. The worker loop // calls startTests per file, so this hook runs after every file regardless // of its collect/run outcome. - override onAfterRunFiles(files?: RunnerTestFile[]) { + override onAfterRunFiles() { super.onAfterRunFiles(); if (this.config.isolate) { return; } - const orderLogPath = process.env.OPENCLAW_VITEST_FILE_ORDER_LOG?.trim(); - if (orderLogPath) { - for (const file of files ?? []) { - fs.appendFileSync(orderLogPath, `END ${file.filepath}\n`); - } - } - // Mirror the missing cleanup from Vitest isolate mode so shared workers do // not carry file-scoped timers, stubs, spies, or stale module state // forward into the next file.