






















11// Workspace default tests cover environment-variable precedence for the
22// built-in agent workspace location.
33import path from "node:path";
4-import { afterEach, describe, expect, it, vi } from "vitest";
4+import { describe, expect, it } from "vitest";
5+import { withEnv } from "../test-utils/env.js";
56import { resolveDefaultAgentWorkspaceDir } from "./workspace.js";
677-afterEach(() => {
8-vi.unstubAllEnvs();
9-});
10-118describe("DEFAULT_AGENT_WORKSPACE_DIR", () => {
129it("uses OPENCLAW_HOME when resolving the default workspace dir", () => {
1310const home = path.join(path.sep, "srv", "openclaw-home");
14-vi.stubEnv("OPENCLAW_HOME", home);
15-vi.stubEnv("HOME", path.join(path.sep, "home", "other"));
161117-expect(resolveDefaultAgentWorkspaceDir()).toBe(
18-path.join(path.resolve(home), ".openclaw", "workspace"),
12+const resolved = withEnv(
13+{
14+OPENCLAW_WORKSPACE_DIR: undefined,
15+OPENCLAW_PROFILE: undefined,
16+OPENCLAW_HOME: home,
17+HOME: path.join(path.sep, "home", "other"),
18+},
19+() => resolveDefaultAgentWorkspaceDir(),
1920);
21+22+expect(resolved).toBe(path.join(path.resolve(home), ".openclaw", "workspace"));
2023});
21242225it("uses OPENCLAW_WORKSPACE_DIR before OPENCLAW_HOME", () => {
2326const workspaceDir = path.join(path.sep, "srv", "openclaw-workspace");
24-vi.stubEnv("OPENCLAW_WORKSPACE_DIR", workspaceDir);
25-vi.stubEnv("OPENCLAW_HOME", path.join(path.sep, "srv", "openclaw-home"));
262727-expect(resolveDefaultAgentWorkspaceDir()).toBe(path.resolve(workspaceDir));
28+const resolved = withEnv(
29+{
30+OPENCLAW_WORKSPACE_DIR: workspaceDir,
31+OPENCLAW_HOME: path.join(path.sep, "srv", "openclaw-home"),
32+},
33+() => resolveDefaultAgentWorkspaceDir(),
34+);
35+36+expect(resolved).toBe(path.resolve(workspaceDir));
2837});
2938});
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。