Как получить правильное покрытие кода с помощью GCOV? Как это показывает 0% покрытия - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь получить покрытие кода на подмножестве массивной кодовой базы, в настоящее время экспериментирую с gcov .

  • Скомпилировав подмножество базы кода со следующими флагами компиляции -fprofile-arcs -ftest-покрытие и -lgcov флаг ссылки. Все файлы .gcno созданы.

  • Теперь, когда я запускаю файл кода, предположим, что A.cpp (не напрямую через терминал, но функции этого файла вызываются через какой-то другой файл), я вижу некоторые неопределенныеповедение с .gcda файлом.

  • Он не обновляется при каждом запуске (проверяется статистика для .gcda файла), но обновляется при некоторых запусках. После запуска gcov он дает 0% покрытия для A.cpp , а также для всех других .cpp файлов.
  • Я проверил, что скрипт работает, так как есть результаты, которые возможны только с помощью функций, предусмотренных в A.cpp .

Проверили версию gcov и gcc , я использую gcc версию 8.3.1 и не вижу ни одного несоответствия версий. Я попытался запустить gcov на небольшом тестовом скрипте factorial.cpp, и он показывает правильное покрытие.

Ожидается какое-то покрытие кода на базе кодов подмножеств.

...