diff --git a/packages/playwright/src/program.ts b/packages/playwright/src/program.ts index b68fb86068..54c6f768c4 100644 --- a/packages/playwright/src/program.ts +++ b/packages/playwright/src/program.ts @@ -198,7 +198,7 @@ async function runTests(args: string[], opts: { [key: string]: any }) { config.cliGrepInvert = opts.grepInvert as string | undefined; config.cliListOnly = !!opts.list; config.cliProjectFilter = opts.project || undefined; - config.cliPassWithNoTests = !!(opts.passWithNoTests ?? opts.onlyChanged); + config.cliPassWithNoTests =opts.passWithNoTests; config.cliFailOnFlakyTests = !!opts.failOnFlakyTests; const runner = new Runner(config); diff --git a/packages/playwright/src/runner/tasks.ts b/packages/playwright/src/runner/tasks.ts index 4220291a08..aa2893b250 100644 --- a/packages/playwright/src/runner/tasks.ts +++ b/packages/playwright/src/runner/tasks.ts @@ -239,7 +239,7 @@ function createLoadTask(mode: 'out-of-process' | 'in-process', options: { filter testRun.rootSuite = await createRootSuite(testRun, options.failOnLoadErrors ? errors : softErrors, !!options.filterOnly, cliOnlyChangedMatcher); testRun.failureTracker.onRootSuite(testRun.rootSuite); // Fail when no tests. - if (options.failOnLoadErrors && !testRun.rootSuite.allTests().length && !testRun.config.cliPassWithNoTests && !testRun.config.config.shard) { + if (options.failOnLoadErrors && !testRun.rootSuite.allTests().length && !testRun.config.cliPassWithNoTests && !testRun.config.config.shard && !testRun.config.cliOnlyChanged) { if (testRun.config.cliArgs.length) { throw new Error([ `No tests found.`,