Mit gcov ist es möglich, mit .gcda-Dateien zu verschmelzen?

8

Ich habe die gleichen Quelldateien (C und Obj-C), die in zwei Ziele kompiliert werden: den Komponententest, der ausführbar ist, und das eigentliche Produkt (das dann die Integration testet). Die beiden Ziele werden an unterschiedlichen Stellen erstellt, sodass die Objektdateien, .gcno- und .gcda-Dateien getrennt sind. Nicht alle Quelldateien werden in den Komponententest kompiliert, so dass nicht alle Objekte dort existieren. Alle Quelldateien werden in den Produktbuild kompiliert.

Gibt es eine Möglichkeit, die beiden Gruppen von .gcda-Dateien zu kombinieren, um die Gesamtabdeckung für Komponententests und Integrationstests (wie sie auf dem Produktbuild ausgeführt werden) zu erhalten?

Ich benutze lcov.

Mac OS X 10.6, GCC 4.0

Danke!

    
Joe 02.07.2010, 13:43
quelle

3 Antworten

4

Da Sie lcov verwenden, sollten Sie in der Lage sein, die gcov .gcda-Dateien in lcov-Dateien zu konvertieren und sie mit lcov --add-tracefile zusammenzuführen.

  

Von der Manpage: Fügen Sie den Inhalt von tracefile hinzu.   Geben Sie mehrere Trace-Dateien mit der Option -a an, um die in diesen Dateien enthaltenen Coverage-Daten zu kombinieren, indem Sie die Anzahl der Tests für die Übereinstimmung von Test- und Dateinamen-Kombinationen addieren.

    
philant 30.07.2010, 14:50
quelle
5

Endlich habe ich mein Problem mit Hilfe von lcov gelöst.

Grundsätzlich habe ich Folgendes getan:

  • Kompilieren Sie die Anwendung mit den Flags -fprofile-arcs -ftest-coverage --coverage
  • Verteilen Sie die Kopie der Anwendung an jeden Knoten.
  • Führen Sie die Anwendung in jedem Knoten parallel aus. (Dieser Schritt generiert die Abdeckungsinformationen in das Anwendungsverzeichnis des Zugriffshosts.)
  • Lass lcov seine Arbeit machen:
    • lcov --directory src/ --capture --output-file coverage_reports/app.info
  • Generieren Sie die HTML-Ausgabe:
    • genhtml -o coverage_reports/ coverage_reports/app.info

Ich hoffe, dass dies jemandem helfen kann.

    
pafede2 10.09.2013 08:22
quelle
0

Ich füge es durch lcov multi-d Parameter wie folgt zusammen. Es funktioniert.

%Vor%     
YANPENG YIN 20.04.2017 06:30
quelle

Tags und Links