
























@@ -10,33 +10,28 @@ import {
1010import type { SessionEntry } from "../config/sessions/types.js";
1111import * as jsonFiles from "../infra/json-files.js";
1212import { resolvePreferredOpenClawTmpDir } from "../infra/tmp-openclaw-dir.js";
13+import { captureEnv, setTestEnvValue } from "../test-utils/env.js";
1314import { runPluginHostCleanup } from "./host-hook-cleanup.js";
1415import { createEmptyPluginRegistry } from "./registry-empty.js";
15161617describe("plugin host cleanup session stores", () => {
1718let stateDir: string | undefined;
18-let previousStateDir: string | undefined;
19+const envSnapshot = captureEnv(["OPENCLAW_STATE_DIR"]);
19202021afterEach(async () => {
2122clearSessionStoreCacheForTest();
22-if (previousStateDir === undefined) {
23-delete process.env.OPENCLAW_STATE_DIR;
24-} else {
25-process.env.OPENCLAW_STATE_DIR = previousStateDir;
26-}
23+envSnapshot.restore();
2724if (stateDir) {
2825await fs.rm(stateDir, { recursive: true, force: true });
2926}
3027stateDir = undefined;
31-previousStateDir = undefined;
3228});
33293430it("does not rewrite session stores when cleanup scans find no plugin-owned state", async () => {
3531stateDir = await fs.mkdtemp(
3632path.join(resolvePreferredOpenClawTmpDir(), "openclaw-host-cleanup-noop-"),
3733);
38-previousStateDir = process.env.OPENCLAW_STATE_DIR;
39-process.env.OPENCLAW_STATE_DIR = stateDir;
34+setTestEnvValue("OPENCLAW_STATE_DIR", stateDir);
4035const storePath = path.join(stateDir, "sessions.json");
4136await saveSessionStore(
4237storePath,
@@ -65,8 +60,7 @@ describe("plugin host cleanup session stores", () => {
6560stateDir = await fs.mkdtemp(
6661path.join(resolvePreferredOpenClawTmpDir(), "openclaw-host-cleanup-deferred-"),
6762);
68-previousStateDir = process.env.OPENCLAW_STATE_DIR;
69-process.env.OPENCLAW_STATE_DIR = stateDir;
63+setTestEnvValue("OPENCLAW_STATE_DIR", stateDir);
7064const storePath = path.join(stateDir, "sessions.json");
7165await saveSessionStore(
7266storePath,
@@ -106,8 +100,7 @@ describe("plugin host cleanup session stores", () => {
106100stateDir = await fs.mkdtemp(
107101path.join(resolvePreferredOpenClawTmpDir(), "openclaw-host-cleanup-multistore-"),
108102);
109-previousStateDir = process.env.OPENCLAW_STATE_DIR;
110-process.env.OPENCLAW_STATE_DIR = stateDir;
103+setTestEnvValue("OPENCLAW_STATE_DIR", stateDir);
111104const firstStorePath = path.join(stateDir, "agent-a", "sessions.json");
112105const secondStorePath = path.join(stateDir, "agent-b", "sessions.json");
113106const beforeUpdatedAt = 100;
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。