testtrim : L’outil de test qui ne pouvait pas se tester (jusqu’à maintenant)
Mathieu Fenniak détaille son parcours pour ajouter le traçage des appels système à testtrim, un projet expérimental qui optimise l’exécution des tests logiciels. Initialement, testtrim utilisait strace pour identifier les dépendances entre les tests, mais il ne pouvait pas se tester lui-même car strace ne peut pas tracer un processus déjà tracé. Deux tentatives de traçage imbriqué ont échoué : la première en raison de performances médiocres, la seconde en raison de l’état partagé et de la non-atomicité de la sortie de strace. La solution a consisté à utiliser des pipes FIFO et de la mémoire partagée pour la transmission de données en temps réel entre les processus parent et enfant, permettant l’autotest et validant la valeur de testtrim dans la réduction des cibles de test.