fix(build): rendre installcheck fail-fast et tester ses échecs (#58) #64

Merged
silex merged 1 commit from fix/installcheck-fail-fast-58 into main 2026-09-29 21:23:11 +00:00
Owner

Fixes #58

Correctif

  • Activer set -eu dans la recette installcheck pour arrêter sur le premier échec, en conservant le trap de nettoyage.
  • Ajouter make test-installcheck à make test ; le workflow CI l'exécute donc sans contrôles divergents.

Régressions

Tests Python standard sur une copie minimale du packaging, avec installation/désinstallation réelles sous DESTDIR temporaire et un binaire factice ; la compilation Go est explicitement interdite dans ces tests.

Six injections : installation en erreur, installation no-op, README absent après installation, désinstallation en erreur, désinstallation no-op, binaire installé en erreur. Vérification du statut non nul, de l'arrêt des opérations suivantes et du nettoyage du staging. Un contrôle nominal vérifie les deux cycles avec/sans OSD et l'appel help du binaire installé. Les six injections échouent sur l'ancienne recette (faux vert ou poursuite après erreur).

Vérification

  • python3 -m unittest helpers/test_installcheck.py -v.
  • make lint test module-check installcheck ; ce dernier contrôle utilise le vrai binaire Go.
  • Suite Go complète sous -race -count=1.
  • git diff --check.

README et état d'implémentation actualisés. PR indépendante des correctifs #62 et #63.

Fixes #58 ## Correctif - Activer set -eu dans la recette installcheck pour arrêter sur le premier échec, en conservant le trap de nettoyage. - Ajouter make test-installcheck à make test ; le workflow CI l'exécute donc sans contrôles divergents. ## Régressions Tests Python standard sur une copie minimale du packaging, avec installation/désinstallation réelles sous DESTDIR temporaire et un binaire factice ; la compilation Go est explicitement interdite dans ces tests. Six injections : installation en erreur, installation no-op, README absent après installation, désinstallation en erreur, désinstallation no-op, binaire installé en erreur. Vérification du statut non nul, de l'arrêt des opérations suivantes et du nettoyage du staging. Un contrôle nominal vérifie les deux cycles avec/sans OSD et l'appel help du binaire installé. Les six injections échouent sur l'ancienne recette (faux vert ou poursuite après erreur). ## Vérification - python3 -m unittest helpers/test_installcheck.py -v. - make lint test module-check installcheck ; ce dernier contrôle utilise le vrai binaire Go. - Suite Go complète sous -race -count=1. - git diff --check. README et état d'implémentation actualisés. PR indépendante des correctifs #62 et #63.
fix(build): fail fast in installcheck with fault-injection tests (#58)
Some checks failed
CI / amd64 / Go 1.23.12 (push) Has been cancelled
CI / amd64 / Go 1.26.5 (push) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (push) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (push) Has been cancelled
CI / amd64 / Go 1.23.12 (pull_request) Has been cancelled
CI / amd64 / Go 1.26.5 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.23.12 (pull_request) Has been cancelled
CI / arm64 cross-build / Go 1.26.5 (pull_request) Has been cancelled
6e990fe3b9
silex merged commit 9d846d48cf into main 2026-09-29 21:23:11 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
2027a/murmur!64
No description provided.