From b24f625578f4318957f8da7f6c2713fc22cf1141 Mon Sep 17 00:00:00 2001 From: Simon Knott Date: Fri, 4 Oct 2024 13:12:01 +0200 Subject: [PATCH] assert on title --- packages/playwright/src/runner/tasks.ts | 16 ++++++--------- tests/playwright-test/global-setup.spec.ts | 23 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/packages/playwright/src/runner/tasks.ts b/packages/playwright/src/runner/tasks.ts index b0220a6984..24a6c7048b 100644 --- a/packages/playwright/src/runner/tasks.ts +++ b/packages/playwright/src/runner/tasks.ts @@ -99,8 +99,9 @@ export function createGlobalSetupTasks(config: FullConfigInternal) { tasks.push(createRemoveOutputDirsTask()); tasks.push(...createPluginSetupTasks(config)); if (config.globalSetups.length || config.globalTeardowns.length) { - for (let i = 0; i < Math.max(config.globalSetups.length, config.globalTeardowns.length); i++) - tasks.push(createGlobalSetupTask(i, config)); + const length = Math.max(config.globalSetups.length, config.globalTeardowns.length); + for (let i = 0; i < length; i++) + tasks.push(createGlobalSetupTask(i, length)); } return tasks; } @@ -163,19 +164,14 @@ function createPluginBeginTask(plugin: TestRunnerPluginRegistration): Task { +function createGlobalSetupTask(index: number, length: number): Task { let globalSetupResult: any; let globalSetupFinished = false; let teardownHook: any; let title = 'global setup'; - if (config.globalSetups.length > 1 || config.globalSetups.length > 1) { - const files = [ - config.globalSetups[index], - config.globalTeardowns[index], - ].filter(Boolean).join(', '); - title += ` (${files})`; - } + if (length) + title += ` #${index}`; return { title, diff --git a/tests/playwright-test/global-setup.spec.ts b/tests/playwright-test/global-setup.spec.ts index 001299d857..12bdff21dd 100644 --- a/tests/playwright-test/global-setup.spec.ts +++ b/tests/playwright-test/global-setup.spec.ts @@ -427,3 +427,26 @@ test('globalSetup should support multiple', async ({ runInlineTest }) => { 'globalTeardown1', ]); }); + +test('debug logs show index of setup/teardown', async ({ runInlineTest }) => { + const { output } = await runInlineTest({ + 'playwright.config.ts': ` + module.exports = { + globalSetup: ['./globalSetup1.ts','./globalSetup2.ts'], + globalTeardown: ['./globalTeardown1.ts', './globalTeardown2.ts'], + }; + `, + 'globalSetup1.ts': `module.exports = () => console.log('globalSetup1');`, + 'globalSetup2.ts': `module.exports = () => console.log('globalSetup2');`, + 'globalTeardown1.ts': `module.exports = () => console.log('globalTeardown1');`, + 'globalTeardown2.ts': `module.exports = () => console.log('globalTeardown2');`, + + 'a.test.js': ` + import { test } from '@playwright/test'; + test('a', () => console.log('test a')); + `, + }, { reporter: 'line' }, { DEBUG: 'pw:test:task' }); + + expect(output).toContain('pw:test:task "global setup #0" started'); + expect(output).toContain('pw:test:task "teardown for global setup #0" started'); +});