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

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

  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\contents\Application_name

Директория, из которой выполняется команда gcovr::: D:\RTC_Latest_GTEST\RTC_21_11_18\software\Application\contents\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 ответ

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

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

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

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

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

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

https://gcovr.com/installation.html

Другие вопросы по тегам