diff --git a/packages/playwright/src/runner/loadUtils.ts b/packages/playwright/src/runner/loadUtils.ts index c35e6edd97..1bc0fff3fe 100644 --- a/packages/playwright/src/runner/loadUtils.ts +++ b/packages/playwright/src/runner/loadUtils.ts @@ -196,10 +196,10 @@ export async function createRootSuite(testRun: TestRun, errors: TestError[], sho const allTests = new Set(filteredTestGroups.flatMap(group => group.tests)); for (const filter of filters) { if ('filterTestGroups' in filter) { - filteredTestGroups = filter.filterTestGroups(filteredTestGroups); + filteredTestGroups = filter.filterTestGroups(filteredTestGroups, config.config); } else if ('filterTests' in filter) { filteredTestGroups = filteredTestGroups.map(group => { - return { tests: filter.filterTests(group.tests) }; + return { tests: filter.filterTests(group.tests, config.config) }; }); } else if (typeof filter === 'function') { filteredTestGroups = filteredTestGroups.map(group => { diff --git a/packages/playwright/types/test.d.ts b/packages/playwright/types/test.d.ts index 9d052559b9..ce58bb3816 100644 --- a/packages/playwright/types/test.d.ts +++ b/packages/playwright/types/test.d.ts @@ -1886,8 +1886,8 @@ export type TestDetails = { } type TestFilterFunction = (test: TestCase) => boolean; -type TestsFilter = { filterTests(tests: TestCase[]): TestCase[] } -type TestGroupsFilter = { filterTestGroups(testGroups: { tests: TestCase[] }[]): { tests: TestCase[] }[] } +type TestsFilter = { filterTests(tests: TestCase[], config: FullConfig): TestCase[] }; +type TestGroupsFilter = { filterTestGroups(testGroups: { tests: TestCase[] }[], config: FullConfig): { tests: TestCase[] }[] } export type TestFilter = TestFilterFunction | TestsFilter | TestGroupsFilter; interface SuiteFunction { diff --git a/utils/generate_types/overrides-test.d.ts b/utils/generate_types/overrides-test.d.ts index 36f45d8eb7..529419cefb 100644 --- a/utils/generate_types/overrides-test.d.ts +++ b/utils/generate_types/overrides-test.d.ts @@ -78,8 +78,8 @@ export type TestDetails = { } type TestFilterFunction = (test: TestCase) => boolean; -type TestsFilter = { filterTests(tests: TestCase[]): TestCase[] } -type TestGroupsFilter = { filterTestGroups(testGroups: { tests: TestCase[] }[]): { tests: TestCase[] }[] } +type TestsFilter = { filterTests(tests: TestCase[], config: FullConfig): TestCase[] }; +type TestGroupsFilter = { filterTestGroups(testGroups: { tests: TestCase[] }[], config: FullConfig): { tests: TestCase[] }[] } export type TestFilter = TestFilterFunction | TestsFilter | TestGroupsFilter; interface SuiteFunction {