test(vfs): reclassify the many-files wall-clock case into the perf lane

vfs.unit.test.ts's 'Performance > should handle many files efficiently'
(100 writes + readdir, 5.5s write budget) is a wall-clock flake: 121ms
alone, 16.5s under the gate's sibling-file contention — the code never
caused it. Same pattern already used for storage-batch-operations.test.ts's
batch-vs-individual timing case: ctx.skip(!process.env.BRAINY_PERF_LANE,
reason) inside the test, and the file added to vitest.perf.config.ts's
include list (it stays in the unit gate's *.unit.test.ts match too, so
every other test in the file keeps running there).
This commit is contained in:
David Snelling 2026-09-02 13:43:08 -07:00
parent 2808398164
commit 7932175503
2 changed files with 16 additions and 2 deletions

View file

@ -57,7 +57,14 @@ export default defineConfig({
// otherwise-correctness integration suite (self-skipped everywhere
// else via BRAINY_PERF_LANE). Stays in the integration gate's
// include too, so every OTHER test in the file keeps running there.
'tests/integration/storage-batch-operations.test.ts'
'tests/integration/storage-batch-operations.test.ts',
// Same pattern: one wall-clock budget case (100-file write + readdir,
// 5.5s budget) inside an otherwise-correctness VFS unit suite
// (self-skipped everywhere else via BRAINY_PERF_LANE — see
// tests/vfs/vfs.unit.test.ts's 'Performance > should handle many
// files efficiently'). Stays in the unit gate's *.unit.test.ts match
// too, so every OTHER test in the file keeps running there.
'tests/vfs/vfs.unit.test.ts'
],
reporters: process.env.CI ? ['dot'] : ['basic'],

View file

@ -389,7 +389,14 @@ describe('VirtualFileSystem - Production Tests', () => {
})
describe('Performance', () => {
it('should handle many files efficiently', async () => {
it('should handle many files efficiently', async (ctx) => {
// Wall-clock budget assertion — belongs to the perf lane (npm run
// test:perf), not the correctness gate: 121ms alone but 16.5s under
// the gate's sibling-file contention, a flake the code never caused
// (same pattern as storage-batch-operations.test.ts's batch-vs-
// individual timing case).
ctx.skip(!process.env.BRAINY_PERF_LANE, 'wall-clock budget assertion — runs only under the perf lane (npm run test:perf)')
const dir = '/performance-test'
await vfs.mkdir(dir)