diff --git a/packages/playwright-core/src/cli/innerCli.ts b/packages/playwright-core/src/cli/innerCli.ts index 097eddc680..6c588e8da1 100644 --- a/packages/playwright-core/src/cli/innerCli.ts +++ b/packages/playwright-core/src/cli/innerCli.ts @@ -246,7 +246,7 @@ if (!process.env.PW_LANG_NAME) { if (playwrightTestPackagePath) { require(playwrightTestPackagePath).addTestCommand(program); require(playwrightTestPackagePath).addShowReportCommand(program); - require(playwrightTestPackagePath).addListTestsCommand(program); + require(playwrightTestPackagePath).addListFilesCommand(program); } else { { const command = program.command('test').allowUnknownOption(true); diff --git a/packages/playwright-test/src/cli.ts b/packages/playwright-test/src/cli.ts index b0ef5cebc8..9ff010e07c 100644 --- a/packages/playwright-test/src/cli.ts +++ b/packages/playwright-test/src/cli.ts @@ -73,14 +73,14 @@ Examples: $ npx playwright test --browser=webkit`); } -export function addListTestsCommand(program: Command) { - const command = program.command('list-tests [test-filter...]', { hidden: true }); - command.description('List tests with Playwright Test'); +export function addListFilesCommand(program: Command) { + const command = program.command('list-files [file-filter...]', { hidden: true }); + command.description('List files with Playwright Test tests'); command.option('-c, --config ', `Configuration file, or a test directory with optional ${kDefaultConfigFiles.map(file => `"${file}"`).join('/')}`); command.option('--project ', `Only run tests from the specified list of projects (default: list all projects)`); command.action(async (args, opts) => { try { - await listTests(opts); + await listTestFiles(opts); } catch (e) { console.error(e); process.exit(1); @@ -167,11 +167,11 @@ async function runTests(args: string[], opts: { [key: string]: any }) { } -async function listTests(opts: { [key: string]: any }) { +async function listTestFiles(opts: { [key: string]: any }) { const configFile = opts.config ? path.resolve(process.cwd(), opts.config) : process.cwd(); const runner = new Runner({}, { defaultConfig: {} }); - const config = await runner.loadConfigFromFile(configFile); - const report = await runner.listAllTestFiles(config, opts.project); + await runner.loadConfigFromFile(configFile); + const report = await runner.listTestFiles(configFile, opts.project); process.stdout.write(JSON.stringify(report), () => { process.exit(0); }); diff --git a/packages/playwright-test/src/runner.ts b/packages/playwright-test/src/runner.ts index 5485f68701..db003d5b09 100644 --- a/packages/playwright-test/src/runner.ts +++ b/packages/playwright-test/src/runner.ts @@ -20,7 +20,7 @@ import * as fs from 'fs'; import * as path from 'path'; import { promisify } from 'util'; import { Dispatcher, TestGroup } from './dispatcher'; -import { createFileMatcher, createTitleMatcher, FilePatternFilter } from './util'; +import { createFileMatcher, createTitleMatcher, FilePatternFilter, serializeError } from './util'; import { TestCase, Suite } from './test'; import { Loader } from './loader'; import { FullResult, Reporter, TestError } from '../types/testReporter'; @@ -39,7 +39,6 @@ import { Config, FullConfig } from './types'; import { WebServer } from './webServer'; import { raceAgainstTimeout } from 'playwright-core/lib/utils/async'; import { SigIntWatcher } from 'playwright-core/lib/utils/utils'; -import { serializeError } from './util'; const removeFolderAsync = promisify(rimraf); const readDirAsync = promisify(fs.readdir); @@ -155,15 +154,15 @@ export class Runner { return fullResult; } - async listAllTestFiles(config: Config, projectNames: string[] | undefined): Promise { + async listTestFiles(configFile: string, projectNames: string[] | undefined): Promise { const filesByProject = await this._collectFiles([], projectNames); const report: any = { - testDir: config.testDir, projects: [] }; for (const [project, files] of filesByProject) { report.projects.push({ name: project.config.name, + testDir: path.resolve(configFile, project.config.testDir), files: files }); }