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:
parent
2808398164
commit
7932175503
2 changed files with 16 additions and 2 deletions
|
|
@ -57,7 +57,14 @@ export default defineConfig({
|
||||||
// otherwise-correctness integration suite (self-skipped everywhere
|
// otherwise-correctness integration suite (self-skipped everywhere
|
||||||
// else via BRAINY_PERF_LANE). Stays in the integration gate's
|
// else via BRAINY_PERF_LANE). Stays in the integration gate's
|
||||||
// include too, so every OTHER test in the file keeps running there.
|
// 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'],
|
reporters: process.env.CI ? ['dot'] : ['basic'],
|
||||||
|
|
|
||||||
|
|
@ -389,7 +389,14 @@ describe('VirtualFileSystem - Production Tests', () => {
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('Performance', () => {
|
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'
|
const dir = '/performance-test'
|
||||||
await vfs.mkdir(dir)
|
await vfs.mkdir(dir)
|
||||||
|
|
||||||
|
|
|
||||||
Reference in a new issue