5109Fermer5111
flankerLe 25/10/2025 à 14:42
Je me suis cassé les dents pendant quelques heures sur un bug aléatoire.
Bug idiot, bien sûr : je lis la sortie d'un processus en vérifiant s'il est fini avec Popen.poll() et j'avais oublié de lire une dernière fois la sortie après la fin du processus (même si le buffer était généralement vide).

Le code était utilisé dans plusieurs tests unitaires, dans un test de régression et « en vrai », et dans tous ces cas, le même processus était appelé avec les mêmes arguments, le même environnement, etc. Et pourtant, les tests unitaires passaient systématiquement, le test de régression ne passait jamais et en pratique, ça fonctionnait un bon 95% du temps.