refactor(test): dedupe plugin env overrides via env helpers

This commit is contained in:
Peter Steinberger
2026-02-21 13:03:29 +00:00
parent f48698a50b
commit 7a27e2648a
2 changed files with 12 additions and 28 deletions

View File

@@ -3,6 +3,7 @@ import fs from "node:fs";
import os from "node:os";
import path from "node:path";
import { afterEach, describe, expect, it } from "vitest";
import { withEnvAsync } from "../test-utils/env.js";
import { discoverOpenClawPlugins } from "./discovery.js";
const tempDirs: string[] = [];
@@ -15,24 +16,14 @@ function makeTempDir() {
}
async function withStateDir<T>(stateDir: string, fn: () => Promise<T>) {
const prev = process.env.OPENCLAW_STATE_DIR;
const prevBundled = process.env.OPENCLAW_BUNDLED_PLUGINS_DIR;
process.env.OPENCLAW_STATE_DIR = stateDir;
process.env.OPENCLAW_BUNDLED_PLUGINS_DIR = "/nonexistent/bundled/plugins";
try {
return await fn();
} finally {
if (prev === undefined) {
delete process.env.OPENCLAW_STATE_DIR;
} else {
process.env.OPENCLAW_STATE_DIR = prev;
}
if (prevBundled === undefined) {
delete process.env.OPENCLAW_BUNDLED_PLUGINS_DIR;
} else {
process.env.OPENCLAW_BUNDLED_PLUGINS_DIR = prevBundled;
}
}
return await withEnvAsync(
{
OPENCLAW_STATE_DIR: stateDir,
CLAWDBOT_STATE_DIR: undefined,
OPENCLAW_BUNDLED_PLUGINS_DIR: "/nonexistent/bundled/plugins",
},
fn,
);
}
afterEach(() => {