Skip to content

Comments

feat(test-dev-sever): support to manually configure port, run tests in concurrent#7576

Merged
hyf0 merged 1 commit intomainfrom
12-18-feat_test-dev-sever_support_to_manually_configure_port_run_tests_in_concurrent
Dec 18, 2025
Merged

feat(test-dev-sever): support to manually configure port, run tests in concurrent#7576
hyf0 merged 1 commit intomainfrom
12-18-feat_test-dev-sever_support_to_manually_configure_port_run_tests_in_concurrent

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Dec 18, 2025

No description provided.

@hyf0 hyf0 marked this pull request as ready for review December 18, 2025 13:33
Copilot AI review requested due to automatic review settings December 18, 2025 13:33
Copy link
Member Author

hyf0 commented Dec 18, 2025


How to use the Graphite Merge Queue

Add the label graphite: merge to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for configurable server ports and enables concurrent test execution in the test-dev-server package. The main motivation is to allow multiple test fixtures to run in parallel by assigning each test a unique port, improving test performance.

Key Changes:

  • Modified Vitest configuration to enable concurrent test execution instead of single-fork mode
  • Added port configuration option to DevOptions and NormalizedDevOptions types
  • Implemented dynamic port assignment in tests using an incrementing testIndex

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/test-dev-server/tests/vitest.config.fixtures.mts Removed single-fork restriction and enabled concurrent test execution
packages/test-dev-server/tests/src/utils.ts Added isDirectoryExists utility function for async directory existence checks
packages/test-dev-server/tests/fixtures.test.ts Added port assignment logic using testIndex and changed tests from sequential to concurrent
packages/test-dev-server/src/utils/normalize-dev-options.ts Added port normalization with default value of 3000
packages/test-dev-server/src/types/normalized-dev-options.ts Added port field to NormalizedDevOptions interface
packages/test-dev-server/src/types/dev-options.ts Added optional port field to DevOptions interface
packages/test-dev-server/src/dev-server.ts Implemented port configuration with environment variable override and injection into HMR runtime

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@hyf0 hyf0 force-pushed the 12-18-feat_test-dev-sever_support_to_manually_configure_port_run_tests_in_concurrent branch from 542c334 to a3febf7 Compare December 18, 2025 15:08
@hyf0 hyf0 force-pushed the 12-18-chore_test_dev-server_don_t_run_pnpm_install_during_tests branch from 79b2d2c to 87b28f5 Compare December 18, 2025 15:08
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

@graphite-app graphite-app bot changed the base branch from 12-18-chore_test_dev-server_don_t_run_pnpm_install_during_tests to graphite-base/7576 December 18, 2025 16:07
@hyf0 hyf0 force-pushed the graphite-base/7576 branch from 87b28f5 to 7e66d4a Compare December 18, 2025 16:11
@hyf0 hyf0 force-pushed the 12-18-feat_test-dev-sever_support_to_manually_configure_port_run_tests_in_concurrent branch from a3febf7 to 7d73971 Compare December 18, 2025 16:11
@graphite-app graphite-app bot changed the base branch from graphite-base/7576 to main December 18, 2025 16:12
@graphite-app
Copy link
Contributor

graphite-app bot commented Dec 18, 2025

Merge activity

  • Dec 18, 4:12 PM UTC: Graphite rebased this pull request, because this pull request is set to merge when ready.

@hyf0 hyf0 merged commit f4f649f into main Dec 18, 2025
27 of 28 checks passed
@hyf0 hyf0 deleted the 12-18-feat_test-dev-sever_support_to_manually_configure_port_run_tests_in_concurrent branch December 18, 2025 16:33
shulaoda added a commit that referenced this pull request Dec 22, 2025
## [1.0.0-beta.56] - 2025-12-22

### 💥 BREAKING CHANGES

