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

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

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


person talkaboutquality    schedule 24.12.2009    source источник


Ответы (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

person Steve    schedule 24.12.2009