From 7bb2780760ca38ac5e05a5ea4817ac6e5cff157f Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Wed, 17 Jul 2024 16:24:44 +0200 Subject: [PATCH] propagate --onlyChanged through UI --- .../playwright-core/src/server/trace/viewer/traceViewer.ts | 3 +++ packages/playwright/src/isomorphic/testServerInterface.ts | 1 + packages/playwright/src/program.ts | 1 + packages/playwright/src/runner/testServer.ts | 1 + packages/trace-viewer/src/ui/uiModeView.tsx | 2 ++ 5 files changed, 8 insertions(+) diff --git a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts index d053a3e643..500381f657 100644 --- a/packages/playwright-core/src/server/trace/viewer/traceViewer.ts +++ b/packages/playwright-core/src/server/trace/viewer/traceViewer.ts @@ -39,6 +39,7 @@ export type TraceViewerRedirectOptions = { args?: string[]; grep?: string; grepInvert?: string; + onlyChanged?: string; project?: string[]; workers?: number | string; headed?: boolean; @@ -123,6 +124,8 @@ export async function installRootRedirect(server: HttpServer, traceUrls: string[ params.append('grep', options.grep); if (options.grepInvert) params.append('grepInvert', options.grepInvert); + if (options.onlyChanged) + params.append('onlyChanged', options.onlyChanged); for (const project of options.project || []) params.append('project', project); if (options.workers) diff --git a/packages/playwright/src/isomorphic/testServerInterface.ts b/packages/playwright/src/isomorphic/testServerInterface.ts index ac06f65c24..90e177ab54 100644 --- a/packages/playwright/src/isomorphic/testServerInterface.ts +++ b/packages/playwright/src/isomorphic/testServerInterface.ts @@ -88,6 +88,7 @@ export interface TestServerInterface { locations?: string[]; grep?: string; grepInvert?: string; + onlyChanged?: string; testIds?: string[]; headed?: boolean; workers?: number | string; diff --git a/packages/playwright/src/program.ts b/packages/playwright/src/program.ts index accaefd4d7..98de1401e0 100644 --- a/packages/playwright/src/program.ts +++ b/packages/playwright/src/program.ts @@ -179,6 +179,7 @@ async function runTests(args: string[], opts: { [key: string]: any }) { args, grep: opts.grep as string | undefined, grepInvert: opts.grepInvert as string | undefined, + onlyChanged: getOnlyChangedArg(opts.onlyChanged), project: opts.project || undefined, headed: opts.headed, reporter: Array.isArray(opts.reporter) ? opts.reporter : opts.reporter ? [opts.reporter] : undefined, diff --git a/packages/playwright/src/runner/testServer.ts b/packages/playwright/src/runner/testServer.ts index c5133df3eb..8c3de2a61e 100644 --- a/packages/playwright/src/runner/testServer.ts +++ b/packages/playwright/src/runner/testServer.ts @@ -335,6 +335,7 @@ class TestServerDispatcher implements TestServerInterface { config.cliArgs = params.locations || []; config.cliGrep = params.grep; config.cliGrepInvert = params.grepInvert; + config.cliOnlyChanged = params.onlyChanged; config.cliProjectFilter = params.projects?.length ? params.projects : undefined; config.testIdMatcher = testIdSet ? id => testIdSet.has(id) : undefined; diff --git a/packages/trace-viewer/src/ui/uiModeView.tsx b/packages/trace-viewer/src/ui/uiModeView.tsx index c626c862c9..22bfcaf4d8 100644 --- a/packages/trace-viewer/src/ui/uiModeView.tsx +++ b/packages/trace-viewer/src/ui/uiModeView.tsx @@ -56,6 +56,7 @@ const queryParams = { args: searchParams.getAll('arg'), grep: searchParams.get('grep') || undefined, grepInvert: searchParams.get('grepInvert') || undefined, + onlyChanged: searchParams.get('onlyChanged') || undefined, projects: searchParams.getAll('project'), workers: searchParams.get('workers') || undefined, timeout: searchParams.has('timeout') ? +searchParams.get('timeout')! : undefined, @@ -282,6 +283,7 @@ export const UIModeView: React.FC<{}> = ({ locations: queryParams.args, grep: queryParams.grep, grepInvert: queryParams.grepInvert, + onlyChanged: queryParams.onlyChanged, testIds: [...testIds], projects: [...projectFilters].filter(([_, v]) => v).map(([p]) => p), workers: queryParams.workers,