fix(04-02): use fileParallelism:false to prevent DB test race conditions
Replaced singleFork:true + sequence config with the simpler fileParallelism:false which correctly serializes test file execution. The previous singleFork approach ran tests from multiple files concurrently within one process, allowing the global afterEach cleanup (test/setup.ts: truncates lists/listShares) to delete rows mid-test in another file, causing intermittent FK violations (ER_DUP_ENTRY, ER_NO_REFERENCED_ROW). fileParallelism:false runs one test file at a time so afterEach cleanup for file A never races with insertions from file B.
This commit is contained in:
@@ -5,17 +5,10 @@ export default defineConfig({
|
|||||||
environment: 'node',
|
environment: 'node',
|
||||||
globals: true,
|
globals: true,
|
||||||
setupFiles: ['./test/setup.ts'],
|
setupFiles: ['./test/setup.ts'],
|
||||||
// Run test files sequentially so concurrent DB tests do not interfere via
|
// Disable parallel file execution so concurrent DB tests do not interfere
|
||||||
// the shared MariaDB (global afterEach in test/setup.ts truncates list tables
|
// via the shared MariaDB. The global afterEach in test/setup.ts truncates
|
||||||
// which causes FK violations if two workers share the DB concurrently).
|
// list tables; running test files in parallel causes FK violations when one
|
||||||
sequence: {
|
// file's afterEach deletes rows that another file's test is still using.
|
||||||
concurrent: false,
|
fileParallelism: false,
|
||||||
},
|
|
||||||
pool: 'forks',
|
|
||||||
// singleFork: top-level in vitest 4.x (poolOptions removed in v4).
|
|
||||||
// Runs all test files in one forked process so the shared MariaDB
|
|
||||||
// teardown (afterEach in test/setup.ts) never races with inserts
|
|
||||||
// from a concurrent worker.
|
|
||||||
singleFork: true,
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user