import path from "node:path"; import { afterEach, describe, expect, it, vi } from "vitest"; import {
DEFAULT_GATEWAY_PORT,
resolveConfigPathCandidate,
resolveGatewayPort,
resolveIsNixMode,
resolveStateDir,
} from "./config.js"; import { withTempHome } from "./test-helpers.js";
vi.unmock("../version.js");
function envWith(overrides: Record<string, string | undefined>): NodeJS.ProcessEnv { // Hermetic env: don't inherit process.env because other tests may mutate it. return { ...overrides };
}
describe("U3: isNixMode env var detection", () => {
it("isNixMode is false when OPENCLAW_NIX_MODE is not set", () => {
expect(resolveIsNixMode(envWith({ OPENCLAW_NIX_MODE: undefined }))).toBe(false);
});
it("isNixMode is false when OPENCLAW_NIX_MODE is empty", () => {
expect(resolveIsNixMode(envWith({ OPENCLAW_NIX_MODE: "" }))).toBe(false);
});
it("isNixMode is false when OPENCLAW_NIX_MODE is not '1'", () => {
expect(resolveIsNixMode(envWith({ OPENCLAW_NIX_MODE: "true" }))).toBe(false);
});
it("isNixMode is true when OPENCLAW_NIX_MODE=1", () => {
expect(resolveIsNixMode(envWith({ OPENCLAW_NIX_MODE: "1" }))).toBe(true);
});
});
describe("U5: CONFIG_PATH and STATE_DIR env var overrides", () => {
it("STATE_DIR defaults to ~/.openclaw when env not set", () => {
expect(resolveStateDir(envWith({ OPENCLAW_STATE_DIR: undefined }))).toMatch(/\.openclaw$/);
});
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.