Skip to content

Comments

refactor(node/test): run fixture tests in concurrent#7790

Merged
graphite-app[bot] merged 1 commit intomainfrom
01-07-refactor_node_test_run_fixture_tests_in_concurrent
Jan 9, 2026
Merged

refactor(node/test): run fixture tests in concurrent#7790
graphite-app[bot] merged 1 commit intomainfrom
01-07-refactor_node_test_run_fixture_tests_in_concurrent

Conversation

@hyf0
Copy link
Member

@hyf0 hyf0 commented Jan 7, 2026

Part of #7577. This PR migrates those non flaky tests to run in concurrent

Copy link
Member Author

hyf0 commented Jan 7, 2026


How to use the Graphite Merge Queue

Add the label graphite: merge-when-ready 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.

@netlify
Copy link

netlify bot commented Jan 7, 2026

Deploy Preview for rolldown-rs ready!

Name Link
🔨 Latest commit dc88d5b
🔍 Latest deploy log https://app.netlify.com/projects/rolldown-rs/deploys/69605ad530808c00082402a0
😎 Deploy Preview https://deploy-preview-7790--rolldown-rs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@hyf0 hyf0 marked this pull request as ready for review January 7, 2026 15:49
Copilot AI review requested due to automatic review settings January 7, 2026 15:49
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 refactors the fixture test execution to run concurrently instead of sequentially, which should significantly improve test performance. The main change removes the maxWorkers: 1 constraint and introduces a sequential flag for tests that require sequential execution due to shared state.

Key changes:

  • Removes maxWorkers: 1 from vitest configuration to enable concurrent test execution
  • Adds a sequential field to the TestConfig type for marking tests with shared state
  • Updates the test runner to use test.sequential for tests marked as sequential and test.concurrent for others
  • Marks 70+ tests with sequential: true, primarily those using vi.fn() mock functions at module level

Reviewed changes

Copilot reviewed 102 out of 104 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/rolldown/tests/vitest.config.mts Removes maxWorkers: 1 and outdated comments to enable concurrent execution
packages/rolldown/tests/src/types.ts Adds sequential boolean field to TestConfig with documentation
packages/rolldown/tests/fixture.test.ts Updates test runner to use test.sequential or test.concurrent based on config
packages/rolldown/tests/fixtures/**/_config.ts Adds sequential: true to 70+ test configs that use shared state (vi.fn())
.gitignore Adds .sisyphus to ignored files

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

@hyf0
Copy link
Member Author

hyf0 commented Jan 7, 2026

Concurrent make some tests flaky.

@IWANABETHATGUY
Copy link
Member

Concurrent make some tests flaky.

Yeah, that's also why we make the test serially

@hyf0
Copy link
Member Author

hyf0 commented Jan 8, 2026

Concurrent make some tests flaky.

Yeah, that's also why we make the test serially

I think this's a bug we need to fix. It either means rolldown can't bear heavily used secnario or our test suite has some logic problem.

@hyf0 hyf0 force-pushed the 01-07-refactor_node_test_run_fixture_tests_in_concurrent branch from 3d8b4ad to 8f7fdd3 Compare January 8, 2026 14:28
Copilot AI review requested due to automatic review settings January 8, 2026 16:06
@hyf0 hyf0 force-pushed the 01-07-refactor_node_test_run_fixture_tests_in_concurrent branch from 8f7fdd3 to 5ede408 Compare January 8, 2026 16:06
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

Copilot reviewed 106 out of 108 changed files in this pull request and generated no new comments.


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

@hyf0 hyf0 force-pushed the 01-07-refactor_node_test_run_fixture_tests_in_concurrent branch from 5ede408 to a4c95c1 Compare January 8, 2026 16:47
@hyf0 hyf0 requested a review from sapphi-red January 8, 2026 18:40
Copy link
Member Author

hyf0 commented Jan 8, 2026

Merge activity

Part of #7577. This PR migrates those non flaky tests to run in concurrent
Copilot AI review requested due to automatic review settings January 9, 2026 01:33
@graphite-app graphite-app bot force-pushed the 01-07-refactor_node_test_run_fixture_tests_in_concurrent branch from a4c95c1 to dc88d5b Compare January 9, 2026 01:33
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 merged commit dc88d5b into main Jan 9, 2026
32 checks passed
@graphite-app graphite-app bot deleted the 01-07-refactor_node_test_run_fixture_tests_in_concurrent branch January 9, 2026 01:43
This was referenced Jan 14, 2026
shulaoda added a commit that referenced this pull request Jan 14, 2026
## [1.0.0-beta.60] - 2026-01-14

### 💥 BREAKING CHANGES

