fix(engine): use fork pool for engine-core Vitest gate (#1764)
## Summary - Switches the engine-core Vitest project from thread workers to fork workers to avoid the Node 24/macOS libuv kqueue SIGABRT while preserving real failure semantics. - Adds a small policy regression test covering the gate pool, warning behavior, and engine-core allow-list expectations. ## Test Plan - node --test scripts/__tests__/engine-vitest-gate-policy.test.mjs - corepack pnpm --filter @fusion/engine test:core <!-- stage-review-badge-begin --> --- <a href="https://stagereview.app/Runfusion/Fusion/pull/1764"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://stagereview.app/assets/gh-open-in-stage-dark.svg"> <img src="https://stagereview.app/assets/gh-open-in-stage-light.svg" alt="Open in Stage"> </picture> </a> <!-- stage-review-badge-end --> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved reliability of the engine’s Vitest test execution on newer macOS/Node setups by scoping a safer worker strategy to the core merge-gate suite. * Prevented configuration and gate-script changes that could otherwise break consistent test behavior. * **Tests** * Added automated “gate policy” checks to validate Vitest configuration constraints and ensure core/test-gate scripts run with the expected command and allow-listed test patterns. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
@@ -19,6 +19,8 @@ export default defineConfig({
|
||||
resolve(__dirname, "../core/src/__test-utils__/vitest-setup.ts"),
|
||||
],
|
||||
globalSetup: [resolve(__dirname, "../core/src/__test-utils__/vitest-teardown.ts")],
|
||||
// Keep the broad engine lanes on worker threads; engine-core overrides this
|
||||
// below because only the curated merge gate has hit the Node/macOS abort.
|
||||
pool: "threads",
|
||||
maxWorkers,
|
||||
minWorkers: 1,
|
||||
@@ -52,6 +54,11 @@ export default defineConfig({
|
||||
extends: true,
|
||||
test: {
|
||||
name: "engine-core",
|
||||
/*
|
||||
FNXC:EngineTests 2026-06-25-11:11:
|
||||
The curated engine-core merge gate hits a Node 24.15.0/macOS libuv kqueue SIGABRT when Vitest thread workers close unmanaged file descriptors. Scope fork workers to this gate so the broad default engine suite keeps its explicit worker-thread behavior.
|
||||
*/
|
||||
pool: "forks",
|
||||
// The curated merge-gate suite (see docs/testing.md "Merge gate").
|
||||
// Membership is an explicit allow-list, NOT a glob: tests earn their
|
||||
// way in with evidence of value, and a flaky gate test is evicted by
|
||||
|
||||
Reference in New Issue
Block a user