Ich habe mit gcovr gearbeitet, um Coverage-Daten für mein gesamtes Projekt zu generieren.Wie erhält man die Abdeckung auf Methodenebene mit gcovr?
Ich bin in der Lage zusammenfassende Berichte wie folgt zu generieren:
------------------------------------------------------------------------------
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.....
mit insgesamt und alles andere auch, aber diese Daten an der Quelle Ebene. Also habe ich versucht, XML-Dateien zu erzeugen, die die gleiche Art von Daten im XML-Format hatten. Als ich schließlich dichtere xml-Datei mit Line-Level-Abdeckung wie diese erzeugt:
<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"/>
.........
..........
Ich konnte immer noch nichts Methodenlevel finden. Ich weiß, dass es mit gcov möglich ist, die Methodenebenendeckung für jeweils eine Datei zu generieren, aber das ist in meinem Fall nicht möglich, da ich mit Tausenden von Dateien arbeite, für die ich versuche, für jede Datei Daten zu generieren Jede Methode wäre problematisch.