Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(test/browser): set test-concurrency=1 (vitest-dev#4686)
Adding the fix-4686.test.mjs introduced a second `vitest` process into the test/browser/specs suite. This attempts to resolve subsequent flakiness in the test-browser CI job by ensuring one test file completely finishes before the next. - https://nodejs.org/docs/latest-v20.x/api/cli.html#--test-concurrency --- This particular build showed ETXTBSY errors thrown when launching the chrome via WebdriverIO: - https://github.com/vitest-dev/vitest/actions/runs/7128065730/job/19409296285?pr=4692#step:10:1 ```text ⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯ Error: spawn ETXTBSY ❯ ChildProcess.spawn node:internal/child_process:421:11 ❯ Object.spawn node:child_process:761:9 ❯ startWebDriver ../../node_modules/.pnpm/@wdio+utils@8.22.0/node_modules/@wdio/utils/build/node/startWebDriver.js:57:28 ❯ process.processTicksAndRejections node:internal/process/task_queues:95:5 ❯ WebDriver.newSession ../../node_modules/.pnpm/webdriver@8.22.1/node_modules/webdriver/build/index.js:18:31 ❯ remote ../../node_modules/.pnpm/webdriverio@8.22.1_typescript@5.2.2/node_modules/webdriverio/build/index.js:45:22 ❯ WebdriverBrowserProvider.openBrowser ../../packages/browser/dist/providers.js:81:26 [...snip...] ``` ETXTBSY is a relatively obscure error that isn't seen much anymore: - lwn.net: The shrinking role of ETXTBSY https://lwn.net/Articles/866493/ The results I found while searching all seemed to point to Chromium being a potential source of this issue, such as this excerpt from (emphasis mine): - alixaxel/chrome-aws-lambda#69 (comment) ```text The `ETXTBSY` error code is thrown when puppeteer is trying to **start the Chromium binary but the binary file is under a exclusive lock** - that can happen if you don't wait for `executablePath` to resolve, or, **if you call `executablePath` multiple times.** ``` This also showed up with older versions of Node and Docker, but each of the versions in the current build are up to date.
- Loading branch information