mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-22 14:41:34 +00:00
perf: expand base vitest thread lanes
This commit is contained in:
@@ -80,6 +80,7 @@ export function parseArgs(argv) {
|
||||
|
||||
export function getExistingThreadCandidateExclusions(behavior) {
|
||||
return new Set([
|
||||
...(behavior.base?.threadSingleton ?? []).map((entry) => entry.file),
|
||||
...(behavior.unit?.isolated ?? []).map((entry) => entry.file),
|
||||
...(behavior.unit?.singletonIsolated ?? []).map((entry) => entry.file),
|
||||
...(behavior.unit?.threadSingleton ?? []).map((entry) => entry.file),
|
||||
|
||||
@@ -49,6 +49,7 @@ const cleanupTempArtifacts = () => {
|
||||
tempArtifactDir = null;
|
||||
};
|
||||
const existingUnitConfigFiles = (entries) => existingFiles(entries).filter(isUnitConfigTestFile);
|
||||
const baseThreadSingletonFiles = existingFiles(behaviorManifest.base?.threadSingleton ?? []);
|
||||
const unitBehaviorIsolatedFiles = existingUnitConfigFiles(behaviorManifest.unit.isolated);
|
||||
const unitSingletonIsolatedFiles = existingUnitConfigFiles(behaviorManifest.unit.singletonIsolated);
|
||||
const unitThreadSingletonFiles = existingUnitConfigFiles(behaviorManifest.unit.threadSingleton);
|
||||
@@ -611,6 +612,7 @@ const resolveFilterMatches = (fileFilter) => {
|
||||
};
|
||||
const isVmForkSingletonUnitFile = (fileFilter) => unitVmForkSingletonFiles.includes(fileFilter);
|
||||
const isThreadSingletonUnitFile = (fileFilter) => unitThreadSingletonFiles.includes(fileFilter);
|
||||
const isBaseThreadSingletonFile = (fileFilter) => baseThreadSingletonFiles.includes(fileFilter);
|
||||
const createTargetedEntry = (owner, isolated, filters) => {
|
||||
const name = isolated ? `${owner}-isolated` : owner;
|
||||
const forceForks = isolated;
|
||||
@@ -648,6 +650,12 @@ const createTargetedEntry = (owner, isolated, filters) => {
|
||||
args: ["vitest", "run", "--config", "vitest.unit.config.ts", "--pool=threads", ...filters],
|
||||
};
|
||||
}
|
||||
if (owner === "base-threads") {
|
||||
return {
|
||||
name,
|
||||
args: ["vitest", "run", "--config", "vitest.config.ts", "--pool=threads", ...filters],
|
||||
};
|
||||
}
|
||||
if (owner === "extensions") {
|
||||
return {
|
||||
name,
|
||||
@@ -718,7 +726,9 @@ const createPerFileTargetedEntry = (file) => {
|
||||
? "unit-threads"
|
||||
: isVmForkSingletonUnitFile(file)
|
||||
? "unit-vmforks"
|
||||
: target.owner;
|
||||
: isBaseThreadSingletonFile(file)
|
||||
? "base-threads"
|
||||
: target.owner;
|
||||
return {
|
||||
...createTargetedEntry(owner, target.isolated, [file]),
|
||||
name: formatPerFileEntryName(owner, file),
|
||||
@@ -747,7 +757,9 @@ const targetedEntries = (() => {
|
||||
? "unit-threads"
|
||||
: isVmForkSingletonUnitFile(normalizedFile)
|
||||
? "unit-vmforks"
|
||||
: target.owner;
|
||||
: isBaseThreadSingletonFile(normalizedFile)
|
||||
? "base-threads"
|
||||
: target.owner;
|
||||
const key = `${owner}:${target.isolated ? "isolated" : "default"}`;
|
||||
const files = acc.get(key) ?? [];
|
||||
files.push(normalizedFile);
|
||||
@@ -760,7 +772,9 @@ const targetedEntries = (() => {
|
||||
? "unit-threads"
|
||||
: isVmForkSingletonUnitFile(matchedFile)
|
||||
? "unit-vmforks"
|
||||
: target.owner;
|
||||
: isBaseThreadSingletonFile(matchedFile)
|
||||
? "base-threads"
|
||||
: target.owner;
|
||||
const key = `${owner}:${target.isolated ? "isolated" : "default"}`;
|
||||
const files = acc.get(key) ?? [];
|
||||
files.push(matchedFile);
|
||||
|
||||
@@ -30,7 +30,11 @@ const normalizeManifestEntries = (entries) =>
|
||||
export function loadTestRunnerBehavior() {
|
||||
const raw = tryReadJsonFile(behaviorManifestPath, {});
|
||||
const unit = raw.unit ?? {};
|
||||
const base = raw.base ?? {};
|
||||
return {
|
||||
base: {
|
||||
threadSingleton: normalizeManifestEntries(base.threadSingleton ?? []),
|
||||
},
|
||||
unit: {
|
||||
isolated: normalizeManifestEntries(unit.isolated ?? []),
|
||||
singletonIsolated: normalizeManifestEntries(unit.singletonIsolated ?? []),
|
||||
|
||||
Reference in New Issue
Block a user