From 4984cad5ae913e94aa3d19041c145456862feacb Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Wed, 22 Apr 2026 21:38:56 -0700 Subject: [PATCH] fix(test): route misc extension targets to the misc shard --- scripts/test-projects.test-support.mjs | 7 +++++++ test/scripts/test-projects.test.ts | 13 +++++++++++++ 2 files changed, 20 insertions(+) diff --git a/scripts/test-projects.test-support.mjs b/scripts/test-projects.test-support.mjs index bfcee88de2e..f684f0c405d 100644 --- a/scripts/test-projects.test-support.mjs +++ b/scripts/test-projects.test-support.mjs @@ -18,6 +18,7 @@ import { isMattermostExtensionRoot } from "../test/vitest/vitest.extension-matte import { isMediaExtensionRoot } from "../test/vitest/vitest.extension-media-paths.mjs"; import { isMemoryExtensionRoot } from "../test/vitest/vitest.extension-memory-paths.mjs"; import { isMessagingExtensionRoot } from "../test/vitest/vitest.extension-messaging-paths.mjs"; +import { isMiscExtensionRoot } from "../test/vitest/vitest.extension-misc-paths.mjs"; import { isMsTeamsExtensionRoot } from "../test/vitest/vitest.extension-msteams-paths.mjs"; import { isProviderExtensionRoot, @@ -79,6 +80,7 @@ const EXTENSION_MATRIX_VITEST_CONFIG = "test/vitest/vitest.extension-matrix.conf 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_MISC_VITEST_CONFIG = "test/vitest/vitest.extension-misc.config.ts"; const EXTENSION_PROVIDER_OPENAI_VITEST_CONFIG = "test/vitest/vitest.extension-provider-openai.config.ts"; const EXTENSION_PROVIDERS_VITEST_CONFIG = "test/vitest/vitest.extension-providers.config.ts"; @@ -148,6 +150,7 @@ const VITEST_CONFIG_BY_KIND = { extensionMedia: EXTENSION_MEDIA_VITEST_CONFIG, extensionMemory: EXTENSION_MEMORY_VITEST_CONFIG, extensionMessaging: EXTENSION_MESSAGING_VITEST_CONFIG, + extensionMisc: EXTENSION_MISC_VITEST_CONFIG, extensionMsTeams: EXTENSION_MSTEAMS_VITEST_CONFIG, extensionProviderOpenAi: EXTENSION_PROVIDER_OPENAI_VITEST_CONFIG, extensionProvider: EXTENSION_PROVIDERS_VITEST_CONFIG, @@ -597,6 +600,9 @@ function classifyTarget(arg, cwd) { if (isMessagingExtensionRoot(extensionRoot)) { return "extensionMessaging"; } + if (isMiscExtensionRoot(extensionRoot)) { + return "extensionMisc"; + } return isProviderExtensionRoot(extensionRoot) ? "extensionProvider" : "extension"; } const channelContractKind = resolveChannelContractTargetKind(relative); @@ -849,6 +855,7 @@ export function buildVitestRunPlans( "extensionMatrix", "extensionMedia", "extensionMemory", + "extensionMisc", "extensionMsTeams", "extensionMessaging", "extensionProviderOpenAi", diff --git a/test/scripts/test-projects.test.ts b/test/scripts/test-projects.test.ts index 074b316d80f..dfec1ea370f 100644 --- a/test/scripts/test-projects.test.ts +++ b/test/scripts/test-projects.test.ts @@ -97,6 +97,19 @@ describe("scripts/test-projects changed-target routing", () => { ]); }); + it("routes misc extensions to the misc extension shard", () => { + const plans = buildVitestRunPlans(["extensions/thread-ownership"], process.cwd()); + + expect(plans).toEqual([ + { + config: "test/vitest/vitest.extension-misc.config.ts", + forwardedArgs: [], + includePatterns: ["extensions/thread-ownership/**/*.test.ts"], + watchMode: false, + }, + ]); + }); + it("keeps the broad changed run for shared test helpers", () => { expect( resolveChangedTargetArgs(["--changed", "origin/main"], process.cwd(), () => [