




















@@ -3,6 +3,7 @@ import fs from "node:fs/promises";
33import path from "node:path";
44import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
55import type { PluginMetadataSnapshot } from "../plugins/plugin-metadata-snapshot.js";
6+import { captureEnv, setTestEnvValue } from "../test-utils/env.js";
67import { resolveDefaultAgentDir } from "./agent-scope.js";
78import {
89CUSTOM_PROXY_MODELS_CONFIG,
@@ -146,19 +147,15 @@ async function runEnvProviderCase(params: {
146147expectedApiKeyRef: string;
147148}) {
148149// Mutate one env var at a time so auth-gated provider generation stays isolated.
149-const previousValue = process.env[params.envVar];
150-process.env[params.envVar] = params.envValue;
150+const envSnapshot = captureEnv([params.envVar]);
151+setTestEnvValue(params.envVar, params.envValue);
151152try {
152153await ensureOpenClawModelsJson({});
153154154155const provider = (await readGeneratedProviders(resolveDefaultAgentDir({})))[params.providerKey];
155156expect(provider?.apiKey).toBe(params.expectedApiKeyRef);
156157} finally {
157-if (previousValue === undefined) {
158-delete process.env[params.envVar];
159-} else {
160-process.env[params.envVar] = previousValue;
161-}
158+envSnapshot.restore();
162159}
163160}
164161@@ -192,7 +189,7 @@ describe("models-config", () => {
192189193190const agentDir = path.join(home, "agent-empty");
194191// ensureAuthProfileStore merges the main auth store into non-main dirs; point main at our temp dir.
195-process.env.OPENCLAW_AGENT_DIR = agentDir;
192+setTestEnvValue("OPENCLAW_AGENT_DIR", agentDir);
196193197194const result = await ensureOpenClawModelsJson(
198195{
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。