Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions e2e/timeouts.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ describe('E2E timeouts', () => {
expect(config.test?.testTimeout).toBe(15_000 * CI_MULTIPLIER)
})

it('runs server-backed test files sequentially', () => {
expect(config.test?.maxWorkers).toBe(1)
})

it('keeps websocket waits within the per-test budget', () => {
const budget = 8_000 * CI_MULTIPLIER
expect(DEFAULT_WAIT_TIMEOUT_MS).toBeLessThanOrEqual(budget)
Expand Down
6 changes: 3 additions & 3 deletions e2e/vitest.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ export default defineConfig({
testTimeout: 15_000 * CI_MULTIPLIER,
hookTimeout: 10_000 * CI_MULTIPLIER,

// Run tests in parallel with fork pool
// Each test file gets its own in-process server on a dynamic port
// Each test file starts a full server. Parallel startups contend for enough
// CPU and memory to exceed the hook timeout on supported developer machines.
pool: 'forks',
maxWorkers: process.env['CI'] === 'true' ? 1 : 12, // CI runners are resource-constrained
maxWorkers: 1,

// No global setup - each test file manages its own server
// globalSetup: './setup.ts', // REMOVED - using in-process servers
Expand Down
Loading