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.

È stato utile?

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"
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top