J'ai écrit un programme / bibliothèque que j'ai utilisé pour obtenir des résultats dans un article. (Ici , il est , mais ma question est générale.) J'ai des tests que j'exécuté en utilisant régulièrement ctest
(il faut quelques minutes à courir). Afin de reproduire certains tableaux ou figures de l'article, je dois construire un script ou un programme de pilote simple, qui peut durer 10 minutes, parfois plus, donc je ne veux pas avoir cette partie de la suite de tests régulière. En même temps, je veux m'assurer que les résultats de l'article peuvent être:
- reproduit plus tard
- assurez-vous qu'ils donnent toujours les mêmes résultats / corrects après avoir continué à développer la bibliothèque
Actuellement, j'essaie d'avoir un petit programme de pilote que j'exécute dans le cadre de la suite de tests régulière, et si je veux reproduire les résultats de l'article, je décommente quelques lignes. Bien sûr, je ne sais jamais quelles lignes exactes et si je dois modifier quelques autres paramètres afin d'obtenir précisément les mêmes résultats que dans l'article.
J'ai également essayé d'avoir un script Python qui calcule les chiffres / tableaux exacts de l'article. Un tel script cesse généralement de fonctionner après une mise à jour de la bibliothèque, car il n'est pas exécuté régulièrement (prend trop de temps).
La meilleure méthode qui m'est venue à l'esprit est d'avoir un exemple Fortran (ou C / C ++), qui sera régulièrement compilé (dans le cadre de la bibliothèque), mais pas exécuté dans une suite de tests régulière. De cette façon, au moins je sais qu'il compile bien (et donc, espérons-le, fonctionne également). Et je vais tester un exemple simple (plus petit) dans le cadre d'une suite de tests régulière.
Quels sont les moyens optimaux pour gérer ce problème?