fix: stop the runner before restarting, restart on workspace config change#6859
Conversation
✅ Deploy Preview for vitest-dev ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
hi-ogawa
left a comment
There was a problem hiding this comment.
Looks good to me 👍 Tested locally with pnpm -C examples/workspace test and pnpm -C test/browser test-fixtures.
Can you add relevant tests?
|
@hi-ogawa @AriPerkkio added the test. interested to know your opinion on the |
|
Looks handy and easy to read. Sometimes it's nicer to have static fixtures directory but in cases like this where they are not shared between multiple tests, re-creating fixtures on test run makes sense. The |
Maybe we can emit the event manually instead of waiting then 🤔 |
|
It takes 1200-1300ms in CI, the same locally for me. Takes the longest on Windows - 1700ms, but changing to use |
There was a problem hiding this comment.
interested to know your opinion on the
useFShelper
It looks nice for small things and I like it 👍
But for complicated setup, I prefer having files committed in the repo as it allows vitest --root (some-fixture-dir) to debug and iterate easily from cli.
Btw, currently root fixtures/config-watching nor any directories inside are not removed. Should we cleanup root entirely? (though I might even want a mode with env var where it leaves files without being deleted to debug later)
Just for future references, sharing a few projects I know doing something similar:
- Remix https://github.com/remix-run/remix/blob/1bd7f943c3f90c9e7e9ca5742324f1bb2622958c/integration/vite-dev-test.ts#L19
- Playwright https://github.com/microsoft/playwright/blob/50775698ae13642742f2a1e8983d1d686d7f192d/tests/playwright-test/test-grep.spec.ts#L20
From my experience, I wasn't fond of Remix's huge fixture as it was often hard to iterate and debug. But, looking at playwright's ones, they make use of a lot of small runInlineTest and it looks nice.
Removing the root now.
Added a similar helper! |
##### [v2.1.5](https://github.com/vitest-dev/vitest/releases/tag/v2.1.5) ##### 🚀 Features - **experimental**: Expose vite on the test project as a separate field - by [@sheremet-va](https://github.com/sheremet-va) [<samp>(bcc59)</samp>](vitest-dev/vitest@bcc59088) ##### 🐞 Bug Fixes - `dangerouslyIgnoreUnhandledErrors` without base reporter - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6808 [<samp>(0bf0a)</samp>](vitest-dev/vitest@0bf0ab00) - Capture `unhandledRejection` even when base reporter is not used - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6812 [<samp>(8878b)</samp>](vitest-dev/vitest@8878b04d) - Don't change the working directory when loading workspace projects - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6811 [<samp>(f0aea)</samp>](vitest-dev/vitest@f0aeaca8) - Remove `sequence.concurrent` from the `RuntimeConfig` type - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6880 [<samp>(6af73)</samp>](vitest-dev/vitest@6af73d93) - Stop the runner before restarting, restart on workspace config change - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6859 [<samp>(b01df)</samp>](vitest-dev/vitest@b01df47d) - Don't rerun on Esc or Ctrl-C during watch filter - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6895 [<samp>(98f76)</samp>](vitest-dev/vitest@98f76ea7) - Print ssrTransform error - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6885 [<samp>(4c96c)</samp>](vitest-dev/vitest@4c96cce7) - Throw an error and a warning if `.poll`, `.element`, `.rejects`/`.resolves`, and `locator.*` weren't awaited - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6877 [<samp>(93b67)</samp>](vitest-dev/vitest@93b67c24) - **browser**: - Don't process the default css styles - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6861 [<samp>(0d67f)</samp>](vitest-dev/vitest@0d67f04b) - Support non US key input - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6873 [<samp>(5969d)</samp>](vitest-dev/vitest@5969d8da) - Stop the browser rpc when the pool is closed - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6858 [<samp>(9a0c9)</samp>](vitest-dev/vitest@9a0c93d7) - Init browsers eagerly when tests are running - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6876 [<samp>(417bd)</samp>](vitest-dev/vitest@417bdb42) - **coverage**: - Report uncovered files when re-run by `enter` or `'a'` - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6848 [<samp>(487c8)</samp>](vitest-dev/vitest@487c80ae) - **ui**: - Remove crossorigin attributes for same origin assets - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6883 [<samp>(6e793)</samp>](vitest-dev/vitest@6e793c64) - **vite-node**: - Improve esm check to decide external - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6816 [<samp>(7e1fa)</samp>](vitest-dev/vitest@7e1faf3d) - Top-level throw in module is not reported properly - by [@vanaigr](https://github.com/vanaigr) and [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6840 [<samp>(cf0cb)</samp>](vitest-dev/vitest@cf0cbf6a) - **vitest**: - Use fetch() implementation from happy-dom - by [@capricorn86](https://github.com/capricorn86) in vitest-dev/vitest#6879 [<samp>(3c56f)</samp>](vitest-dev/vitest@3c56feb4) ##### 🏎 Performance - Limit workspace project concurrency to available cores - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6869 [<samp>(f4c04)</samp>](vitest-dev/vitest@f4c04ab6) ##### [View changes on GitHub](vitest-dev/vitest@v2.1.4...v2.1.5)
##### [v2.1.5](https://github.com/vitest-dev/vitest/releases/tag/v2.1.5) ##### 🚀 Features - **experimental**: Expose vite on the test project as a separate field - by [@sheremet-va](https://github.com/sheremet-va) [<samp>(bcc59)</samp>](vitest-dev/vitest@bcc59088) ##### 🐞 Bug Fixes - `dangerouslyIgnoreUnhandledErrors` without base reporter - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6808 [<samp>(0bf0a)</samp>](vitest-dev/vitest@0bf0ab00) - Capture `unhandledRejection` even when base reporter is not used - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6812 [<samp>(8878b)</samp>](vitest-dev/vitest@8878b04d) - Don't change the working directory when loading workspace projects - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6811 [<samp>(f0aea)</samp>](vitest-dev/vitest@f0aeaca8) - Remove `sequence.concurrent` from the `RuntimeConfig` type - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6880 [<samp>(6af73)</samp>](vitest-dev/vitest@6af73d93) - Stop the runner before restarting, restart on workspace config change - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6859 [<samp>(b01df)</samp>](vitest-dev/vitest@b01df47d) - Don't rerun on Esc or Ctrl-C during watch filter - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6895 [<samp>(98f76)</samp>](vitest-dev/vitest@98f76ea7) - Print ssrTransform error - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6885 [<samp>(4c96c)</samp>](vitest-dev/vitest@4c96cce7) - Throw an error and a warning if `.poll`, `.element`, `.rejects`/`.resolves`, and `locator.*` weren't awaited - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6877 [<samp>(93b67)</samp>](vitest-dev/vitest@93b67c24) - **browser**: - Don't process the default css styles - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6861 [<samp>(0d67f)</samp>](vitest-dev/vitest@0d67f04b) - Support non US key input - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6873 [<samp>(5969d)</samp>](vitest-dev/vitest@5969d8da) - Stop the browser rpc when the pool is closed - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6858 [<samp>(9a0c9)</samp>](vitest-dev/vitest@9a0c93d7) - Init browsers eagerly when tests are running - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6876 [<samp>(417bd)</samp>](vitest-dev/vitest@417bdb42) - **coverage**: - Report uncovered files when re-run by `enter` or `'a'` - by [@AriPerkkio](https://github.com/AriPerkkio) in vitest-dev/vitest#6848 [<samp>(487c8)</samp>](vitest-dev/vitest@487c80ae) - **ui**: - Remove crossorigin attributes for same origin assets - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6883 [<samp>(6e793)</samp>](vitest-dev/vitest@6e793c64) - **vite-node**: - Improve esm check to decide external - by [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6816 [<samp>(7e1fa)</samp>](vitest-dev/vitest@7e1faf3d) - Top-level throw in module is not reported properly - by [@vanaigr](https://github.com/vanaigr) and [@hi-ogawa](https://github.com/hi-ogawa) in vitest-dev/vitest#6840 [<samp>(cf0cb)</samp>](vitest-dev/vitest@cf0cbf6a) - **vitest**: - Use fetch() implementation from happy-dom - by [@capricorn86](https://github.com/capricorn86) in vitest-dev/vitest#6879 [<samp>(3c56f)</samp>](vitest-dev/vitest@3c56feb4) ##### 🏎 Performance - Limit workspace project concurrency to available cores - by [@sheremet-va](https://github.com/sheremet-va) in vitest-dev/vitest#6869 [<samp>(f4c04)</samp>](vitest-dev/vitest@f4c04ab6) ##### [View changes on GitHub](vitest-dev/vitest@v2.1.4...v2.1.5)
|
Hi, just want to share that I'm still seeing the port being used with 3.0.6. |
Description
Fixes #6738
FIxes #5327
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:
pnpm-lock.yamlunless you introduce a new test example.Tests
pnpm test:ci.Documentation
pnpm run docscommand.Changesets
feat:,fix:,perf:,docs:, orchore:.