Copertura del codice per i file di origine utilizzando LCOV
Domanda
Sto usando LCOV e GenHTML per generare report di copertura del codice. Con la seguente struttura di directory, sono in grado di ottenere la copertura del codice per i file di origine situati nella directory di test/ non sono in grado di ottenere la copertura del codice per il file my_file.c nella mia directory SRC.
src/
my_file.c
my_file.h
tests/
AllTests.c
CuTest.c
CuTest.h
my_file_tests.c
objects/
AllTests.gcda
AllTests.gcno
AllTests.o
CuTest.gcda
CuTest.gcno
CuTest.o
my_file.gcda
my_file.gcno
my_file.o
my_file_tests.gcda
my_file_tests.gcno
my_file_tests.o
Invocando il comando LCOV dalla directory dei test:
lcov -b . --directory objects/ -c -o ./coverage/app.info
Capturing coverage data from objects/
Found gcov version: 4.4.3
Scanning objects/ for .gcda files ...
Found 4 data files in objects/
Processing objects/AllTests.gcda
Processing objects/my_file_test.gcda
Processing objects/CuTest.gcda
Processing objects/my_file.gcda
geninfo: WARNING: gcov did not create any files for /home/me/workspace/project/tests/objects/my_file.gcda!
Finished .info-file creation
Soluzione
L'aggiornamento da LCOV da 1.7 a 1.9 ha risolto questo problema per me. La versione 1.9 è disponibile da http://ltp.sourceforge.net/coverage/lcov.php
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow