mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-12 09:41:11 +00:00
test: move Vitest configs under test
This commit is contained in:
@@ -27,7 +27,7 @@ COPY --chown=appuser:appuser scripts/postinstall-bundled-plugins.mjs scripts/npm
|
||||
RUN --mount=type=cache,id=openclaw-pnpm-store,target=/home/appuser/.local/share/pnpm/store,sharing=locked \
|
||||
pnpm install --frozen-lockfile
|
||||
|
||||
COPY --chown=appuser:appuser tsconfig.json tsconfig.plugin-sdk.dts.json tsdown.config.ts vitest.config.ts vitest.e2e.config.ts vitest.performance-config.ts vitest.shared.config.ts vitest.system-load.ts vitest.bundled-plugin-paths.ts openclaw.mjs ./
|
||||
COPY --chown=appuser:appuser tsconfig.json tsconfig.plugin-sdk.dts.json tsdown.config.ts vitest.config.ts openclaw.mjs ./
|
||||
COPY --chown=appuser:appuser src ./src
|
||||
COPY --chown=appuser:appuser test ./test
|
||||
COPY --chown=appuser:appuser scripts ./scripts
|
||||
|
||||
@@ -981,7 +981,7 @@ console.log("ok");
|
||||
NODE
|
||||
|
||||
echo "Running bundle MCP CLI-agent e2e..."
|
||||
pnpm exec vitest run --config vitest.e2e.config.ts src/agents/cli-runner.bundle-mcp.e2e.test.ts
|
||||
pnpm exec vitest run --config test/vitest/vitest.e2e.config.ts src/agents/cli-runner.bundle-mcp.e2e.test.ts
|
||||
EOF
|
||||
then
|
||||
cat "$RUN_LOG"
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
import fs from "node:fs";
|
||||
import path from "node:path";
|
||||
import { channelTestRoots } from "../../vitest.channel-paths.mjs";
|
||||
import { isAcpxExtensionRoot } from "../../vitest.extension-acpx-paths.mjs";
|
||||
import { isBlueBubblesExtensionRoot } from "../../vitest.extension-bluebubbles-paths.mjs";
|
||||
import { isDiffsExtensionRoot } from "../../vitest.extension-diffs-paths.mjs";
|
||||
import { isFeishuExtensionRoot } from "../../vitest.extension-feishu-paths.mjs";
|
||||
import { isIrcExtensionRoot } from "../../vitest.extension-irc-paths.mjs";
|
||||
import { isMatrixExtensionRoot } from "../../vitest.extension-matrix-paths.mjs";
|
||||
import { isMattermostExtensionRoot } from "../../vitest.extension-mattermost-paths.mjs";
|
||||
import { isMemoryExtensionRoot } from "../../vitest.extension-memory-paths.mjs";
|
||||
import { isMessagingExtensionRoot } from "../../vitest.extension-messaging-paths.mjs";
|
||||
import { isMsTeamsExtensionRoot } from "../../vitest.extension-msteams-paths.mjs";
|
||||
import { isProviderExtensionRoot } from "../../vitest.extension-provider-paths.mjs";
|
||||
import { isTelegramExtensionRoot } from "../../vitest.extension-telegram-paths.mjs";
|
||||
import { isVoiceCallExtensionRoot } from "../../vitest.extension-voice-call-paths.mjs";
|
||||
import { isWhatsAppExtensionRoot } from "../../vitest.extension-whatsapp-paths.mjs";
|
||||
import { isZaloExtensionRoot } from "../../vitest.extension-zalo-paths.mjs";
|
||||
import { channelTestRoots } from "../../test/vitest/vitest.channel-paths.mjs";
|
||||
import { isAcpxExtensionRoot } from "../../test/vitest/vitest.extension-acpx-paths.mjs";
|
||||
import { isBlueBubblesExtensionRoot } from "../../test/vitest/vitest.extension-bluebubbles-paths.mjs";
|
||||
import { isDiffsExtensionRoot } from "../../test/vitest/vitest.extension-diffs-paths.mjs";
|
||||
import { isFeishuExtensionRoot } from "../../test/vitest/vitest.extension-feishu-paths.mjs";
|
||||
import { isIrcExtensionRoot } from "../../test/vitest/vitest.extension-irc-paths.mjs";
|
||||
import { isMatrixExtensionRoot } from "../../test/vitest/vitest.extension-matrix-paths.mjs";
|
||||
import { isMattermostExtensionRoot } from "../../test/vitest/vitest.extension-mattermost-paths.mjs";
|
||||
import { isMemoryExtensionRoot } from "../../test/vitest/vitest.extension-memory-paths.mjs";
|
||||
import { isMessagingExtensionRoot } from "../../test/vitest/vitest.extension-messaging-paths.mjs";
|
||||
import { isMsTeamsExtensionRoot } from "../../test/vitest/vitest.extension-msteams-paths.mjs";
|
||||
import { isProviderExtensionRoot } from "../../test/vitest/vitest.extension-provider-paths.mjs";
|
||||
import { isTelegramExtensionRoot } from "../../test/vitest/vitest.extension-telegram-paths.mjs";
|
||||
import { isVoiceCallExtensionRoot } from "../../test/vitest/vitest.extension-voice-call-paths.mjs";
|
||||
import { isWhatsAppExtensionRoot } from "../../test/vitest/vitest.extension-whatsapp-paths.mjs";
|
||||
import { isZaloExtensionRoot } from "../../test/vitest/vitest.extension-zalo-paths.mjs";
|
||||
import { BUNDLED_PLUGIN_PATH_PREFIX, BUNDLED_PLUGIN_ROOT_DIR } from "./bundled-plugin-paths.mjs";
|
||||
import { listAvailableExtensionIds } from "./changed-extensions.mjs";
|
||||
|
||||
@@ -116,38 +116,38 @@ export function resolveExtensionTestPlan(params = {}) {
|
||||
const usesMessagingConfig = roots.some((root) => isMessagingExtensionRoot(root));
|
||||
const usesProviderConfig = roots.some((root) => isProviderExtensionRoot(root));
|
||||
const config = usesChannelConfig
|
||||
? "vitest.extension-channels.config.ts"
|
||||
? "test/vitest/vitest.extension-channels.config.ts"
|
||||
: usesAcpxConfig
|
||||
? "vitest.extension-acpx.config.ts"
|
||||
? "test/vitest/vitest.extension-acpx.config.ts"
|
||||
: usesDiffsConfig
|
||||
? "vitest.extension-diffs.config.ts"
|
||||
? "test/vitest/vitest.extension-diffs.config.ts"
|
||||
: usesBlueBubblesConfig
|
||||
? "vitest.extension-bluebubbles.config.ts"
|
||||
? "test/vitest/vitest.extension-bluebubbles.config.ts"
|
||||
: usesFeishuConfig
|
||||
? "vitest.extension-feishu.config.ts"
|
||||
? "test/vitest/vitest.extension-feishu.config.ts"
|
||||
: usesIrcConfig
|
||||
? "vitest.extension-irc.config.ts"
|
||||
? "test/vitest/vitest.extension-irc.config.ts"
|
||||
: usesMattermostConfig
|
||||
? "vitest.extension-mattermost.config.ts"
|
||||
? "test/vitest/vitest.extension-mattermost.config.ts"
|
||||
: usesMatrixConfig
|
||||
? "vitest.extension-matrix.config.ts"
|
||||
? "test/vitest/vitest.extension-matrix.config.ts"
|
||||
: usesTelegramConfig
|
||||
? "vitest.extension-telegram.config.ts"
|
||||
? "test/vitest/vitest.extension-telegram.config.ts"
|
||||
: usesVoiceCallConfig
|
||||
? "vitest.extension-voice-call.config.ts"
|
||||
? "test/vitest/vitest.extension-voice-call.config.ts"
|
||||
: usesWhatsAppConfig
|
||||
? "vitest.extension-whatsapp.config.ts"
|
||||
? "test/vitest/vitest.extension-whatsapp.config.ts"
|
||||
: usesZaloConfig
|
||||
? "vitest.extension-zalo.config.ts"
|
||||
? "test/vitest/vitest.extension-zalo.config.ts"
|
||||
: usesMemoryConfig
|
||||
? "vitest.extension-memory.config.ts"
|
||||
? "test/vitest/vitest.extension-memory.config.ts"
|
||||
: usesMsTeamsConfig
|
||||
? "vitest.extension-msteams.config.ts"
|
||||
? "test/vitest/vitest.extension-msteams.config.ts"
|
||||
: usesMessagingConfig
|
||||
? "vitest.extension-messaging.config.ts"
|
||||
? "test/vitest/vitest.extension-messaging.config.ts"
|
||||
: usesProviderConfig
|
||||
? "vitest.extension-providers.config.ts"
|
||||
: "vitest.extensions.config.ts";
|
||||
? "test/vitest/vitest.extension-providers.config.ts"
|
||||
: "test/vitest/vitest.extensions.config.ts";
|
||||
const testFileCount = roots.reduce(
|
||||
(sum, root) => sum + countTestFiles(path.join(repoRoot, root)),
|
||||
0,
|
||||
|
||||
@@ -56,8 +56,8 @@ run_linux_ci_mirror() {
|
||||
run_step pnpm lint:ui:no-raw-window-open
|
||||
run_protocol_ci_mirror
|
||||
run_step pnpm canvas:a2ui:bundle
|
||||
run_step pnpm exec vitest run --config vitest.extensions.config.ts --maxWorkers=1
|
||||
run_step env CI=true pnpm exec vitest run --config vitest.unit.config.ts --maxWorkers=1
|
||||
run_step pnpm exec vitest run --config test/vitest/vitest.extensions.config.ts --maxWorkers=1
|
||||
run_step env CI=true pnpm exec vitest run --config test/vitest/vitest.unit.config.ts --maxWorkers=1
|
||||
|
||||
log_step "OPENCLAW_VITEST_MAX_WORKERS=${OPENCLAW_VITEST_MAX_WORKERS:-1} NODE_OPTIONS=${NODE_OPTIONS:---max-old-space-size=6144} pnpm test"
|
||||
OPENCLAW_VITEST_MAX_WORKERS="${OPENCLAW_VITEST_MAX_WORKERS:-1}" \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { extensionChannelTestRoots } from "../vitest.channel-paths.mjs";
|
||||
import { extensionChannelTestRoots } from "../test/vitest/vitest.channel-paths.mjs";
|
||||
import { runExtensionOxlint } from "./lib/run-extension-oxlint.mjs";
|
||||
|
||||
runExtensionOxlint({
|
||||
|
||||
@@ -52,7 +52,7 @@ export function buildVitestProfileCommand({ mode, outputDir }) {
|
||||
"./node_modules/vitest/vitest.mjs",
|
||||
"run",
|
||||
"--config",
|
||||
"vitest.unit.config.ts",
|
||||
"test/vitest/vitest.unit.config.ts",
|
||||
"--no-file-parallelism",
|
||||
],
|
||||
};
|
||||
@@ -64,7 +64,7 @@ export function buildVitestProfileCommand({ mode, outputDir }) {
|
||||
"vitest",
|
||||
"run",
|
||||
"--config",
|
||||
"vitest.unit.config.ts",
|
||||
"test/vitest/vitest.unit.config.ts",
|
||||
"--no-file-parallelism",
|
||||
"--execArgv=--cpu-prof",
|
||||
`--execArgv=--cpu-prof-dir=${outputDir}`,
|
||||
|
||||
@@ -20,7 +20,7 @@ if (process.argv.slice(2).includes("--help")) {
|
||||
"",
|
||||
"Examples:",
|
||||
" node scripts/test-hotspots.mjs",
|
||||
" node scripts/test-hotspots.mjs --config vitest.channels.config.ts --limit 10",
|
||||
" node scripts/test-hotspots.mjs --config test/vitest/vitest.channels.config.ts --limit 10",
|
||||
" node scripts/test-hotspots.mjs --report /tmp/vitest-report.json",
|
||||
].join("\n"),
|
||||
);
|
||||
@@ -28,7 +28,7 @@ if (process.argv.slice(2).includes("--help")) {
|
||||
}
|
||||
|
||||
const opts = parseVitestReportArgs(process.argv.slice(2), {
|
||||
config: "vitest.unit.config.ts",
|
||||
config: "test/vitest/vitest.unit.config.ts",
|
||||
limit: 20,
|
||||
});
|
||||
const report = loadVitestReportFromArgs(opts, "openclaw-vitest-hotspots");
|
||||
|
||||
@@ -38,7 +38,14 @@ let lastOutputAt = startedAt;
|
||||
|
||||
const child = spawnPnpmRunner({
|
||||
stdio: ["inherit", "pipe", "pipe"],
|
||||
pnpmArgs: ["exec", "vitest", "run", "--config", "vitest.live.config.ts", ...forwardedArgs],
|
||||
pnpmArgs: [
|
||||
"exec",
|
||||
"vitest",
|
||||
"run",
|
||||
"--config",
|
||||
"test/vitest/vitest.live.config.ts",
|
||||
...forwardedArgs,
|
||||
],
|
||||
env,
|
||||
});
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ function parseArgs(argv) {
|
||||
return parseFlagArgs(
|
||||
argv,
|
||||
{
|
||||
config: "vitest.unit.config.ts",
|
||||
config: "test/vitest/vitest.unit.config.ts",
|
||||
maxWallMs: readEnvNumber("OPENCLAW_TEST_PERF_MAX_WALL_MS"),
|
||||
baselineWallMs: readEnvNumber("OPENCLAW_TEST_PERF_BASELINE_WALL_MS"),
|
||||
maxRegressionPct: readEnvNumber("OPENCLAW_TEST_PERF_MAX_REGRESSION_PCT") ?? 10,
|
||||
|
||||
@@ -25,50 +25,54 @@ const releaseLock = acquireLocalHeavyCheckLockSync({
|
||||
let lockReleased = false;
|
||||
|
||||
const FULL_SUITE_CONFIG_WEIGHT = new Map([
|
||||
["vitest.gateway.config.ts", 180],
|
||||
["vitest.commands.config.ts", 175],
|
||||
["vitest.agents.config.ts", 170],
|
||||
["vitest.extensions.config.ts", 168],
|
||||
["vitest.tasks.config.ts", 165],
|
||||
["vitest.unit-fast.config.ts", 160],
|
||||
["vitest.auto-reply-reply.config.ts", 155],
|
||||
["vitest.infra.config.ts", 145],
|
||||
["vitest.secrets.config.ts", 140],
|
||||
["vitest.cron.config.ts", 135],
|
||||
["vitest.wizard.config.ts", 130],
|
||||
["vitest.unit-src.config.ts", 125],
|
||||
["vitest.extension-channels.config.ts", 100],
|
||||
["vitest.extension-matrix.config.ts", 98],
|
||||
["vitest.extension-providers.config.ts", 96],
|
||||
["vitest.extension-telegram.config.ts", 94],
|
||||
["vitest.extension-whatsapp.config.ts", 92],
|
||||
["vitest.auto-reply-core.config.ts", 90],
|
||||
["vitest.cli.config.ts", 86],
|
||||
["vitest.channels.config.ts", 84],
|
||||
["vitest.plugins.config.ts", 82],
|
||||
["vitest.bundled.config.ts", 80],
|
||||
["vitest.commands-light.config.ts", 48],
|
||||
["vitest.plugin-sdk.config.ts", 46],
|
||||
["vitest.auto-reply-top-level.config.ts", 45],
|
||||
["vitest.unit-ui.config.ts", 40],
|
||||
["vitest.plugin-sdk-light.config.ts", 38],
|
||||
["vitest.daemon.config.ts", 36],
|
||||
["vitest.boundary.config.ts", 34],
|
||||
["vitest.tooling.config.ts", 32],
|
||||
["vitest.unit-security.config.ts", 30],
|
||||
["vitest.unit-support.config.ts", 28],
|
||||
["vitest.contracts.config.ts", 26],
|
||||
["vitest.extension-zalo.config.ts", 24],
|
||||
["vitest.extension-bluebubbles.config.ts", 22],
|
||||
["vitest.extension-irc.config.ts", 20],
|
||||
["vitest.extension-feishu.config.ts", 18],
|
||||
["vitest.extension-mattermost.config.ts", 16],
|
||||
["vitest.extension-messaging.config.ts", 14],
|
||||
["vitest.extension-acpx.config.ts", 10],
|
||||
["vitest.extension-diffs.config.ts", 8],
|
||||
["vitest.extension-memory.config.ts", 6],
|
||||
["vitest.extension-msteams.config.ts", 4],
|
||||
["vitest.extension-voice-call.config.ts", 2],
|
||||
["test/vitest/vitest.gateway.config.ts", 180],
|
||||
["test/vitest/vitest.gateway-server.config.ts", 180],
|
||||
["test/vitest/vitest.gateway-core.config.ts", 179],
|
||||
["test/vitest/vitest.gateway-client.config.ts", 178],
|
||||
["test/vitest/vitest.gateway-methods.config.ts", 177],
|
||||
["test/vitest/vitest.commands.config.ts", 175],
|
||||
["test/vitest/vitest.agents.config.ts", 170],
|
||||
["test/vitest/vitest.extensions.config.ts", 168],
|
||||
["test/vitest/vitest.tasks.config.ts", 165],
|
||||
["test/vitest/vitest.unit-fast.config.ts", 160],
|
||||
["test/vitest/vitest.auto-reply-reply.config.ts", 155],
|
||||
["test/vitest/vitest.infra.config.ts", 145],
|
||||
["test/vitest/vitest.secrets.config.ts", 140],
|
||||
["test/vitest/vitest.cron.config.ts", 135],
|
||||
["test/vitest/vitest.wizard.config.ts", 130],
|
||||
["test/vitest/vitest.unit-src.config.ts", 125],
|
||||
["test/vitest/vitest.extension-channels.config.ts", 100],
|
||||
["test/vitest/vitest.extension-matrix.config.ts", 98],
|
||||
["test/vitest/vitest.extension-providers.config.ts", 96],
|
||||
["test/vitest/vitest.extension-telegram.config.ts", 94],
|
||||
["test/vitest/vitest.extension-whatsapp.config.ts", 92],
|
||||
["test/vitest/vitest.auto-reply-core.config.ts", 90],
|
||||
["test/vitest/vitest.cli.config.ts", 86],
|
||||
["test/vitest/vitest.channels.config.ts", 84],
|
||||
["test/vitest/vitest.plugins.config.ts", 82],
|
||||
["test/vitest/vitest.bundled.config.ts", 80],
|
||||
["test/vitest/vitest.commands-light.config.ts", 48],
|
||||
["test/vitest/vitest.plugin-sdk.config.ts", 46],
|
||||
["test/vitest/vitest.auto-reply-top-level.config.ts", 45],
|
||||
["test/vitest/vitest.unit-ui.config.ts", 40],
|
||||
["test/vitest/vitest.plugin-sdk-light.config.ts", 38],
|
||||
["test/vitest/vitest.daemon.config.ts", 36],
|
||||
["test/vitest/vitest.boundary.config.ts", 34],
|
||||
["test/vitest/vitest.tooling.config.ts", 32],
|
||||
["test/vitest/vitest.unit-security.config.ts", 30],
|
||||
["test/vitest/vitest.unit-support.config.ts", 28],
|
||||
["test/vitest/vitest.contracts.config.ts", 26],
|
||||
["test/vitest/vitest.extension-zalo.config.ts", 24],
|
||||
["test/vitest/vitest.extension-bluebubbles.config.ts", 22],
|
||||
["test/vitest/vitest.extension-irc.config.ts", 20],
|
||||
["test/vitest/vitest.extension-feishu.config.ts", 18],
|
||||
["test/vitest/vitest.extension-mattermost.config.ts", 16],
|
||||
["test/vitest/vitest.extension-messaging.config.ts", 14],
|
||||
["test/vitest/vitest.extension-acpx.config.ts", 10],
|
||||
["test/vitest/vitest.extension-diffs.config.ts", 8],
|
||||
["test/vitest/vitest.extension-memory.config.ts", 6],
|
||||
["test/vitest/vitest.extension-msteams.config.ts", 4],
|
||||
["test/vitest/vitest.extension-voice-call.config.ts", 2],
|
||||
]);
|
||||
const releaseLockOnce = () => {
|
||||
if (lockReleased) {
|
||||
|
||||
@@ -2,87 +2,90 @@ import { execFileSync } from "node:child_process";
|
||||
import fs from "node:fs";
|
||||
import os from "node:os";
|
||||
import path from "node:path";
|
||||
import { isChannelSurfaceTestFile } from "../vitest.channel-paths.mjs";
|
||||
import { isChannelSurfaceTestFile } from "../test/vitest/vitest.channel-paths.mjs";
|
||||
import {
|
||||
isCommandsLightTarget,
|
||||
resolveCommandsLightIncludePattern,
|
||||
} from "../vitest.commands-light-paths.mjs";
|
||||
import { isAcpxExtensionRoot } from "../vitest.extension-acpx-paths.mjs";
|
||||
import { isBlueBubblesExtensionRoot } from "../vitest.extension-bluebubbles-paths.mjs";
|
||||
import { isDiffsExtensionRoot } from "../vitest.extension-diffs-paths.mjs";
|
||||
import { isFeishuExtensionRoot } from "../vitest.extension-feishu-paths.mjs";
|
||||
import { isIrcExtensionRoot } from "../vitest.extension-irc-paths.mjs";
|
||||
import { isMatrixExtensionRoot } from "../vitest.extension-matrix-paths.mjs";
|
||||
import { isMattermostExtensionRoot } from "../vitest.extension-mattermost-paths.mjs";
|
||||
import { isMemoryExtensionRoot } from "../vitest.extension-memory-paths.mjs";
|
||||
import { isMessagingExtensionRoot } from "../vitest.extension-messaging-paths.mjs";
|
||||
import { isMsTeamsExtensionRoot } from "../vitest.extension-msteams-paths.mjs";
|
||||
import { isProviderExtensionRoot } from "../vitest.extension-provider-paths.mjs";
|
||||
import { isTelegramExtensionRoot } from "../vitest.extension-telegram-paths.mjs";
|
||||
import { isVoiceCallExtensionRoot } from "../vitest.extension-voice-call-paths.mjs";
|
||||
import { isWhatsAppExtensionRoot } from "../vitest.extension-whatsapp-paths.mjs";
|
||||
import { isZaloExtensionRoot } from "../vitest.extension-zalo-paths.mjs";
|
||||
} from "../test/vitest/vitest.commands-light-paths.mjs";
|
||||
import { isAcpxExtensionRoot } from "../test/vitest/vitest.extension-acpx-paths.mjs";
|
||||
import { isBlueBubblesExtensionRoot } from "../test/vitest/vitest.extension-bluebubbles-paths.mjs";
|
||||
import { isDiffsExtensionRoot } from "../test/vitest/vitest.extension-diffs-paths.mjs";
|
||||
import { isFeishuExtensionRoot } from "../test/vitest/vitest.extension-feishu-paths.mjs";
|
||||
import { isIrcExtensionRoot } from "../test/vitest/vitest.extension-irc-paths.mjs";
|
||||
import { isMatrixExtensionRoot } from "../test/vitest/vitest.extension-matrix-paths.mjs";
|
||||
import { isMattermostExtensionRoot } from "../test/vitest/vitest.extension-mattermost-paths.mjs";
|
||||
import { isMemoryExtensionRoot } from "../test/vitest/vitest.extension-memory-paths.mjs";
|
||||
import { isMessagingExtensionRoot } from "../test/vitest/vitest.extension-messaging-paths.mjs";
|
||||
import { isMsTeamsExtensionRoot } from "../test/vitest/vitest.extension-msteams-paths.mjs";
|
||||
import { isProviderExtensionRoot } from "../test/vitest/vitest.extension-provider-paths.mjs";
|
||||
import { isTelegramExtensionRoot } from "../test/vitest/vitest.extension-telegram-paths.mjs";
|
||||
import { isVoiceCallExtensionRoot } from "../test/vitest/vitest.extension-voice-call-paths.mjs";
|
||||
import { isWhatsAppExtensionRoot } from "../test/vitest/vitest.extension-whatsapp-paths.mjs";
|
||||
import { isZaloExtensionRoot } from "../test/vitest/vitest.extension-zalo-paths.mjs";
|
||||
import {
|
||||
isPluginSdkLightTarget,
|
||||
resolvePluginSdkLightIncludePattern,
|
||||
} from "../vitest.plugin-sdk-paths.mjs";
|
||||
import { fullSuiteVitestShards } from "../vitest.test-shards.mjs";
|
||||
import { resolveUnitFastTestIncludePattern } from "../vitest.unit-fast-paths.mjs";
|
||||
import { isBoundaryTestFile, isBundledPluginDependentUnitTestFile } from "../vitest.unit-paths.mjs";
|
||||
} from "../test/vitest/vitest.plugin-sdk-paths.mjs";
|
||||
import { fullSuiteVitestShards } from "../test/vitest/vitest.test-shards.mjs";
|
||||
import { resolveUnitFastTestIncludePattern } from "../test/vitest/vitest.unit-fast-paths.mjs";
|
||||
import {
|
||||
isBoundaryTestFile,
|
||||
isBundledPluginDependentUnitTestFile,
|
||||
} from "../test/vitest/vitest.unit-paths.mjs";
|
||||
import { resolveVitestCliEntry, resolveVitestNodeArgs } from "./run-vitest.mjs";
|
||||
|
||||
const DEFAULT_VITEST_CONFIG = "vitest.unit.config.ts";
|
||||
const AGENTS_VITEST_CONFIG = "vitest.agents.config.ts";
|
||||
const ACP_VITEST_CONFIG = "vitest.acp.config.ts";
|
||||
const AUTO_REPLY_VITEST_CONFIG = "vitest.auto-reply.config.ts";
|
||||
const BOUNDARY_VITEST_CONFIG = "vitest.boundary.config.ts";
|
||||
const BUNDLED_VITEST_CONFIG = "vitest.bundled.config.ts";
|
||||
const CHANNEL_VITEST_CONFIG = "vitest.channels.config.ts";
|
||||
const CLI_VITEST_CONFIG = "vitest.cli.config.ts";
|
||||
const COMMANDS_LIGHT_VITEST_CONFIG = "vitest.commands-light.config.ts";
|
||||
const COMMANDS_VITEST_CONFIG = "vitest.commands.config.ts";
|
||||
const CONTRACTS_VITEST_CONFIG = "vitest.contracts.config.ts";
|
||||
const CRON_VITEST_CONFIG = "vitest.cron.config.ts";
|
||||
const DAEMON_VITEST_CONFIG = "vitest.daemon.config.ts";
|
||||
const E2E_VITEST_CONFIG = "vitest.e2e.config.ts";
|
||||
const EXTENSION_ACPX_VITEST_CONFIG = "vitest.extension-acpx.config.ts";
|
||||
const EXTENSION_BLUEBUBBLES_VITEST_CONFIG = "vitest.extension-bluebubbles.config.ts";
|
||||
const EXTENSION_CHANNELS_VITEST_CONFIG = "vitest.extension-channels.config.ts";
|
||||
const EXTENSION_DIFFS_VITEST_CONFIG = "vitest.extension-diffs.config.ts";
|
||||
const EXTENSION_FEISHU_VITEST_CONFIG = "vitest.extension-feishu.config.ts";
|
||||
const EXTENSION_IRC_VITEST_CONFIG = "vitest.extension-irc.config.ts";
|
||||
const EXTENSION_MATTERMOST_VITEST_CONFIG = "vitest.extension-mattermost.config.ts";
|
||||
const EXTENSION_MATRIX_VITEST_CONFIG = "vitest.extension-matrix.config.ts";
|
||||
const EXTENSION_MEMORY_VITEST_CONFIG = "vitest.extension-memory.config.ts";
|
||||
const EXTENSION_MSTEAMS_VITEST_CONFIG = "vitest.extension-msteams.config.ts";
|
||||
const EXTENSION_MESSAGING_VITEST_CONFIG = "vitest.extension-messaging.config.ts";
|
||||
const EXTENSION_PROVIDERS_VITEST_CONFIG = "vitest.extension-providers.config.ts";
|
||||
const EXTENSION_TELEGRAM_VITEST_CONFIG = "vitest.extension-telegram.config.ts";
|
||||
const EXTENSION_VOICE_CALL_VITEST_CONFIG = "vitest.extension-voice-call.config.ts";
|
||||
const EXTENSION_WHATSAPP_VITEST_CONFIG = "vitest.extension-whatsapp.config.ts";
|
||||
const EXTENSION_ZALO_VITEST_CONFIG = "vitest.extension-zalo.config.ts";
|
||||
const EXTENSIONS_VITEST_CONFIG = "vitest.extensions.config.ts";
|
||||
const FULL_EXTENSIONS_VITEST_CONFIG = "vitest.full-extensions.config.ts";
|
||||
const GATEWAY_VITEST_CONFIG = "vitest.gateway.config.ts";
|
||||
const HOOKS_VITEST_CONFIG = "vitest.hooks.config.ts";
|
||||
const INFRA_VITEST_CONFIG = "vitest.infra.config.ts";
|
||||
const MEDIA_VITEST_CONFIG = "vitest.media.config.ts";
|
||||
const MEDIA_UNDERSTANDING_VITEST_CONFIG = "vitest.media-understanding.config.ts";
|
||||
const LOGGING_VITEST_CONFIG = "vitest.logging.config.ts";
|
||||
const PLUGIN_SDK_LIGHT_VITEST_CONFIG = "vitest.plugin-sdk-light.config.ts";
|
||||
const PLUGIN_SDK_VITEST_CONFIG = "vitest.plugin-sdk.config.ts";
|
||||
const PLUGINS_VITEST_CONFIG = "vitest.plugins.config.ts";
|
||||
const UNIT_FAST_VITEST_CONFIG = "vitest.unit-fast.config.ts";
|
||||
const PROCESS_VITEST_CONFIG = "vitest.process.config.ts";
|
||||
const RUNTIME_CONFIG_VITEST_CONFIG = "vitest.runtime-config.config.ts";
|
||||
const SECRETS_VITEST_CONFIG = "vitest.secrets.config.ts";
|
||||
const SHARED_CORE_VITEST_CONFIG = "vitest.shared-core.config.ts";
|
||||
const TASKS_VITEST_CONFIG = "vitest.tasks.config.ts";
|
||||
const TOOLING_VITEST_CONFIG = "vitest.tooling.config.ts";
|
||||
const TUI_VITEST_CONFIG = "vitest.tui.config.ts";
|
||||
const UI_VITEST_CONFIG = "vitest.ui.config.ts";
|
||||
const UTILS_VITEST_CONFIG = "vitest.utils.config.ts";
|
||||
const WIZARD_VITEST_CONFIG = "vitest.wizard.config.ts";
|
||||
const DEFAULT_VITEST_CONFIG = "test/vitest/vitest.unit.config.ts";
|
||||
const AGENTS_VITEST_CONFIG = "test/vitest/vitest.agents.config.ts";
|
||||
const ACP_VITEST_CONFIG = "test/vitest/vitest.acp.config.ts";
|
||||
const AUTO_REPLY_VITEST_CONFIG = "test/vitest/vitest.auto-reply.config.ts";
|
||||
const BOUNDARY_VITEST_CONFIG = "test/vitest/vitest.boundary.config.ts";
|
||||
const BUNDLED_VITEST_CONFIG = "test/vitest/vitest.bundled.config.ts";
|
||||
const CHANNEL_VITEST_CONFIG = "test/vitest/vitest.channels.config.ts";
|
||||
const CLI_VITEST_CONFIG = "test/vitest/vitest.cli.config.ts";
|
||||
const COMMANDS_LIGHT_VITEST_CONFIG = "test/vitest/vitest.commands-light.config.ts";
|
||||
const COMMANDS_VITEST_CONFIG = "test/vitest/vitest.commands.config.ts";
|
||||
const CONTRACTS_VITEST_CONFIG = "test/vitest/vitest.contracts.config.ts";
|
||||
const CRON_VITEST_CONFIG = "test/vitest/vitest.cron.config.ts";
|
||||
const DAEMON_VITEST_CONFIG = "test/vitest/vitest.daemon.config.ts";
|
||||
const E2E_VITEST_CONFIG = "test/vitest/vitest.e2e.config.ts";
|
||||
const EXTENSION_ACPX_VITEST_CONFIG = "test/vitest/vitest.extension-acpx.config.ts";
|
||||
const EXTENSION_BLUEBUBBLES_VITEST_CONFIG = "test/vitest/vitest.extension-bluebubbles.config.ts";
|
||||
const EXTENSION_CHANNELS_VITEST_CONFIG = "test/vitest/vitest.extension-channels.config.ts";
|
||||
const EXTENSION_DIFFS_VITEST_CONFIG = "test/vitest/vitest.extension-diffs.config.ts";
|
||||
const EXTENSION_FEISHU_VITEST_CONFIG = "test/vitest/vitest.extension-feishu.config.ts";
|
||||
const EXTENSION_IRC_VITEST_CONFIG = "test/vitest/vitest.extension-irc.config.ts";
|
||||
const EXTENSION_MATTERMOST_VITEST_CONFIG = "test/vitest/vitest.extension-mattermost.config.ts";
|
||||
const EXTENSION_MATRIX_VITEST_CONFIG = "test/vitest/vitest.extension-matrix.config.ts";
|
||||
const EXTENSION_MEMORY_VITEST_CONFIG = "test/vitest/vitest.extension-memory.config.ts";
|
||||
const EXTENSION_MSTEAMS_VITEST_CONFIG = "test/vitest/vitest.extension-msteams.config.ts";
|
||||
const EXTENSION_MESSAGING_VITEST_CONFIG = "test/vitest/vitest.extension-messaging.config.ts";
|
||||
const EXTENSION_PROVIDERS_VITEST_CONFIG = "test/vitest/vitest.extension-providers.config.ts";
|
||||
const EXTENSION_TELEGRAM_VITEST_CONFIG = "test/vitest/vitest.extension-telegram.config.ts";
|
||||
const EXTENSION_VOICE_CALL_VITEST_CONFIG = "test/vitest/vitest.extension-voice-call.config.ts";
|
||||
const EXTENSION_WHATSAPP_VITEST_CONFIG = "test/vitest/vitest.extension-whatsapp.config.ts";
|
||||
const EXTENSION_ZALO_VITEST_CONFIG = "test/vitest/vitest.extension-zalo.config.ts";
|
||||
const EXTENSIONS_VITEST_CONFIG = "test/vitest/vitest.extensions.config.ts";
|
||||
const FULL_EXTENSIONS_VITEST_CONFIG = "test/vitest/vitest.full-extensions.config.ts";
|
||||
const GATEWAY_VITEST_CONFIG = "test/vitest/vitest.gateway.config.ts";
|
||||
const HOOKS_VITEST_CONFIG = "test/vitest/vitest.hooks.config.ts";
|
||||
const INFRA_VITEST_CONFIG = "test/vitest/vitest.infra.config.ts";
|
||||
const MEDIA_VITEST_CONFIG = "test/vitest/vitest.media.config.ts";
|
||||
const MEDIA_UNDERSTANDING_VITEST_CONFIG = "test/vitest/vitest.media-understanding.config.ts";
|
||||
const LOGGING_VITEST_CONFIG = "test/vitest/vitest.logging.config.ts";
|
||||
const PLUGIN_SDK_LIGHT_VITEST_CONFIG = "test/vitest/vitest.plugin-sdk-light.config.ts";
|
||||
const PLUGIN_SDK_VITEST_CONFIG = "test/vitest/vitest.plugin-sdk.config.ts";
|
||||
const PLUGINS_VITEST_CONFIG = "test/vitest/vitest.plugins.config.ts";
|
||||
const UNIT_FAST_VITEST_CONFIG = "test/vitest/vitest.unit-fast.config.ts";
|
||||
const PROCESS_VITEST_CONFIG = "test/vitest/vitest.process.config.ts";
|
||||
const RUNTIME_CONFIG_VITEST_CONFIG = "test/vitest/vitest.runtime-config.config.ts";
|
||||
const SECRETS_VITEST_CONFIG = "test/vitest/vitest.secrets.config.ts";
|
||||
const SHARED_CORE_VITEST_CONFIG = "test/vitest/vitest.shared-core.config.ts";
|
||||
const TASKS_VITEST_CONFIG = "test/vitest/vitest.tasks.config.ts";
|
||||
const TOOLING_VITEST_CONFIG = "test/vitest/vitest.tooling.config.ts";
|
||||
const TUI_VITEST_CONFIG = "test/vitest/vitest.tui.config.ts";
|
||||
const UI_VITEST_CONFIG = "test/vitest/vitest.ui.config.ts";
|
||||
const UTILS_VITEST_CONFIG = "test/vitest/vitest.utils.config.ts";
|
||||
const WIZARD_VITEST_CONFIG = "test/vitest/vitest.wizard.config.ts";
|
||||
const INCLUDE_FILE_ENV_KEY = "OPENCLAW_VITEST_INCLUDE_FILE";
|
||||
const CHANGED_ARGS_PATTERN = /^--changed(?:=(.+))?$/u;
|
||||
const VITEST_CONFIG_BY_KIND = {
|
||||
@@ -142,6 +145,7 @@ const BROAD_CHANGED_RERUN_PATTERNS = [
|
||||
/^pnpm-lock\.yaml$/u,
|
||||
/^test\/setup(?:\.shared|\.extensions|-openclaw-runtime)?\.ts$/u,
|
||||
/^vitest(?:\..+)?\.(?:config\.ts|paths\.mjs)$/u,
|
||||
/^test\/vitest\/vitest(?:\..+)?\.(?:config\.ts|paths\.mjs)$/u,
|
||||
/^scripts\/run-vitest\.mjs$/u,
|
||||
/^scripts\/test-projects(?:\.test-support)?\.mjs$/u,
|
||||
];
|
||||
|
||||
@@ -3,7 +3,7 @@ import {
|
||||
collectUnitFastTestFileAnalysis,
|
||||
collectUnitFastTestCandidates,
|
||||
unitFastTestFiles,
|
||||
} from "../vitest.unit-fast-paths.mjs";
|
||||
} from "../test/vitest/vitest.unit-fast-paths.mjs";
|
||||
|
||||
const args = new Set(process.argv.slice(2));
|
||||
const json = args.has("--json");
|
||||
|
||||
Reference in New Issue
Block a user