From d69736767d43df0aac3c8419d4121c79ffd9e179 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:32:25 -0600 Subject: [PATCH] feat(playwright): add on-first-failure as valid trace mode --- packages/playwright/src/program.ts | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/packages/playwright/src/program.ts b/packages/playwright/src/program.ts index d24add96d3..9be1bbfe74 100644 --- a/packages/playwright/src/program.ts +++ b/packages/playwright/src/program.ts @@ -16,25 +16,24 @@ /* eslint-disable no-console */ -import type { Command } from 'playwright-core/lib/utilsBundle'; import fs from 'fs'; import path from 'path'; -import { Runner } from './runner/runner'; -import { stopProfiling, startProfiling, gracefullyProcessExitDoNotHang } from 'playwright-core/lib/utils'; -import { serializeError } from './util'; -import { showHTMLReport } from './reporters/html'; -import { createMergedReport } from './reporters/merge'; +import { program } from 'playwright-core/lib/cli/program'; +import { gracefullyProcessExitDoNotHang, startProfiling, stopProfiling } from 'playwright-core/lib/utils'; +import type { Command } from 'playwright-core/lib/utilsBundle'; +import type { ReporterDescription, TraceMode } from '../types/test'; +import type { FullResult, TestError } from '../types/testReporter'; +import { builtInReporters, defaultReporter, defaultTimeout } from './common/config'; import { loadConfigFromFileRestartIfNeeded, loadEmptyConfigForMergeReports } from './common/configLoader'; import type { ConfigCLIOverrides } from './common/ipc'; -import type { FullResult, TestError } from '../types/testReporter'; -import type { TraceMode } from '../types/test'; -import { builtInReporters, defaultReporter, defaultTimeout } from './common/config'; -import { program } from 'playwright-core/lib/cli/program'; -export { program } from 'playwright-core/lib/cli/program'; -import type { ReporterDescription } from '../types/test'; import { prepareErrorStack } from './reporters/base'; -import { cacheDir } from './transform/compilationCache'; +import { showHTMLReport } from './reporters/html'; +import { createMergedReport } from './reporters/merge'; +import { Runner } from './runner/runner'; import { runTestServer } from './runner/testServer'; +import { cacheDir } from './transform/compilationCache'; +import { serializeError } from './util'; +export { program } from 'playwright-core/lib/cli/program'; function addTestCommand(program: Command) { const command = program.command('test [test-filter...]'); @@ -290,7 +289,7 @@ function resolveReporter(id: string) { return require.resolve(id, { paths: [process.cwd()] }); } -const kTraceModes: TraceMode[] = ['on', 'off', 'on-first-retry', 'on-all-retries', 'retain-on-failure']; +const kTraceModes: TraceMode[] = ['on', 'off', 'on-first-retry', 'on-all-retries', 'retain-on-failure', 'on-first-failure']; const testOptions: [string, string][] = [ ['--browser ', `Browser to use for tests, one of "all", "chromium", "firefox" or "webkit" (default: "chromium")`],