我面临以下代码覆盖率问题:
- 对于具有 .gcno 和 .gcda 对应文件的 .cpp 文件,不会生成详细的 html 文件。
- gcda 文件在运行 gcovr 命令后自动被删除。
我按照以下步骤操作:
- 当我使用 -fprofile-arcs -ftest-coverage 选项编译我的代码并与 -lgcov 选项链接时,生成了 .gcno。
- 我运行可执行文件来生成 .gcda 文件。
- 我将 .gcno 和 .gcda 文件复制到我有源代码的位置。
- 我从顶层目录运行 gcovr 命令(如下所述),该目录具有进一步包含 .cpp 文件的子目录。
- 生成了coverage.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
目前我正在从 Application_name 文件夹运行 gcovr 命令。
我运行以下命令为我的代码生成深入的 html 报告:
python.exe c:\\Python27\\gcovr --exclude-unreachable-branches -b -r . -d --html --html-details -o coverage.html
预期成绩:
- 实际结果将为每个具有对应 .gcda 和 .gcno 对应文件的 .cpp 文件提供 html 格式的详细覆盖率报告。
- 运行 gcovr 命令后,.gcda 和 .gcno 文件将出现在子目录中。