Escludendo alcune funzioni da gcov / risultati di copertura lcov
Domanda
E 'possibile escludere determinate funzioni o righe di codice dalla analisi della copertura gcov. Il mio codice contiene alcune funzioni che vengono utilizzate per il debug, e non esercitati come parte della mia suite di test. Tali funzioni riducono la percentuale di copertura riportato da gcov. Vorrei escludere queste funzioni dai risultati. Se non è possibile tramite gcov, forse è possibile tramite lcov, ma non è stato in grado di capirlo. Il vostro aiuto è apprezzato.
Soluzione
I filtrare alcuni file sorgente eseguendo l'uscita del lcov --capture tramite un semplice script awk. L'uscita del lcov --capture ha un formato molto semplice e lo script awk sotto filtra i file di origine corrispondenti file_pattern. Penso che sia possibile adattare lo script per renderlo filtrare funzioni, invece di 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"
}