From dc4c02e4c447280d3754e8d33266474fb87621ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 28 Jan 2025 14:52:54 +0100 Subject: [PATCH 1/2] fix(workspace): forward `inspect` related cli options --- packages/vitest/src/node/workspace/resolveWorkspace.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vitest/src/node/workspace/resolveWorkspace.ts b/packages/vitest/src/node/workspace/resolveWorkspace.ts index 9150dcc6c732..d36d611ab091 100644 --- a/packages/vitest/src/node/workspace/resolveWorkspace.ts +++ b/packages/vitest/src/node/workspace/resolveWorkspace.ts @@ -44,6 +44,9 @@ export async function resolveWorkspace( 'bail', 'isolate', 'printConsoleTrace', + 'inspect', + 'inspectBrk', + 'fileParallelism', ] as const const cliOverrides = overridesOptions.reduce((acc, name) => { @@ -73,7 +76,7 @@ export async function resolveWorkspace( projectPromises.push(concurrent(() => initializeProject( index, vitest, - { ...options, root, configFile }, + { ...options, root, configFile, test: { ...options.test, ...cliOverrides } }, ))) }) From 59b6b26e9e281e55a650a52af4e7a02751733226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ari=20Perkki=C3=B6?= Date: Tue, 28 Jan 2025 15:35:12 +0100 Subject: [PATCH 2/2] test(browser): `--inspect-brk` with workspaces --- .../browser/fixtures/inspect/vitest.config.ts | 1 + .../inspect/vitest.config.with-workspace.ts | 22 +++++++++++++++++++ test/browser/specs/inspect.test.ts | 18 +++++++-------- 3 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 test/browser/fixtures/inspect/vitest.config.with-workspace.ts diff --git a/test/browser/fixtures/inspect/vitest.config.ts b/test/browser/fixtures/inspect/vitest.config.ts index a4b93a5180c0..ffb4bea01ee2 100644 --- a/test/browser/fixtures/inspect/vitest.config.ts +++ b/test/browser/fixtures/inspect/vitest.config.ts @@ -5,6 +5,7 @@ export default defineConfig({ test: { watch: false, browser: { + enabled: true, provider: "playwright", name: "chromium", headless: true, diff --git a/test/browser/fixtures/inspect/vitest.config.with-workspace.ts b/test/browser/fixtures/inspect/vitest.config.with-workspace.ts new file mode 100644 index 000000000000..ee91b8bcd02b --- /dev/null +++ b/test/browser/fixtures/inspect/vitest.config.with-workspace.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + server: { port: 5199 }, + test: { + watch: false, + + workspace: [ + { + test: { + name: "Browser in workspace", + browser: { + provider: "playwright", + enabled: true, + headless: true, + instances: [{ browser: "chromium" }] + }, + }, + }, + ], + }, +}); diff --git a/test/browser/specs/inspect.test.ts b/test/browser/specs/inspect.test.ts index efc063984fbc..a67b31354967 100644 --- a/test/browser/specs/inspect.test.ts +++ b/test/browser/specs/inspect.test.ts @@ -9,15 +9,15 @@ type Message = Partial> const IS_PLAYWRIGHT = process.env.PROVIDER === 'playwright' const REMOTE_DEBUG_URL = '127.0.0.1:9123' -test.runIf(IS_PLAYWRIGHT || !process.env.CI)('--inspect-brk stops at test file', async () => { - const { vitest, waitForClose } = await runVitestCli( - '--root', - 'fixtures/inspect', - '--browser', - '--no-file-parallelism', - '--inspect-brk', - REMOTE_DEBUG_URL, - ) +test.runIf(IS_PLAYWRIGHT || !process.env.CI).each(['', 'with workspace'])('--inspect-brk stops at test file %s', async (isWorkspace) => { + const options = ['--root', 'fixtures/inspect', '--no-file-parallelism', '--inspect-brk', REMOTE_DEBUG_URL] + + if (isWorkspace) { + options.push('--config') + options.push('vitest.config.with-workspace.ts') + } + + const { vitest, waitForClose } = await runVitestCli(...options) await vitest.waitForStdout(`Debugger listening on ws://${REMOTE_DEBUG_URL}`)