Невозможно сгенерировать покрытие кода, а также .gcda удалено из подкаталогов после выполнения команды gcovr - PullRequest
0 голосов
/ 10 января 2019

У меня возникают следующие проблемы с покрытием кода:

  1. Подробные HTML-файлы не создаются для файлов .cpp, которые иметь .gcno и .gcda аналоги.
  2. gcda-файлы автоматически удаляются после выполнения команды gcovr.

Я выполнил следующие шаги:

  1. .gcno были сгенерированы, когда я скомпилировал свой код с -fprofile-arcs Параметры -ftest-охват и связаны с параметром -lgcov.
  2. Я запустил исполняемый файл для генерации файлов .gcda.
  3. Я скопировал файлы .gcno и .gcda в папку, где у меня есть исходный код.
  4. Я выполнил команду gcovr (упомянутую ниже) из верхнего каталога которые имеют подкаталоги, которые дополнительно содержат файлы .cpp.
  5. Создается файл cover.html, в котором содержится информация о других HTML-отчеты, но когда я их открываю, они пустые.
  6. Я пробовал gcovr, работающий в разных местах, например, из корневой каталог или из подкаталогов.

Каталог, в котором находятся файлы gcno и .gcda: :: D: \ RTC_Latest_GTEST \ RTC_21_11_18 \ Software \ output_gtest \ Application \ содержимое \ Application_Name

Каталог, из которого выполняется команда gcovr: D: \ RTC_Latest_GTEST \ RTC_21_11_18 \ Software \ Application \ содержимое \ Application_Name

В настоящее время я запускаю команду gcovr из папки Application_name.

Я выполнил следующую команду для генерации подробных html-отчетов для моего кода:

python.exe c:\\Python27\\gcovr --exclude-unreachable-branches -b -r . -d --html --html-details -o coverage.html

Ожидаемые результаты:

  1. Фактические результаты будут иметь подробный отчет о покрытии в HTML формат для каждого файла .cpp, который имеет соответствующие .gcda и .gcno аналог.
  2. .gcda и .gcno файлы будут присутствовать в подкаталогах после выполнения команды gcovr.

Сгенерированный отчет о покрытии HTML

1 Ответ

0 голосов
/ 23 января 2019

->. Gcda файлы удаляются из-за опции -d, как уже сказано @amon в комментарии.

-> Ниже приведена команда, которую я использовал для создания отчета о покрытии, я запускаю эту команду из каталога Application_name ::

gcovr -r .. --html --html-details -o cover.html --object-directory = .. / .. / .. / .. // output_gtest // Приложение // содержимое // имя_приложения

-> Я внес следующие изменения в указанную выше команду:

1) - объект-каталог, здесь я добавил путь, где присутствуют мои файлы .gcda и .gcno.

2) Я использую устаревшую версию gcovr, из-за которой я не могу сгенерировать отчет о покрытии, поэтому я обновляю свою версию gcovr, шаги для того же самого упомянуты в ссылке ниже:

https://gcovr.com/installation.html

...