@@ -24,6 +24,7 @@ import {
|
24 | 24 | } from "../logging/diagnostic-run-activity.js"; |
25 | 25 | import type { getProcessSupervisor } from "../process/supervisor/index.js"; |
26 | 26 | import type { RunExit } from "../process/supervisor/types.js"; |
| 27 | +import { withEnvAsync } from "../test-utils/env.js"; |
27 | 28 | import { |
28 | 29 | makeBootstrapWarn as realMakeBootstrapWarn, |
29 | 30 | resolveBootstrapContextForRun as realResolveBootstrapContextForRun, |
@@ -272,39 +273,25 @@ async function withTempExecApprovalsFile(
|
272 | 273 | file: Record<string, unknown>, |
273 | 274 | run: () => Promise<void>, |
274 | 275 | ): Promise<void> { |
275 | | -const originalHome = process.env.HOME; |
276 | 276 | const home = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-exec-approvals-")); |
277 | 277 | await fs.mkdir(path.join(home, ".openclaw"), { recursive: true }); |
278 | 278 | await fs.writeFile( |
279 | 279 | path.join(home, ".openclaw", "exec-approvals.json"), |
280 | 280 | `${JSON.stringify(file)}\n`, |
281 | 281 | "utf-8", |
282 | 282 | ); |
283 | | -process.env.HOME = home; |
284 | 283 | try { |
285 | | -await run(); |
| 284 | +await withEnvAsync({ HOME: home }, run); |
286 | 285 | } finally { |
287 | | -if (originalHome === undefined) { |
288 | | -delete process.env.HOME; |
289 | | -} else { |
290 | | -process.env.HOME = originalHome; |
291 | | -} |
292 | 286 | await fs.rm(home, { recursive: true, force: true }); |
293 | 287 | } |
294 | 288 | } |
295 | 289 | |
296 | 290 | async function withTempOpenClawHome(run: (home: string) => Promise<void>): Promise<void> { |
297 | | -const originalOpenClawHome = process.env.OPENCLAW_HOME; |
298 | 291 | const home = await fs.mkdtemp(path.join(os.tmpdir(), "openclaw-cli-home-")); |
299 | | -process.env.OPENCLAW_HOME = home; |
300 | 292 | try { |
301 | | -await run(home); |
| 293 | +await withEnvAsync({ OPENCLAW_HOME: home }, async () => run(home)); |
302 | 294 | } finally { |
303 | | -if (originalOpenClawHome === undefined) { |
304 | | -delete process.env.OPENCLAW_HOME; |
305 | | -} else { |
306 | | -process.env.OPENCLAW_HOME = originalOpenClawHome; |
307 | | -} |
308 | 295 | await fs.rm(home, { recursive: true, force: true }); |
309 | 296 | } |
310 | 297 | } |
|