2012-07-30 15 views
5

Po kompilacji przy użyciu CMake z flagami --coverage i uruchomieniem programów testowych do boosterów, tworzone są pliki o rozszerzeniu .cpp.gcda i .cpp.gcno. Jeśli uruchomię gcovr to twierdzi, że nie może znaleźć plików .gcno (komunikat o błędzie ".gcno: nie można otworzyć pliku graficznego"). Mógłbym przenieść wszystkie pliki wyjściowe, ale byłoby to naprawdę niewygodne/głupie.CMake/CTest & gcovr: rozszerzenia plików?

Powiązane problemy innych osób można rozwiązać za pomocą CTest, ale ponieważ używam Jenkinsa, chciałbym trzymać się gcovr i używać wyjścia xml cobertura.

Ps. Może powinienem po prostu zapytać: jak powinienem łączyć CMake z gcovr?

+0

Odpowiedziałem na inne prawdopodobne pytanie: brzydką metodę https://stackoverflow.com/a/46232989/4204540 – xl4times

+0

Dobrze, miło wiedzieć, że nie byłem jedyny, i że zgadzamy się na brzydotę tego obejścia ! – ikku100

Odpowiedz

1

To jest rozwiązanie, którego używamy do tego samego ustawienia wewnątrz jenkins: http://www.semipol.de/archives/320. Możesz po prostu pobrać makro CMake z połączonej biblioteki RSC do własnych celów.

Poza tym przeczytałem coś o nieco zmienionym formacie pokrycia w najnowszych wersjach gcc i wygląda na to, że gcovr nie nadążał z tym. Ale nie pamiętam, gdzie to czytałem.

Powiązane problemy