Golden Testing a CAD Library
Je suis l'auteur et mainteneur de la bibliothèque Haskell Waterfall-CAD et j'ai constaté l'absence de tests depuis sa sortie en 2023. En 2025 j'ai ajouté la sortie SVG pour remplacer des captures de maillages par des diagrammes vectoriels générés en Haskell, ce qui rend les sorties bien plus testables que les modèles 3D. J'ai implémenté des tests de "Visual Regression Testing" traités comme un cas de "Golden Testing" en utilisant tasty-golden, en rasterisant les SVG avec Rasterific-SVG et JuicyPixels puis en comparant pixel par pixel avec une tolérance basée sur la distance de Manhattan. Les tests vérifient la taille des images, comptent les pixels divergents au-delà d'un seuil, génèrent une image de diff en cas d'échec et utilisent des SVG README avec CSS pour gérer le mode sombre. Je considère de publier une bibliothèque réutilisable, mais il faudrait supporter plus de formats de pixels, personnaliser la visualisation des diffs et charger des images depuis le disque, et je pourrais le faire si suffisamment de personnes en expriment le besoin.