Question

Est-il possible d'utiliser gcov pour tester la couverture des applications multithread ?

J'ai mis en place quelques tests triviaux de notre base de code, mais ce serait bien d'avoir une idée de la couverture que nous atteignons.Si gcov n'est pas approprié, quelqu'un peut-il recommander un outil alternatif (oprofile possible), idéalement avec une bonne documentation pour commencer.

Était-ce utile?

La solution

Nous avons certainement utilisé gcov pour obtenir des informations de couverture sur notre application multithread.

Vous souhaitez compiler avec gcc 4.3 qui peut couvrir le code dynamique.

Vous compilez avec le -fprofile-arcs -ftest-coverage options, et le code générera des fichiers .gcda que gcov pourra ensuite traiter.

Nous réalisons une version distincte de notre produit et collectons une couverture à ce sujet, en exécutant des tests unitaires et des tests de régression.

Enfin nous utilisons lcov pour générer des pages de résultats HTML.

Autres conseils

Gcov fonctionne bien pour les applications multithread.L'architecture de l'instrumentation est correctement sérialisée afin que vous obteniez des données de couverture de bonne fidélité.

Je suggérerais d'utiliser gcov en conjonction avec lcov.Cela vous donnera d’excellents rapports couvrant l’ensemble du projet jusqu’aux fichiers sources individuels.

lcov vous propose également une version HTML de votre source avec un joli code couleur afin que vous puissiez évaluer rapidement vos lacunes de couverture.

Je n'ai pas utilisé gcov pour le travail de couverture multithread.Cependant, sur MacOS, l'outil Shark d'Apple gère plusieurs threads.Il s'agit avant tout d'un profileur, mais il peut également fournir des informations sur la couverture.

http://developer.apple.com/tools/sharkoptimize.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top