È possibile escludere determinate funzioni o righe di codice dall'analisi della copertura di gcov. Il mio codice contiene alcune funzioni che vengono utilizzate per il debug e non vengono esercitate come parte della mia suite di test. Tali funzioni riducono la percentuale di copertura riportata da gcov. Vorrei escludere queste funzioni dai risultati. Se non è possibile tramite gcov, forse è possibile tramite lcov, ma non sono stato in grado di capirlo. Il tuo aiuto è apprezzato.Esclusione di determinate funzioni dai risultati della copertura di gcov/lcov
11
A
risposta
5
Filtro alcuni file sorgente eseguendo l'output di lcov -capture tramite un semplice script awk. L'output di lcov --capture ha un formato molto semplice e lo script awk sotto filtra i file sorgente corrispondenti a file_pattern. Penso che sia possibile adattare lo script per renderlo funzioni di filtro al posto dei nomi di file.
BEGIN {
record=""
}
/^SF/ {
if (match ($0, "file_pattern")) {
doprint = 0
} else {
doprint = 1
}
}
/^end_of_record$/ {
if (doprint) {
print record $0
}
record = ""
next
}
{
record=record $0 "\n"
}
Vedi anche http://stackoverflow.com/questions/3555083/how-do-i-tell-gcov-to-ignore-un-hittable-lines-of-c-code – jchl