Кто-нибудь написал скрипт, который превращает вывод покрытия gcov в формат предупреждения компилятора? - PullRequest
1 голос
/ 24 декабря 2009

Большинство редакторов кода знают, как взять в код достаточно стандартный формат file_path, line_number, message_text и гиперссылки. Они знают как, потому что именно так они отображают предупреждения компилятора. Visual Studio делает это, и Source Insight легко настроить для этого. Если мне придется, я сам напишу сценарий, но, возможно, кто-то уже сделал это.

Ищем скрипт, который принимает gcc gcov branch выход покрытия и переводит его в этот формат.

1 Ответ

2 голосов
/ 24 декабря 2009

Вы можете обработать вывод 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

...