it("keeps bundled unit test includes out of the bundled exclude list", () => { const excludePatterns = bundledVitestConfig.test?.exclude ?? []; for (const file of bundledPluginDependentUnitTestFiles) {
expect(
excludePatterns.some((pattern) => bundledExcludePatternCouldMatchFile(pattern, file)),
).toBe(false);
}
});
});
it("keeps the process lane off the openclaw runtime setup", () => {
expect(normalizeConfigPaths(defaultProcessConfig.test?.setupFiles)).toEqual(["test/setup.ts"]);
expect(normalizeConfigPaths(defaultRuntimeConfig.test?.setupFiles)).toEqual(["test/setup.ts"]);
expect(normalizeConfigPaths(defaultPluginSdkConfig.test?.setupFiles)).toEqual([ "test/setup.ts", "test/setup-openclaw-runtime.ts",
]);
});
it("keeps the broad agents lane on shared file parallelism", () => {
expect(defaultAgentsConfig.test?.fileParallelism).toBe(sharedVitestConfig.test.fileParallelism);
});
it("keeps selected plugin-sdk and commands light lanes off the openclaw runtime setup", () => {
expect(normalizeConfigPaths(defaultPluginSdkLightConfig.test?.setupFiles)).toEqual([ "test/setup.ts",
]);
expect(normalizeConfigPaths(defaultCommandsLightConfig.test?.setupFiles)).toEqual([ "test/setup.ts",
]);
});
it("keeps the ui lane off both the openclaw runtime setup and unit-fast excludes", () => {
expect(normalizeConfigPaths(defaultUiConfig.test?.setupFiles)).toEqual([ "test/setup.ts", "ui/src/test-helpers/lit-warnings.setup.ts",
]);
expect(defaultUiConfig.test?.exclude).not.toContain("chat/slash-command-executor.node.test.ts");
});
it("defaults channel tests to threads with the non-isolated runner", () => {
expect(defaultChannelsConfig.test?.isolate).toBe(false);
expect(defaultChannelsConfig.test?.pool).toBe("threads");
expect(normalizeConfigPath(defaultChannelsConfig.test?.runner)).toBe( "test/non-isolated-runner.ts",
);
});
it("keeps the core channel lane limited to non-extension roots", () => {
expect(defaultChannelsConfig.test?.include).toEqual(["src/channels/**/*.test.ts"]);
});
it("keeps provider plugin tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) =>
path.matchesGlob("openai/openai-codex-provider.test.ts", pattern),
),
).toBe(true);
});
it("keeps messaging plugin tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) => path.matchesGlob("matrix/src/channel.test.ts", pattern)),
).toBe(true);
});
it("keeps mattermost tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) =>
path.matchesGlob("mattermost/src/channel.test.ts", pattern),
),
).toBe(true);
});
it("normalizes secrets include patterns relative to the scoped dir", () => {
expect(defaultSecretsConfig.test?.dir).toBe(path.join(process.cwd(), "src", "secrets"));
expect(defaultSecretsConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes hooks include patterns relative to the scoped dir", () => {
expect(defaultHooksConfig.test?.dir).toBe(path.join(process.cwd(), "src", "hooks"));
expect(defaultHooksConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("keeps memory plugin tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) =>
path.matchesGlob("memory-core/src/memory/test-runtime-mocks.ts", pattern),
),
).toBe(true);
});
it("keeps bluebubbles tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) =>
path.matchesGlob("bluebubbles/src/monitor.test.ts", pattern),
),
).toBe(true);
});
it("keeps feishu tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) => path.matchesGlob("feishu/src/channel.test.ts", pattern)),
).toBe(true);
});
it("keeps irc tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) => path.matchesGlob("irc/src/channel.test.ts", pattern)),
).toBe(true);
});
it("keeps acpx tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) => path.matchesGlob("acpx/src/runtime.test.ts", pattern)),
).toBe(true);
});
it("keeps diffs tests out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(
extensionExcludes.some((pattern) => path.matchesGlob("diffs/src/render.test.ts", pattern)),
).toBe(true);
});
it("keeps broad dedicated extension groups out of the shared extensions lane", () => { const extensionExcludes = defaultExtensionsConfig.test?.exclude ?? [];
expect(defaultExtensionBrowserConfig.test?.include).toContain("browser/**/*.test.ts");
expect(defaultExtensionMediaConfig.test?.include).toContain("vydra/**/*.test.ts");
expect(defaultExtensionMiscConfig.test?.include).toContain("firecrawl/**/*.test.ts");
expect(defaultExtensionQaConfig.test?.include).toContain("qa-lab/**/*.test.ts"); for (const file of [ "browser/src/browser/pw.test.ts", "vydra/src/index.test.ts", "firecrawl/src/index.test.ts", "qa-lab/src/index.test.ts",
]) {
expect(extensionExcludes.some((pattern) => path.matchesGlob(file, pattern))).toBe(true);
}
});
it("normalizes gateway include patterns relative to the scoped dir", () => {
expect(defaultGatewayConfig.test?.dir).toBe(path.join(process.cwd(), "src", "gateway"));
expect(defaultGatewayConfig.test?.include).toEqual(["**/*.test.ts"]);
expect(defaultGatewayConfig.test?.exclude).toContain("gateway.test.ts");
expect(defaultGatewayConfig.test?.exclude).toContain( "server.startup-matrix-migration.integration.test.ts",
);
expect(defaultGatewayConfig.test?.exclude).toContain("sessions-history-http.test.ts");
});
it("normalizes infra include patterns relative to the scoped dir", () => {
expect(defaultInfraConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultInfraConfig.test?.include).toEqual(["infra/**/*.test.ts"]);
});
it("normalizes runtime config include patterns relative to the scoped dir", () => {
expect(defaultRuntimeConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultRuntimeConfig.test?.include).toEqual(["config/**/*.test.ts"]);
});
it("normalizes cron include patterns relative to the scoped dir", () => {
expect(defaultCronConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultCronConfig.test?.include).toEqual(["cron/**/*.test.ts"]);
});
it("normalizes daemon include patterns relative to the scoped dir", () => {
expect(defaultDaemonConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultDaemonConfig.test?.include).toEqual(["daemon/**/*.test.ts"]);
});
it("normalizes media include patterns relative to the scoped dir", () => {
expect(defaultMediaConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultMediaConfig.test?.include).toEqual(["media/**/*.test.ts"]);
});
it("normalizes logging include patterns relative to the scoped dir", () => {
expect(defaultLoggingConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultLoggingConfig.test?.include).toEqual(["logging/**/*.test.ts"]);
});
it("normalizes plugin-sdk include patterns relative to the scoped dir", () => {
expect(defaultPluginSdkConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultPluginSdkConfig.test?.include).toEqual(["plugin-sdk/**/*.test.ts"]);
});
it("normalizes shared-core include patterns relative to the scoped dir", () => {
expect(defaultSharedCoreConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultSharedCoreConfig.test?.include).toEqual(["shared/**/*.test.ts"]);
expect(normalizeConfigPaths(defaultSharedCoreConfig.test?.setupFiles)).toEqual([ "test/setup.ts",
]);
});
it("normalizes process include patterns relative to the scoped dir", () => {
expect(defaultProcessConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultProcessConfig.test?.include).toEqual(["process/**/*.test.ts"]);
});
it("normalizes tasks include patterns relative to the scoped dir", () => {
expect(defaultTasksConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultTasksConfig.test?.include).toEqual(["tasks/**/*.test.ts"]);
});
it("normalizes wizard include patterns relative to the scoped dir", () => {
expect(defaultWizardConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultWizardConfig.test?.include).toEqual(["wizard/**/*.test.ts"]);
});
it("normalizes tui include patterns relative to the scoped dir", () => {
expect(defaultTuiConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultTuiConfig.test?.include).toEqual(["tui/**/*.test.ts"]);
});
it("normalizes media-understanding include patterns relative to the scoped dir", () => {
expect(defaultMediaUnderstandingConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultMediaUnderstandingConfig.test?.include).toEqual([ "media-understanding/**/*.test.ts",
]);
});
it("keeps tooling tests in their own lane", () => {
expect(defaultToolingConfig.test?.include).toEqual(
expect.arrayContaining([ "test/**/*.test.ts", "src/scripts/**/*.test.ts", "src/config/doc-baseline.integration.test.ts",
]),
);
});
it("normalizes acp include patterns relative to the scoped dir", () => {
expect(defaultAcpConfig.test?.dir).toBe(path.join(process.cwd(), "src", "acp"));
expect(defaultAcpConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes cli include patterns relative to the scoped dir", () => {
expect(defaultCliConfig.test?.dir).toBe(path.join(process.cwd(), "src", "cli"));
expect(defaultCliConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes commands include patterns relative to the scoped dir", () => {
expect(defaultCommandsConfig.test?.dir).toBe(path.join(process.cwd(), "src", "commands"));
expect(defaultCommandsConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes auto-reply include patterns relative to the scoped dir", () => {
expect(defaultAutoReplyConfig.test?.dir).toBe(path.join(process.cwd(), "src", "auto-reply"));
expect(defaultAutoReplyConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes agents include patterns relative to the scoped dir", () => {
expect(defaultAgentsConfig.test?.dir).toBe(path.join(process.cwd(), "src", "agents"));
expect(defaultAgentsConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes plugins include patterns relative to the scoped dir", () => {
expect(defaultPluginsConfig.test?.dir).toBe(path.join(process.cwd(), "src", "plugins"));
expect(defaultPluginsConfig.test?.include).toEqual(["**/*.test.ts"]);
expect(defaultPluginsConfig.test?.exclude).toContain("contracts/**");
});
it("normalizes ui include patterns relative to the scoped dir", () => {
expect(defaultUiConfig.test?.dir).toBe(path.join(process.cwd(), "ui", "src", "ui"));
expect(defaultUiConfig.test?.include).toEqual(["**/*.test.ts"]);
});
it("normalizes utils include patterns relative to the scoped dir", () => {
expect(defaultUtilsConfig.test?.dir).toBe(path.join(process.cwd(), "src"));
expect(defaultUtilsConfig.test?.include).toEqual(["utils/**/*.test.ts"]);
expect(normalizeConfigPaths(defaultUtilsConfig.test?.setupFiles)).toEqual(["test/setup.ts"]);
});
});
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-06-07)
¤
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.