diff --git a/scripts/test-parallel.mjs b/scripts/test-parallel.mjs index 3dce3ce8d4..a98e0b11c3 100644 --- a/scripts/test-parallel.mjs +++ b/scripts/test-parallel.mjs @@ -15,7 +15,10 @@ const unitIsolatedFiles = [ "src/auto-reply/tool-meta.test.ts", "src/auto-reply/envelope.test.ts", "src/commands/auth-choice.test.ts", + "src/media/store.test.ts", "src/media/store.header-ext.test.ts", + "src/web/media.test.ts", + "src/web/auto-reply.web-auto-reply.falls-back-text-media-send-fails.test.ts", "src/browser/server.covers-additional-endpoint-branches.test.ts", "src/browser/server.post-tabs-open-profile-unknown-returns-404.test.ts", "src/browser/server.agent-contract-snapshot-endpoints.test.ts", diff --git a/test/setup.ts b/test/setup.ts index 6ccce0f0dc..f9f4d3ff74 100644 --- a/test/setup.ts +++ b/test/setup.ts @@ -163,11 +163,18 @@ const createDefaultRegistry = () => }, ]); +// Creating a fresh registry before every single test was measurable overhead. +// The registry is treated as immutable by production code; tests that need a +// custom registry set it explicitly. +const DEFAULT_PLUGIN_REGISTRY = createDefaultRegistry(); + beforeEach(() => { - setActivePluginRegistry(createDefaultRegistry()); + setActivePluginRegistry(DEFAULT_PLUGIN_REGISTRY); }); afterEach(() => { // Guard against leaked fake timers across test files/workers. - vi.useRealTimers(); + if (vi.isFakeTimers()) { + vi.useRealTimers(); + } });