fix(test): draai integratietests serieel — de sweep requeue't rijen van andere testbestanden #103
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/integration-tests-serieel"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Na het mergen van fase 2 en fase 3 zijn de queue-integratietests niet meer samen te draaien. Apart zijn ze groen (17 en 9), samen vallen er 3–4 om — met een wisselende samenstelling per run, dus een race.
Oorzaak. Vitest draait testbestanden standaard parallel. Beide bestanden delen één database, en
sweepStaleQueueClaims()heeft bewust géén filter op afzender: hij requeue't élke stale rij inagent_message. De fase-3 sweep zet dus de rijen terug oppendingdie de fase-2 eigenaarstests net opclaimedhadden gezet, waarnaQUEUE_NOT_CLAIMEReenQUEUE_CLAIM_EXPIREDwordt.Dat afzenderloze gedrag is correct — in productie moet de sweep juist alles opruimen wat verweesd is, ongeacht wie het claimde. Het probleem zit in de testopstelling, niet in de sweep.
Fix. Een
test:integration-script dat--no-file-parallelismmeegeeft. Serieel draaien lost het volledig op: 29 tests over 3 bestanden groen, twee opeenvolgende runs bevestigd. Het script pakt ookcreate-concurrency.integration.test.tsmee, die al bestond.De waarschuwing die al in de fase-3-header stond is nu concreet gemaakt — welke tests omvallen en welk commando je gebruikt — en staat ook in het fase-2-bestand, want daar zie je de fout.
CLAUDE.mdlegt uit waarom serieel een eis is en geen voorkeur, met de waarschuwing omTEST_DATABASE_URLnooit opscrum4mete richten.Geen productiecode gewijzigd.
npm testblijft 1335 passed | 29 skipped; typecheck schoon.Dit had ik moeten opmerken toen ik de fase-3-integratietests toevoegde: ik had beide suites alleen apart gedraaid, nooit samen.
🤖 Generated with Claude Code