@@ -4,6 +4,7 @@ import { tmpdir } from "node:os";
|
4 | 4 | import path from "node:path"; |
5 | 5 | import { afterEach, describe, expect, it } from "vitest"; |
6 | 6 | import { runNpmVerifyCommand } from "../../scripts/lib/npm-verify-exec.ts"; |
| 7 | +import { withEnv } from "../../src/test-utils/env.js"; |
7 | 8 | |
8 | 9 | const tempDirs: string[] = []; |
9 | 10 | |
@@ -13,27 +14,6 @@ function makeTempRoot(): string {
|
13 | 14 | return root; |
14 | 15 | } |
15 | 16 | |
16 | | -function withProcessEnv<T>(env: Record<string, string>, callback: () => T): T { |
17 | | -const previous = new Map<string, string | undefined>(); |
18 | | -for (const key of Object.keys(env)) { |
19 | | -previous.set(key, process.env[key]); |
20 | | -} |
21 | | -for (const [key, value] of Object.entries(env)) { |
22 | | -process.env[key] = value; |
23 | | -} |
24 | | -try { |
25 | | -return callback(); |
26 | | -} finally { |
27 | | -for (const [key, value] of previous) { |
28 | | -if (value === undefined) { |
29 | | -delete process.env[key]; |
30 | | -} else { |
31 | | -process.env[key] = value; |
32 | | -} |
33 | | -} |
34 | | -} |
35 | | -} |
36 | | - |
37 | 17 | afterEach(() => { |
38 | 18 | for (const dir of tempDirs.splice(0)) { |
39 | 19 | rmSync(dir, { force: true, recursive: true }); |
@@ -91,7 +71,7 @@ describe("npm verifier command execution", () => {
|
91 | 71 | it("rejects malformed command limit environment values", () => { |
92 | 72 | const root = makeTempRoot(); |
93 | 73 | |
94 | | -withProcessEnv({ OPENCLAW_NPM_VERIFY_COMMAND_TIMEOUT_MS: "5m" }, () => { |
| 74 | +withEnv({ OPENCLAW_NPM_VERIFY_COMMAND_TIMEOUT_MS: "5m" }, () => { |
95 | 75 | expect(() => |
96 | 76 | runNpmVerifyCommand( |
97 | 77 | { command: process.execPath, args: ["-e", "process.stdout.write('ok')"] }, |
@@ -100,7 +80,7 @@ describe("npm verifier command execution", () => {
|
100 | 80 | ).toThrow("invalid OPENCLAW_NPM_VERIFY_COMMAND_TIMEOUT_MS: 5m"); |
101 | 81 | }); |
102 | 82 | |
103 | | -withProcessEnv({ OPENCLAW_NPM_VERIFY_COMMAND_MAX_BUFFER_BYTES: "16mb" }, () => { |
| 83 | +withEnv({ OPENCLAW_NPM_VERIFY_COMMAND_MAX_BUFFER_BYTES: "16mb" }, () => { |
104 | 84 | expect(() => |
105 | 85 | runNpmVerifyCommand( |
106 | 86 | { command: process.execPath, args: ["-e", "process.stdout.write('ok')"] }, |
|