import os from "node:os";import { defineConfig } from "vitest/config";import baseConfig from "./vitest.config.ts";const base = baseConfig as unknown as Record<string, unknown>;const isCI = process.env.CI === "true" || process.env.GITHUB_ACTIONS === "true";const cpuCount = os.cpus().length;// Keep e2e runs deterministic and cheap by default; callers can still override via OPENCLAW_E2E_WORKERS.const defaultWorkers = isCI ? Math.min(2, Math.max(1, Math.floor(cpuCount * 0.25))) : 1;const requestedWorkers = Number.parseInt(process.env.OPENCLAW_E2E_WORKERS ?? "", 10);const e2eWorkers =Number.isFinite(requestedWorkers) && requestedWorkers > 0? Math.min(16, requestedWorkers): defaultWorkers;const verboseE2E = process.env.OPENCLAW_E2E_VERBOSE === "1";const baseTest = (baseConfig as { test?: { exclude?: string[] } }).test ?? {};const exclude = (baseTest.exclude ?? []).filter((p) => p !== "**/*.e2e.test.ts");export default defineConfig({...base,test: {...baseTest,// vmForks reuses VM contexts in ways that can leak module state/mocks across// files for our e2e harnesses. Use process forks for deterministic isolation.pool: "forks",maxWorkers: e2eWorkers,silent: !verboseE2E,include: ["test/**/*.e2e.test.ts", "src/**/*.e2e.test.ts"],exclude,},});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。