Кто-нибудь написал скрипт, который превращает вывод покрытия gcov в формат предупреждения компилятора?
Большинство редакторов кода знают, как использовать в коде достаточно стандартный формат file_path, line_number, message_text и гиперссылки. Они знают как, потому что именно так они отображают предупреждения компилятора. Visual Studio делает это, и Source Insight легко настроить для этого. Если мне придется, я сам напишу сценарий, но, возможно, кто-то уже сделал это.
Ищите сценарий, который принимает вывод покрытия gcov для gcc и переводит его в этот формат.
1 ответ
Решение
Вы можете обработать вывод gcov с помощью простого скрипта awk:
/.*:.*:/ {
split($2,tokens,":");
LINE=tokens[1];
}
/#####:/ { print FILENAME ":" LINE ": warning: Line not executed"}
/branch/ {
if ($4 == 0)
print FILENAME ":" LINE ": warning: " $0;
}
Бежать с awk -f warn.awk main.c.gcov
и он преобразует вывод в:
main.c.gcov:35: warning: branch 0 taken 0 (fallthrough)
main.c.gcov:37: warning: Line not executed