Skip to content

De fixtures van de wekelijkse jobs delen vaste paden en kunnen elkaar verstoren #143

Description

@ericwout-overheid

Aanleiding

De fixtures die de wekelijkse jobs natspelen, schrijven naar vaste paden in /tmp. Ze ruimen een deel daarvan op tussen de gevallen, maar niet alles. Draaien er twee runs tegelijk op dezelfde machine, of laat een eerdere run iets staan, dan werken de gevallen op elkaars bestanden.

Effect

De uitkomst van een controle kan afhangen van wat er toevallig al op de machine stond. Dat maakt een groene uitslag minder waard: hij zegt dan niet met zekerheid dat de gecontroleerde logica klopt.

Wenselijk gedrag

Elke run van de fixtures staat op zichzelf en is niet te beïnvloeden door een andere run of door achtergebleven bestanden.

Acceptatiecriteria

  • Twee gelijktijdige runs van de fixtures beïnvloeden elkaar niet
  • Achtergebleven bestanden van een eerdere run veranderen de uitslag niet

Technische details

.github/scripts/test-check-upstream-jobs.sh: epoch_geval ruimt zes /tmp-bestanden op, maar /tmp/os-samen.json, /tmp/geinstalleerd-samen.json, /tmp/te-vragen.json, /tmp/verwachte-koppen.txt en /tmp/policy-fouten.txt blijven staan. De harness zet al TMPDIR per geval, maar de stap onder test gebruikt absolute /tmp-paden, dus dat helpt hier niet.

Oplossingsrichting: de stap in check-upstream.yml zijn tussenbestanden onder ${RUNNER_TEMP} laten schrijven; dan kan de harness die variabele per geval zetten en vervalt het opruimen.

Klein punt in hetzelfde bestand: verwacht_blokken=3 is een vast getal waarvan de oorspronkelijke reden niet meer geldt — het samengevoegde script dat de lus schrijft, wordt niet meer gedraaid. Een extra stap in die job maakt de controle nu rood met een melding die niet naar het echte probleem wijst.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions