2012-07-30 15 views
5

Dopo aver compilato con CMake con flags --coverage ed eseguito i miei programmi di test dell'unità boost, vengono creati i file con estensione .cpp.gcda e .cpp.gcno. Se poi eseguo gcovr, afferma che non riesce a trovare i file .gcno (messaggio di errore ".gcno: impossibile aprire il file grafico"). Potrei eventualmente spostare tutti i file di output, ma sarebbe davvero scomodo/stupido.CMake/CTest & gcovr: estensioni del nome file?

I problemi correlati di altre persone potrebbero essere risolti utilizzando CTest ma, mentre sto usando Jenkins, vorrei attenermi a gcovr e utilizzare l'output xml di cobertura.

Ps. Forse dovrei semplicemente chiedere: come devo combinare CMake con gcovr?

+0

Avevo risposto a un'altra domanda probabile: un metodo brutto https://stackoverflow.com/a/46232989/4204540 – xl4times

+0

Giusto, bello sapere che non ero l'unico, e che siamo d'accordo sulla bruttezza di quel trucco ! – ikku100

risposta

1

Questa è la soluzione che stiamo utilizzando per la stessa configurazione all'interno di jenkins: http://www.semipol.de/archives/320. Puoi semplicemente prendere la macro CMake dalla libreria RSC collegata per i tuoi scopi.

A parte questo, ho letto qualcosa su un formato leggermente modificato dei file di copertura nelle recenti versioni di gcc e sembra che gcovr non abbia tenuto il passo con quello. Ma non riesco a ricordare dove leggo questo.

Problemi correlati