From 27768c4ad2cb42d5f61a2363f53b648e97685b22 Mon Sep 17 00:00:00 2001 From: NullVoxPopuli <199018+NullVoxPopuli@users.noreply.github.com> Date: Fri, 3 Jul 2026 13:01:51 -0400 Subject: [PATCH] Raise vitest testTimeout to absorb per-file parser init MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vitest isolates each test file, so the first RuleTester case in every file re-pays ~1-1.5s of ember-eslint-parser initialization (content-tag wasm compile, typescript-eslint machinery). Under CPU contention that first case can exceed the default 5s per-test timeout, failing a random valid case per run — the suite is flaky on loaded machines. Reproduced deterministically by running the suite alongside six busy-loops on a 4-core box; with a 30s timeout the same load passes all 9538 tests. Co-Authored-By: Claude Fable 5 --- vitest.config.mjs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vitest.config.mjs b/vitest.config.mjs index 31b94b2453..025ab974d7 100644 --- a/vitest.config.mjs +++ b/vitest.config.mjs @@ -6,6 +6,11 @@ export default defineConfig({ setupFiles: [], include: ['**/tests/**/*.js'], exclude: ['tests/helpers/**', 'tests/bench/**', 'tests/fixtures/**', 'node_modules'], + // Each test file runs isolated, so the first RuleTester case per file + // re-pays ~1-1.5s of parser initialization (content-tag wasm, TS + // machinery). On a loaded machine that first case can blow the default + // 5s timeout, failing a random valid case per run. + testTimeout: 30_000, sequence: { hooks: 'list', },