mirror of
https://github.com/euzu/tuliprox.git
synced 2026-09-27 11:32:11 +02:00
Every defect in this series was a subsystem that had never seen a shared file: deletion unlinked bytes another entry held, disk pressure counted space it had not freed, startup recovery resurrected deleted entries. Each was found by reading, and each was fixed with a unit test against a hand-built candidate. That leaves the seams between them untested, which is precisely where the bugs were. This walks the real thing through the real repository: two entries for the same programme, a restart, one deletion, another restart, the last deletion. It asserts the file survives the first removal and leaves with the second, and that both facts are durable. The test is not vacuous in the direction that matters. If the two entries stopped resolving to one identity, nothing would hold the file during Alice's deletion, `freed` would come back true, and the "no space is reclaimed" assertion fails rather than silently passing. The counterpart test pins the other side: two different programmes must not be merged into one file just because both are Live recordings from the same input.