fix: respect .only in --list mode

Fixes https://github.com/microsoft/playwright/issues/28709
This commit is contained in:
Yury Semikhatsky 2023-12-19 11:04:52 -08:00
parent a1a4133152
commit 9a5bfc54e5
2 changed files with 4 additions and 4 deletions

View file

@ -102,7 +102,7 @@ function addRunTasks(taskRunner: TaskRunner<TestRun>, config: FullConfigInternal
export function createTaskRunnerForList(config: FullConfigInternal, reporter: ReporterV2, mode: 'in-process' | 'out-of-process', options: { failOnLoadErrors: boolean }): TaskRunner<TestRun> { export function createTaskRunnerForList(config: FullConfigInternal, reporter: ReporterV2, mode: 'in-process' | 'out-of-process', options: { failOnLoadErrors: boolean }): TaskRunner<TestRun> {
const taskRunner = new TaskRunner<TestRun>(reporter, config.config.globalTimeout); const taskRunner = new TaskRunner<TestRun>(reporter, config.config.globalTimeout);
taskRunner.addTask('load tests', createLoadTask(mode, { ...options, filterOnly: false })); taskRunner.addTask('load tests', createLoadTask(mode, { ...options, filterOnly: true }));
taskRunner.addTask('report begin', createReportBeginTask()); taskRunner.addTask('report begin', createReportBeginTask());
return taskRunner; return taskRunner;
} }

View file

@ -152,7 +152,8 @@ test('should report errors', async ({ runInlineTest }) => {
expect(result.output).toContain('> 3 | oh = 2;'); expect(result.output).toContain('> 3 | oh = 2;');
}); });
test('should ignore .only', async ({ runInlineTest }) => { test('should respect .only', async ({ runInlineTest }) => {
test.info().annotations.push({ type: 'issue', description: 'https://github.com/microsoft/playwright/issues/28709' });
const result = await runInlineTest({ const result = await runInlineTest({
'a.test.js': ` 'a.test.js': `
const { test, expect } = require('@playwright/test'); const { test, expect } = require('@playwright/test');
@ -167,9 +168,8 @@ test('should ignore .only', async ({ runInlineTest }) => {
expect(result.exitCode).toBe(0); expect(result.exitCode).toBe(0);
expect(result.output).toContain([ expect(result.output).toContain([
`Listing tests:`, `Listing tests:`,
` a.test.js:3:7 example1`,
` a.test.js:6:12 example2`, ` a.test.js:6:12 example2`,
`Total: 2 tests in 1 file` `Total: 1 test in 1 file`
].join('\n')); ].join('\n'));
}); });