From 11e95a49d0a6cc2e9df01d72a574c03a28daeb93 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 23 Apr 2026 21:49:38 +0100 Subject: [PATCH] test: name contract vitest projects --- test/vitest-projects-config.test.ts | 21 +++++++++++++++++++ .../vitest.contracts-channel-config.config.ts | 9 +++++++- ...itest.contracts-channel-registry.config.ts | 9 +++++++- ...vitest.contracts-channel-session.config.ts | 9 +++++++- ...vitest.contracts-channel-surface.config.ts | 9 +++++++- test/vitest/vitest.contracts-plugin.config.ts | 4 +++- test/vitest/vitest.contracts-shared.ts | 2 ++ 7 files changed, 58 insertions(+), 5 deletions(-) diff --git a/test/vitest-projects-config.test.ts b/test/vitest-projects-config.test.ts index 360d0498fea..3d84a922659 100644 --- a/test/vitest-projects-config.test.ts +++ b/test/vitest-projects-config.test.ts @@ -6,6 +6,11 @@ import bundledConfig from "./vitest/vitest.bundled.config.ts"; import { createCommandsLightVitestConfig } from "./vitest/vitest.commands-light.config.ts"; import { createCommandsVitestConfig } from "./vitest/vitest.commands.config.ts"; import baseConfig, { rootVitestProjects } from "./vitest/vitest.config.ts"; +import contractChannelConfigConfig from "./vitest/vitest.contracts-channel-config.config.ts"; +import contractChannelRegistryConfig from "./vitest/vitest.contracts-channel-registry.config.ts"; +import contractChannelSessionConfig from "./vitest/vitest.contracts-channel-session.config.ts"; +import contractChannelSurfaceConfig from "./vitest/vitest.contracts-channel-surface.config.ts"; +import contractPluginConfig from "./vitest/vitest.contracts-plugin.config.ts"; import { createContractsVitestConfig, pluginContractPatterns, @@ -87,6 +92,22 @@ describe("projects vitest config", () => { expect(normalizeConfigPath(config.test.runner)).toBe("test/non-isolated-runner.ts"); }); + it("gives contract project configs unique names", () => { + expect([ + contractChannelSurfaceConfig.test?.name, + contractChannelConfigConfig.test?.name, + contractChannelRegistryConfig.test?.name, + contractChannelSessionConfig.test?.name, + contractPluginConfig.test?.name, + ]).toEqual([ + "contracts-channel-surface", + "contracts-channel-config", + "contracts-channel-registry", + "contracts-channel-session", + "contracts-plugin", + ]); + }); + it("narrows the contracts lane to targeted contract files", () => { const config = createContractsVitestConfig(pluginContractPatterns, {}, [ "node", diff --git a/test/vitest/vitest.contracts-channel-config.config.ts b/test/vitest/vitest.contracts-channel-config.config.ts index cfdd5626b03..e10776bb42f 100644 --- a/test/vitest/vitest.contracts-channel-config.config.ts +++ b/test/vitest/vitest.contracts-channel-config.config.ts @@ -3,4 +3,11 @@ import { createContractsVitestConfig, } from "./vitest.contracts-shared.ts"; -export default createContractsVitestConfig(channelConfigContractPatterns); +export default createContractsVitestConfig( + channelConfigContractPatterns, + process.env, + process.argv, + { + name: "contracts-channel-config", + }, +); diff --git a/test/vitest/vitest.contracts-channel-registry.config.ts b/test/vitest/vitest.contracts-channel-registry.config.ts index 4e05470b932..9e479b632d7 100644 --- a/test/vitest/vitest.contracts-channel-registry.config.ts +++ b/test/vitest/vitest.contracts-channel-registry.config.ts @@ -3,4 +3,11 @@ import { createContractsVitestConfig, } from "./vitest.contracts-shared.ts"; -export default createContractsVitestConfig(channelRegistryContractPatterns); +export default createContractsVitestConfig( + channelRegistryContractPatterns, + process.env, + process.argv, + { + name: "contracts-channel-registry", + }, +); diff --git a/test/vitest/vitest.contracts-channel-session.config.ts b/test/vitest/vitest.contracts-channel-session.config.ts index 26813c4b026..b20826aa976 100644 --- a/test/vitest/vitest.contracts-channel-session.config.ts +++ b/test/vitest/vitest.contracts-channel-session.config.ts @@ -3,4 +3,11 @@ import { createContractsVitestConfig, } from "./vitest.contracts-shared.ts"; -export default createContractsVitestConfig(channelSessionContractPatterns); +export default createContractsVitestConfig( + channelSessionContractPatterns, + process.env, + process.argv, + { + name: "contracts-channel-session", + }, +); diff --git a/test/vitest/vitest.contracts-channel-surface.config.ts b/test/vitest/vitest.contracts-channel-surface.config.ts index 2a6190abe54..3c455ffa1a6 100644 --- a/test/vitest/vitest.contracts-channel-surface.config.ts +++ b/test/vitest/vitest.contracts-channel-surface.config.ts @@ -3,4 +3,11 @@ import { createContractsVitestConfig, } from "./vitest.contracts-shared.ts"; -export default createContractsVitestConfig(channelSurfaceContractPatterns); +export default createContractsVitestConfig( + channelSurfaceContractPatterns, + process.env, + process.argv, + { + name: "contracts-channel-surface", + }, +); diff --git a/test/vitest/vitest.contracts-plugin.config.ts b/test/vitest/vitest.contracts-plugin.config.ts index f7068420fa0..2ffd080015d 100644 --- a/test/vitest/vitest.contracts-plugin.config.ts +++ b/test/vitest/vitest.contracts-plugin.config.ts @@ -1,3 +1,5 @@ import { createContractsVitestConfig, pluginContractPatterns } from "./vitest.contracts-shared.ts"; -export default createContractsVitestConfig(pluginContractPatterns); +export default createContractsVitestConfig(pluginContractPatterns, process.env, process.argv, { + name: "contracts-plugin", +}); diff --git a/test/vitest/vitest.contracts-shared.ts b/test/vitest/vitest.contracts-shared.ts index d588974e741..f9347270ed0 100644 --- a/test/vitest/vitest.contracts-shared.ts +++ b/test/vitest/vitest.contracts-shared.ts @@ -70,6 +70,7 @@ export function createContractsVitestConfig( includePatterns: string[], env: Record = process.env, argv: string[] = process.argv, + options: { name?: string } = {}, ) { const cliIncludePatterns = narrowIncludePatternsForCli(includePatterns, argv); const envIncludePatterns = narrowContractIncludePatterns( @@ -80,6 +81,7 @@ export function createContractsVitestConfig( ...base, test: { ...baseTest, + name: options.name ?? "contracts", isolate: false, // Contract shards intentionally run non-isolated and load broad registries. // Use forks so full-suite parallel runs do not hit worker-thread heap limits.