fix(browser): support `fileParallelism` on an instance (#9328) · vitest-dev/vitest@1500654

File tree

2 files changed

lines changed

  • packages/vitest/src/node/projects

2 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -253,6 +253,7 @@ function cloneConfig(project: TestProject, { browser, ...config }: BrowserInstan

253253

headless,

254254

screenshotDirectory,

255255

screenshotFailures,

256+

fileParallelism,

256257

// @ts-expect-error remove just in case

257258

browser: _browser,

258259

name,

@@ -276,6 +277,7 @@ function cloneConfig(project: TestProject, { browser, ...config }: BrowserInstan

276277

screenshotFailures: screenshotFailures ?? currentConfig.screenshotFailures,

277278

headless: headless ?? currentConfig.headless,

278279

provider: provider ?? currentConfig.provider,

280+

fileParallelism: fileParallelism ?? currentConfig.fileParallelism,

279281

name: browser,

280282

instances: [], // projects cannot spawn more configs

281283

},

Original file line numberDiff line numberDiff line change

@@ -533,6 +533,29 @@ test('provider options can be changed dynamically in CLI', async () => {

533533

})

534534

})

535535
536+

test('fileParallelism on the instance works properly', async () => {

537+

const v = await vitest({}, {

538+

fileParallelism: true,

539+

browser: {

540+

enabled: true,

541+

provider: playwright(),

542+

instances: [

543+

{

544+

browser: 'chromium',

545+

fileParallelism: false,

546+

},

547+

{

548+

browser: 'firefox',

549+

fileParallelism: true,

550+

},

551+

],

552+

},

553+

})

554+

expect(v.projects).toHaveLength(2)

555+

expect(v.projects[0].config.browser.fileParallelism).toBe(false)

556+

expect(v.projects[1].config.browser.fileParallelism).toBe(true)

557+

})

558+
536559

function getCliConfig(options: TestUserConfig, cli: string[], fs: TestFsStructure = {}) {

537560

const root = resolve(process.cwd(), `vitest-test-${crypto.randomUUID()}`)

538561

useFS(root, {