Closed
Description
Expected Behavior
Integration tests should run with dev dependencies installed.
Any problem occurring inside the integration tests should cause tests to fail.
Actual Behavior
This is example output from a recent CI build:
(node:6321) UnhandledPromiseRejectionWarning: Error: Failed to launch browser: Error: spawn /home/travis/.cache/ms-playwright/chromium-764964/chrome-linux/chrome ENOENT
at ChildProcess.spawnedProcess.once.error (/home/travis/build/LLK/scratch-render/node_modules/playwright-core/lib/server/processLauncher.js:56:20)
at Object.onceWrapper (events.js:286:20)
at ChildProcess.emit (events.js:198:13)
at ChildProcess.EventEmitter.emit (domain.js:448:20)
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:6321) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6321) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
This is Playwright failing to launch Chrome because it's not installed. Since Playwright is listed under devDependencies
and NODE_ENV=production
is set as part of this job, I would have expected a failure even earlier in the process.
Also, the test appears to pass (CI status is a green dot) even though this error happened.
This problem became more obvious with #597 but was at least partially present already.
Steps to Reproduce
- Trigger a CI build
- Watch the integration test steps