- tsconfig: enable auto-discovery by default (#7817) by @shulaoda

### 🚀 Features

- distinguish transformer diagnostics from parse errors (#7872) by @shulaoda
- emit transformer warnings instead of ignoring them (#7850) by @shulaoda
- node: add `output.codeSplitting` option and deprecate `output.advancedChunks` (#7855) by @hyf0
- nativeMagicString reset (#7828) by @IWANABETHATGUY
- nativeMagicString lastChar (#7819) by @IWANABETHATGUY
- dev/lazy: inject lazy compilation runtime automatically (#7816) by @hyf0
- nativeMagicString snip (#7818) by @IWANABETHATGUY
- nativeMagicString construct with options (#7814) by @IWANABETHATGUY
- nativeMagicString clone (#7813) by @IWANABETHATGUY
- nativeMagicString `insert` (#7812) by @IWANABETHATGUY
- nativeMagicString `slice` (#7807) by @IWANABETHATGUY
- nativeMagicString trim methods (#7800) by @IWANABETHATGUY
- make closeBundle hook receive the last error (#7278) by @Copilot

### 🐛 Bug Fixes

- when package only contains export default, cjsDefault didn't resolve correctly (#7873) by @IWANABETHATGUY
- inline __name calls for default exports  (#7862) by @IWANABETHATGUY
- improve variable renaming to avoid unnecessary shadowing in nested scopes (#7859) by @IWANABETHATGUY
- use correct index when inserting keepNames statements during export default transformation (#7853) by @IWANABETHATGUY
- transform non-static dynamic imports when `dynamicImportInCjs` is `false` (#7823) by @shulaoda
- dev/lazy: should include imported and non-executed modules in the patch (#7815) by @hyf0
- set ExportsKind to Esm when json is none object literal  (#7808) by @IWANABETHATGUY
- nativeMagicString move api (#7796) by @IWANABETHATGUY
- remove unnecessary exports after merging into commong and user defined entry (#7789) by @IWANABETHATGUY
- use output.name instead of chunk.name in mixed export warning (#7788) by @Copilot

### 🚜 Refactor

- generalize ParseError to OxcError with dynamic EventKind (#7868) by @shulaoda
- rust: rename `advanced_chunks` to `manual_code_splitting` (#7856) by @hyf0
- string_wizard error hanlding (#7830) by @IWANABETHATGUY
- remove `experimental.disableLiveBindings` option (#7820) by @sapphi-red
- node/test: run fixture tests in concurrent (#7790) by @hyf0
- move ConfigExport and RolldownOptionsFunction types to define-config (#7799) by @shulaoda
- cli: validate config after resolving and improve error message (#7798) by @shulaoda

### 📚 Documentation

- rebrand (#7670) by @yyx990803
- fix incorrect default value for propertyReadSideEffects (#7847) by @Copilot
- remove options pages and redirect to reference pages (#7834) by @sapphi-red
- options: inline types to option property pages (#7831) by @sapphi-red
- options: port checks.pluginTimings content from options page to reference page (#7832) by @sapphi-red
- options: use `@linkcode` where possible (#7824) by @sapphi-red
- options: port content from options page to reference page (#7822) by @sapphi-red
- options: add descriptions for output options (#7821) by @sapphi-red
- options: add description for input options (#7802) by @sapphi-red
- options: add description for `checks.*` (#7801) by @sapphi-red
- apis: add hook graph (#7671) by @sapphi-red

### 🧪 Testing

- add all valid combination of chunk exports related test (#7851) by @IWANABETHATGUY
- enable MagicString test after api return type alignment (#7797) by @IWANABETHATGUY
- init magic-string test (#7794) by @IWANABETHATGUY

### ⚙️ Miscellaneous Tasks

- vite-tests: configure git user for rebase operation (#7875) by @shulaoda
- rolldown_binding: remove v3 native plugins (#7837) by @shulaoda
- rolldown_binding: allow crate-type as lib (#7866) by @Brooooooklyn
- README.md: adjust position and size of rolldown logo (#7861) by @hyf0
- deps: update test262 submodule for tests (#7857) by @sapphi-red
- deps: update oxc to v0.108.0 (#7845) by @renovate[bot]
- deps: update dependency oxlint to v1.39.0 (#7849) by @renovate[bot]
- deps: update dependency oxfmt to ^0.24.0 (#7844) by @renovate[bot]
- deps: update npm packages (#7841) by @renovate[bot]
- deps: update rust crates (#7839) by @renovate[bot]
- deps: update github-actions (#7840) by @renovate[bot]
- use workspace edition for all crates (#7829) by @IWANABETHATGUY
- deps: update dependency oxlint-tsgolint to v0.11.0 (#7827) by @renovate[bot]
- deps: update napi to v3.8.2 (#7810) by @renovate[bot]
- remove outdated snapshot files (#7806) by @shulaoda
- deps: update crate-ci/typos action to v1.42.0 (#7792) by @renovate[bot]

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.

3 participants