Desidero utilizzare gli strumenti di copertura del codice (lcov) nel mio progetto cmake. Ho letto l'esempio qui https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake I test sono stati aggiunti nel mio progetto utilizzando la funzione cmake 'add_test()'.Come eseguire la copertura del codice in cmake
Voglio creare un target personalizzato, qualcosa chiamato 'test_coverage', che quando invocato per l'esecuzione dovrebbe eseguire tutti i test, raccogliere i dati di copertura e generare l'html (usando genhtml) in una directory 'code_coverage'.
C'è un modo per ottenere l'elenco di tutti i test nel mio progetto e i relativi percorsi di directory, in modo che nel target personalizzato 'test_coverage' potrei eseguire ogni test individualmente e raccogliere i suoi dati di copertura?
Dalla tua descrizione presumo tu abbia già letto [Guida dettagliata sull'uso di gcov con CMake/CDash?] (Http://stackoverflow.com/questions/13116488/detailed-guide-on-using-gcov-with-cmake -cdash). Ma hai visto, ad es. https://github.com/stepcode/stepcode/blob/master/lcov.cmake? 'CTest' sa/può estrarre la lista di test nella directory di output binario di CMake e con la sua modalità di script' ctest -S ... 'è possibile automatizzare l'intera build, testare e raccogliere il processo di dati di copertura. – Florian
Potrebbe anche essere utile [Come eseguire ctest dopo aver costruito il mio progetto con cmake] (http://stackoverflow.com/questions/15115075/how-to-run-ctest-after-building-my-project-with-cmake) – Florian
@Florian Non vedo una chiamata ctest_coverage nell'esempio lcov.cmake? Inoltre, stai dicendo che puoi eseguire l'analisi della copertura senza uno script (-S)? Puoi indicare un esempio di come farlo? Sono interessato all'analisi della copertura di tutti gli obiettivi del test in forma aggregata. –