test(hygiene): close two more brains found by a broadened rescan
Some checks are pending
CI / Bun (latest) (push) Waiting to run
CI / Node 22 (push) Waiting to run
CI / Node 24 (push) Waiting to run
CI / Integration + conformance (Node 22) (push) Waiting to run
Some checks are pending
CI / Bun (latest) (push) Waiting to run
CI / Node 22 (push) Waiting to run
CI / Node 24 (push) Waiting to run
CI / Integration + conformance (Node 22) (push) Waiting to run
A second, structural pass of the honest scan (any local helper that constructs a Brainy directly, not just ones named like openBrain/makeBrain, plus support for new Brainy<T>(...) generics) surfaced two more real leaks outside the first 93-file list: writer-lock-fencing.test.ts's `second` (a rejected-init() brain never pushed into the file's own tracked array) and plugin-version-coupling.test.ts's last case (a rejected-init() brain with no close at all).
This commit is contained in:
parent
656d9f6f92
commit
ba10aaf52e
2 changed files with 2 additions and 0 deletions
|
|
@ -61,6 +61,7 @@ describe('writer-lock fencing', () => {
|
||||||
// Old rule: heartbeat-age eviction → silent takeover → split brain.
|
// Old rule: heartbeat-age eviction → silent takeover → split brain.
|
||||||
// New rule: live PID = live writer; the second opener throws typed.
|
// New rule: live PID = live writer; the second opener throws typed.
|
||||||
const second = new Brainy({ storage: { type: 'filesystem', path: dir }, requireSubtype: false })
|
const second = new Brainy({ storage: { type: 'filesystem', path: dir }, requireSubtype: false })
|
||||||
|
brains.push(second)
|
||||||
await expect(second.init()).rejects.toMatchObject({ code: 'BRAINY_WRITER_LOCKED' })
|
await expect(second.init()).rejects.toMatchObject({ code: 'BRAINY_WRITER_LOCKED' })
|
||||||
}, 120000)
|
}, 120000)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -143,5 +143,6 @@ describe('version coupling at init() — no silent fallback', () => {
|
||||||
plugins: ['@soulcraft/this-package-does-not-exist-xyz']
|
plugins: ['@soulcraft/this-package-does-not-exist-xyz']
|
||||||
})
|
})
|
||||||
await expect(brain.init()).rejects.toThrow(/could not be loaded|config\.plugins/)
|
await expect(brain.init()).rejects.toThrow(/could not be loaded|config\.plugins/)
|
||||||
|
await brain.close().catch(() => {})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Reference in a new issue