Je travaille avec gcovr pour générer des données de couverture pour l'ensemble de mon projet.Comment obtenir une couverture au niveau de la méthode avec gcovr?
Je suis en mesure de générer des rapports de synthèse comme celui-ci:
------------------------------------------------------------------------------
GCC Code Coverage Report
Directory: ...../src/
------------------------------------------------------------------------------
File Lines Exec Cover Missing
------------------------------------------------------------------------------
src/A/A1/xyz.cpp 1609 2 0% 97,99,101....
src/A/A2/abcg.cpp 271 4 1% .......
src/B/B1/mnop.cpp 74 2 2% 34,42,56-.....
src/B/B2/wrds.cpp 1533 6 0% 76,83,85-.....
src/C/C1/abcdefg.cpp 1079 8 0% 143,150,152.....
avec un total et tout le reste aussi, mais ces données sont au niveau de la source. J'ai donc essayé de générer des fichiers xml qui avaient le même type de données au format xml. Quand j'ai finalement généré un fichier xml plus dense avec une couverture de niveau de ligne comme celui-ci:
<class branch-rate="0.285714285714" complexity="0.0" filename="src/absc/mno/xyz/ahgs.cpp" line-rate="0.231481481481" name="os_clib_hxx">
<methods/>
<lines>
<line branch="false" hits="0" number="200"/>
<line branch="false" hits="0" number="202"/>
<line branch="false" hits="3" number="208"/>
<line branch="false" hits="3" number="210"/>
<line branch="false" hits="63" number="213"/>
<line branch="true" condition-coverage="50% (1/2)" hits="63" number="215">
<conditions>
<condition coverage="50%" number="0" type="jump"/>
</conditions>
</line>
<line branch="false" hits="0" number="218"/>
.........
..........
Je ne trouvais toujours rien au niveau de la méthode. Je sais qu'il est possible avec gcov de générer une couverture de niveau de méthode pour un fichier à la fois, mais ce n'est pas possible dans mon cas car je travaille avec des milliers de fichiers, pour lesquels j'essaye de générer des données pour chacun toute méthode serait problématique.