From 847b546794c0bb3fa8cf9eda8561fe88ce774bb1 Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Fri, 24 Mar 2023 20:56:45 -0700 Subject: [PATCH] cherry-pick(#21976): chore(ui): do not print global setup epilogue --- packages/playwright-test/src/reporters/base.ts | 2 ++ packages/playwright-test/src/reporters/list.ts | 7 +++++-- packages/playwright-test/src/runner/uiMode.ts | 3 ++- tests/playwright-test/exit-code.spec.ts | 1 - 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/playwright-test/src/reporters/base.ts b/packages/playwright-test/src/reporters/base.ts index 4f6e376f33746..645b581673f1a 100644 --- a/packages/playwright-test/src/reporters/base.ts +++ b/packages/playwright-test/src/reporters/base.ts @@ -124,6 +124,8 @@ export class BaseReporter implements Reporter { protected generateStartingMessage() { const jobs = Math.min(this.config.workers, this.config._internal.maxConcurrentTestGroups); const shardDetails = this.config.shard ? `, shard ${this.config.shard.current} of ${this.config.shard.total}` : ''; + if (!this.totalTestCount) + return ''; return '\n' + colors.dim('Running ') + this.totalTestCount + colors.dim(` test${this.totalTestCount !== 1 ? 's' : ''} using `) + jobs + colors.dim(` worker${jobs !== 1 ? 's' : ''}${shardDetails}`); } diff --git a/packages/playwright-test/src/reporters/list.ts b/packages/playwright-test/src/reporters/list.ts index 64de2254c0e63..5d394f3c2f661 100644 --- a/packages/playwright-test/src/reporters/list.ts +++ b/packages/playwright-test/src/reporters/list.ts @@ -47,8 +47,11 @@ class ListReporter extends BaseReporter { override onBegin(config: FullConfig, suite: Suite) { super.onBegin(config, suite); - console.log(this.generateStartingMessage()); - console.log(); + const startingMessage = this.generateStartingMessage(); + if (startingMessage) { + console.log(startingMessage); + console.log(); + } } onTestBegin(test: TestCase, result: TestResult) { diff --git a/packages/playwright-test/src/runner/uiMode.ts b/packages/playwright-test/src/runner/uiMode.ts index aa69930580460..bfbd0f467f580 100644 --- a/packages/playwright-test/src/runner/uiMode.ts +++ b/packages/playwright-test/src/runner/uiMode.ts @@ -28,6 +28,7 @@ import { createTaskRunnerForList, createTaskRunnerForWatch, createTaskRunnerForW import { chokidar } from '../utilsBundle'; import type { FSWatcher } from 'chokidar'; import { open } from '../utilsBundle'; +import ListReporter from '../reporters/list'; class UIMode { private _config: FullConfigInternal; @@ -66,7 +67,7 @@ class UIMode { } async runGlobalSetup(): Promise { - const reporter = await createReporter(this._config, 'run'); + const reporter = new Multiplexer([new ListReporter()]); const taskRunner = createTaskRunnerForWatchSetup(this._config, reporter); reporter.onConfigure(this._config); const context: TaskRunnerState = { diff --git a/tests/playwright-test/exit-code.spec.ts b/tests/playwright-test/exit-code.spec.ts index ec12328c5791c..65a26cd90af1d 100644 --- a/tests/playwright-test/exit-code.spec.ts +++ b/tests/playwright-test/exit-code.spec.ts @@ -163,7 +163,6 @@ test('should exit with code 0 with --pass-with-no-tests', async ({ runInlineTest `, }, undefined, undefined, { additionalArgs: ['--pass-with-no-tests'] }); expect(result.exitCode).toBe(0); - expect(result.output).toContain(`Running 0 tests using 0 workers`); }); test('should exit with code 1 when config is not found', async ({ runInlineTest }) => {