2010-11-17 33 views
6

Je voudrais utiliser gcov avec mon test unitaire écrit en utilisant QTestLib. J'ai réussi à générer des fichiers .gcno le long de mes fichiers objet en ajoutant à mon fichier .pro:Comment utiliser gcov avec QMake pour la couverture de code

QMAKE_CXXFLAGS += -fprofile-arcs -ftest-coverage -O0 

Mais, quand je lance:

gcov main.cpp.gcno 

Je suis un tas de fichiers .gcov généré avec un contenu non utile (rien comme ce que je vois dans les tutoriels sur le web):

-: 0:Source:main.cpp 
-: 0:Graph:main.gcno 
-: 0:Data:- 
-: 0:Runs:0 
-: 0:Programs:0 
-: 1:/*EOF*/ 
-: 2:/*EOF*/ 
-: 3:/*EOF*/ 
-: 4:/*EOF*/ 
-: 5:/*EOF*/ 
-: 6:/*EOF*/ 
-: 7:/*EOF*/ 
-: 8:/*EOF*/ 
-: 9:/*EOF*/ 
-: 10:/*EOF*/ 
-: 11:/*EOF*/ 
-: 12:/*EOF*/ 
-: 13:/*EOF*/ 
-: 14:/*EOF*/ 
#####: 15:/*EOF*/ 
-: 16:/*EOF*/ 
#####: 17:/*EOF*/ 
-: 18:/*EOF*/ 
-: 19:/*EOF*/ 
#####: 20:/*EOF*/ 
-: 21:/*EOF*/ 
-: 22:/*EOF*/ 
-: 23:/*EOF*/ 
-: 24:/*EOF*/ 
#####: 25:/*EOF*/ 
#####: 26:/*EOF*/ 
-: 27:/*EOF*/ 
-: 28:/*EOF*/ 
-: 29:/*EOF*/ 
#####: 30:/*EOF*/ 

Mes fichiers source sont sous ./MyProject/test/src annuaire et tous mes fichiers objets sont dans un répertoire .obj sous src (ie: .MyProject/test/src/.obj). Tous les fichiers binaires sont créés dans le répertoire ./MyProject/build.

Qu'est-ce qui me manque?

Merci!

Répondre

4

Avez-vous lancé votre programme QT? Jusque-là, il n'y a pas de données de couverture. Aussi, jetez un oeil à lcov, que vous pouvez utiliser pour obtenir un bon rapport basé sur html de tout

+0

Vous avez raison pour les données de couverture: il y a des données dans les fichiers maintenant. De plus, je dois fournir à gcov l'option -o .obj car mes fichiers objets se trouvent dans un répertoire séparé de ma source. –