Невозможно сгенерировать покрытие кода, а также.gcda удалено из подкаталогов после выполнения команды gcovr
У меня возникают следующие проблемы с покрытием кода:
- Подробные html-файлы не создаются для файлов.cpp с аналогами.gcno и.gcda.
- Файлы gcda автоматически удаляются после запуска команды gcovr.
Я выполнил следующие шаги:
- .gcno были сгенерированы, когда я скомпилировал свой код с опциями -fprofile-arcs -ftest-охват и связал с опцией -lgcov.
- Я запустил исполняемый файл для генерации файлов.gcda.
- Я скопировал файлы.gcno и.gcda туда, где у меня есть исходный код.
- Я запустил команду gcovr (упомянутую ниже) из верхнего каталога, в котором есть подкаталоги, которые дополнительно содержат файлы.cpp.
- Сгенерирован cover.html, в котором есть информация о других отчетах html, но когда я их открываю, они пустые.
- Я пробовал 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
Ожидаемые результаты:
- Фактические результаты будут иметь подробный отчет о покрытии в формате html для каждого файла.cpp, который имеет соответствующий аналог.gcda и.gcno.
- Файлы.gcda и.gcno будут присутствовать в подкаталогах после выполнения команды gcovr.
1 ответ
->.gcda файлы удаляются из-за опции -d, как уже говорилось @amon в комментарии.
-> Ниже приведена команда, которую я использовал для создания отчета о покрытии, я запускаю эту команду из каталога Application_name::
gcovr -r.. --html --html-details -o покрытие.html --object-directory=../../../..//output_gtest// Приложение // содержимое // имя_приложения
-> Я внес следующие изменения в команду, упомянутую выше:
1) - объект-каталог, здесь я добавил путь, где мои файлы.gcda и.gcno присутствуют.
2) Я использую устаревшую версию gcovr, из-за которой я не могу сгенерировать отчет о покрытии, поэтому я обновляю свою версию gcovr, шаги для того же самого упомянуты в ссылке ниже: