mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-14 16:30:47 +08:00
重构主控编排与运行时预热链路,统一工作区提示词/专家调度协议并补齐 wiki 记忆注入与写回闭环。
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
This commit is contained in:
parent
4a23b715a2
commit
dbbe3add6a
14438 changed files with 2693620 additions and 2546 deletions
86
openclaw/test/vitest/vitest.unit.config.ts
Normal file
86
openclaw/test/vitest/vitest.unit.config.ts
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
import { defineProject } from "vitest/config";
|
||||
import { loadPatternListFromEnv, narrowIncludePatternsForCli } from "./vitest.pattern-file.ts";
|
||||
import { resolveVitestIsolation } from "./vitest.scoped-config.ts";
|
||||
import {
|
||||
nonIsolatedRunnerPath,
|
||||
resolveRepoRootPath,
|
||||
sharedVitestConfig,
|
||||
} from "./vitest.shared.config.ts";
|
||||
import { getUnitFastTestFiles } from "./vitest.unit-fast-paths.mjs";
|
||||
import {
|
||||
isBundledPluginDependentUnitTestFile,
|
||||
unitTestAdditionalExcludePatterns,
|
||||
unitTestIncludePatterns,
|
||||
} from "./vitest.unit-paths.mjs";
|
||||
|
||||
const sharedTest = sharedVitestConfig.test ?? {};
|
||||
const exclude = sharedTest.exclude ?? [];
|
||||
|
||||
export function loadIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function loadExtraExcludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_EXTRA_EXCLUDE_FILE", env) ?? [];
|
||||
}
|
||||
|
||||
export function createUnitVitestConfigWithOptions(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
options: {
|
||||
includePatterns?: string[];
|
||||
extraExcludePatterns?: string[];
|
||||
name?: string;
|
||||
argv?: string[];
|
||||
} = {},
|
||||
) {
|
||||
const isolate = resolveVitestIsolation(env);
|
||||
const unitFastTestFiles = getUnitFastTestFiles();
|
||||
const defaultIncludePatterns = options.includePatterns ?? unitTestIncludePatterns;
|
||||
const cliIncludePatterns = narrowIncludePatternsForCli(defaultIncludePatterns, options.argv);
|
||||
const protectedIncludeFiles = new Set(
|
||||
defaultIncludePatterns.filter((pattern) => isBundledPluginDependentUnitTestFile(pattern)),
|
||||
);
|
||||
const baseExcludePatterns = unitTestAdditionalExcludePatterns.filter((pattern) => {
|
||||
if (protectedIncludeFiles.size === 0) {
|
||||
return true;
|
||||
}
|
||||
return ![...protectedIncludeFiles].some((file) => pattern === file || pattern.endsWith("/**"));
|
||||
});
|
||||
return defineProject({
|
||||
...sharedVitestConfig,
|
||||
test: {
|
||||
...sharedTest,
|
||||
name: options.name ?? "unit",
|
||||
isolate,
|
||||
...(isolate ? { runner: undefined } : { runner: nonIsolatedRunnerPath }),
|
||||
setupFiles: [
|
||||
...new Set(
|
||||
[...(sharedTest.setupFiles ?? []), "test/setup-openclaw-runtime.ts"].map(
|
||||
resolveRepoRootPath,
|
||||
),
|
||||
),
|
||||
],
|
||||
include: loadIncludePatternsFromEnv(env) ?? cliIncludePatterns ?? defaultIncludePatterns,
|
||||
exclude: [
|
||||
...new Set([
|
||||
...exclude,
|
||||
...baseExcludePatterns,
|
||||
...unitFastTestFiles,
|
||||
...(options.extraExcludePatterns ?? []),
|
||||
...loadExtraExcludePatternsFromEnv(env),
|
||||
]),
|
||||
],
|
||||
...(cliIncludePatterns !== null ? { passWithNoTests: true } : {}),
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function createUnitVitestConfig(env: Record<string, string | undefined> = process.env) {
|
||||
return createUnitVitestConfigWithOptions(env);
|
||||
}
|
||||
|
||||
export default createUnitVitestConfigWithOptions();
|
||||
Loading…
Add table
Add a link
Reference in a new issue