Les résultats de base : comment bien les gérer?
Created by: magemax
Aujourd'hui, l'utilisateur peu averti qui va taper des résultats de base dans une base de données ne sait pas le risque qu'il court s'il met à jour ses données de base : les résultats de base ont pu être précalculées avec d'autres données de base, donnant lieu à des crashs ou pire, à des bugs invisibles dans l'évaluation.
@sandcha Je dirais que la possibilité 3 est la mieux finalement, mais discutons en maintenant que j'ai clarifié les problématiques dans ma tête.
Possibilité 1 : Un nouveau test résoudrait ce problème, un commentaire en parle même : Test à implémenter : si les résultats de base sont là, ils correspondent aux résultats qu'on calculerait
Le test consisterait à : Si un tableau "resultats_de_base" est signalé dans els variables d'environnement, faire tourner les simulations par défaut avec les résultats et vérifier que ça correspond bien avec ce qu'il y a dans la BDD. Mais est ce que c'est vraiment le rôle d'un test d'aller vérifier ça ? Les tests ont ils vocations à aller aussi loin dans les checks ? Sachant qu'ils sont lancés automatiquement à chaque build, ça risque aussi de poser des problèmes de workflow qui foirera à chaque lancement de PR.
Possibilité 2 : On lance le check au moment où on loade les resultats de base. Inconvénient : tout le délire des résultats de base c'est d'éviter ce précalcul, donc la possibilité 2 est moisie.
possibilité 3 : On crée un script qui va remplir la base de données avec des résultats précalculés. Hey, mais ce script existe déjà (c'est generate_default_results.py ) !! Peut être qu'on pourrait juste clarifier son utilisation dans la doc / l'améliorer pour qu'il exporte par défaut vers la base de données si elle existe pour pouvoir le lancer remotely sur le serveur quand on le désire? Avec un nom plus stylé genre "synchronise base results" ??