- rename `MIXED_EXPORT` error to `MIXED_EXPORTS` (#7565) by @sapphi-red

### 🚀 Features

- rename `id` property to `exporter` in CIRCULAR_REEXPORT error (#7592) by @sapphi-red
- add `ids` property to `CIRCULAR_DEPENDENCY` error (#7591) by @sapphi-red
- node/dev: expose `devMode.lazy` (#7549) by @hyf0
- set log and pos properties for `parseAst` function errors (#7568) by @sapphi-red
- set log and pos properties for logs (#7567) by @sapphi-red
- test-dev-sever: support to manually configure port, run tests in concurrent (#7576) by @hyf0
- add `exporter` property to `MISSING_EXPORT` error (#7564) by @sapphi-red
- add `id` property to `PARSE_ERROR` error (#7563) by @sapphi-red
- support ImporterId hook filter (#7540) by @IWANABETHATGUY

### 🐛 Bug Fixes

- types: better "go to definition" experience for interface `OutputPlugin` (#7610) by @KazariEX
- `postBanner` content should be placed after shebang (#7583) by @btea
- use sanitized filename for preserve modules chunk name (#7603) by @IWANABETHATGUY
- correct filter out unused cjs namespace  (#7602) by @IWANABETHATGUY
- watch: property respect `notify.pollInternal` and `notify.compareContents` (#7595) by @sapphi-red
- make `cleanDir` work with default output directory (#7579) by @shulaoda
- merge `MISSING_NAME_OPTION_FOR_UMD_EXPORT` error to `MISSING_NAME_OPTION_FOR_IIFE_EXPORT` error (#7566) by @sapphi-red
- dev/hmr: ensure cjs modules with no exports reference correct `module` identifier (#7544) by @leegeunhyeok

### 🚜 Refactor

- remove `stable_id` field from `PARSE_ERROR` error (#7593) by @sapphi-red
- make include_runtime_symbol reuseable after linking stage (#7580) by @IWANABETHATGUY
- rust/dev: construct the bundler within itself (#7553) by @hyf0
- rust/watcher: polish API of `Watcher` struct (#7551) by @hyf0
- use `LinkingMetadata::stmt_info_included` to check if a stmt_info is included (#7572) by @IWANABETHATGUY
- use `LinkingMetadata::is_included` to check if a module is included (#7571) by @IWANABETHATGUY
- store module and stmt_info is included info to module meta (#7570) by @IWANABETHATGUY
- make include_* method reunsable after linking stage (#7552) by @IWANABETHATGUY
- rust/watcher: construct the bundler within watcher itself (#7550) by @hyf0
- extract make include_runtime_symbol reusable (#7546) by @IWANABETHATGUY

### ⚙️ Miscellaneous Tasks

- renovate: add `kill-port` in `ignoreDeps` in renovate.json (#7619) by @sapphi-red
- deps: update rust crates (#7617) by @renovate[bot]
- deps: update npm packages (#7616) by @renovate[bot]
- deps: update github-actions (#7615) by @renovate[bot]
- ci: skip benchmark workflows on draft PRs (#7611) by @Copilot
- deps: update dependency rolldown-plugin-dts to ^0.19.0 (#7607) by @renovate[bot]
- deps: update dependency oxlint-tsgolint to v0.10.0 (#7601) by @renovate[bot]
- deps: update dependency rolldown-plugin-dts to v0.18.4 (#7599) by @renovate[bot]
- deps: update notify (#7594) by @sapphi-red
- test-dev-server: add retry mechanism to hmr-full-bundle-mode tests (#7588) by @Copilot
- deps: update napi to v3.7.1 (#7590) by @renovate[bot]
- add JSDoc documentation for memfs type (#7587) by @Copilot
- deps: update dependency oxlint to v1.34.0 (#7589) by @renovate[bot]
- move some tests in ignored-by-unsupported-features that are passing (#7569) by @sapphi-red
- deps: update dependency oxlint-tsgolint to v0.9.2 (#7582) by @renovate[bot]
- deps: update oxc resolver to v11.16.0 (#7574) by @renovate[bot]
- test/dev-server: don't run `pnpm install` during tests (#7560) by @hyf0
- test/dev-server: use `kill-port@1` to improve performance (#7575) by @hyf0
- normalize error object to make some Rollup tests pass (#7562) by @sapphi-red
- ci: separate dev-server(hmr) tests and normal tests (#7558) by @hyf0
- ci: make native rolldown build reusable (#7557) by @hyf0
- resolve some TODOs (#7561) by @sapphi-red

### ❤️ New Contributors

* @KazariEX made their first contribution in [#7610](#7610)
* @leegeunhyeok made their first contribution in [#7544](#7544)

Co-authored-by: shulaoda <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant