Czy można wykluczyć niektóre funkcje lub linie kodu z analizy zasięgu gcov. Mój kod zawiera pewne funkcje, które są używane do debugowania i nie są wykonywane jako część mojego zestawu testów. Takie funkcje zmniejszają procent pokrycia zgłaszany przez gcov. Chciałbym wykluczyć te funkcje z wyników. Jeśli nie jest to możliwe za pośrednictwem gcov, być może jest to możliwe za pośrednictwem lcov, ale nie byłem w stanie tego rozgryźć. Twoja pomoc jest doceniana.Wyłączenie niektórych funkcji z zakresu pokrycia gcov/lcov
11
A
Odpowiedz
5
Odfiltrowuję niektóre pliki źródłowe, uruchamiając wyjście lcov --capture za pomocą prostego skryptu awk. Dane wyjściowe lcov --capture mają bardzo prosty format, a poniższy skrypt awk filtruje pliki źródłowe pasujące do file_pattern. Myślę, że możliwe jest zaadaptowanie skryptu, aby uczynił go funkcjami filtrowania zamiast nazw plików.
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"
}
Zobacz również http://stackoverflow.com/questions/3555083/how-do-i-tell-gcov-to-ignore-un-hittable-lines-of-c-code – jchl