gcovr 5.0 中没有颜色 --html-details 报告

No colours in gcovr 5.0 --html-details report

我一直在使用 gcovr 模块生成月度报告。我在 docker 上工作,所以每次我都使用 pip3 命令在我的 Linux 容器上下载 gcovr 模块。 最近下载模块后,发现gcovr的版本已经从4.2升级到5.0,之前的命令不能正常使用了。

用于生成报告的早期命令:

gcovr -g --keep --html-details --html-title "TITLE" --html-medium-threshold 60 --html-high-threshold 80 --gcov-ignore-parse-errors >> report.html

gcovr 5.0 中,使用上述命令抛出以下错误:

(ERROR) a named output must be given,if the option --html-details is used

然后,根据上述错误的建议,我使用了以下命令:

gcovr -g --keep --html-details -o report.html --html-title "TITLE" --html-medium-threshold 60 --html-high-threshold 80 --gcov-ignore-parse-errors

但是,我相信上面的命令并不完全正确,使用上面的命令,生成的报告格式不正确,并且在各自的目录中生成了很多不需要的 *.css 文件文件夹。

如下图所示,颜色没有按照“图例”中定义的百分比突出显示:

--html-details 报告格式为每个源文件生成一个 HTML 文件和一个索引文件。从 gcovr 5.0 开始,他们共享的 CSS 被存储为一个单独的文件。这对于某些网络服务器的安全配置很重要。

  • 当您复制或移动 html-详细信息报告时,您必须复制所有相关文件:所有 .html.css 文件。

  • 您可以使用 --html-self-contained 选项强制将 CSS 嵌入到每个 HTML 文件中。这例如可以通过电子邮件发送单个报告文件,但链接不起作用。此选项作为 gcovr 5.0 changelog.

    的一部分宣布
  • 看来您只对索引文件感兴趣,对源代码级别的细节不感兴趣。如果是这样,请考虑使用 --html 报告格式,该格式默认生成单个文件。

补充说明:

  • 如果你想强制使用特定的 gcovr 版本,你可以告诉 pip 例如pip install 'gcovr ~= 4.2'~= version specifier 选择最新的 兼容 版本,从而避免意外更改。
  • 所有输出格式都可以直接取输出名称。你可以写 --html foo.html.
  • 而不是 --html -o foo.html
  • 选项 --gcov-ignore-parse-errors 仅用作临时创可贴,以防止您 CI 管道 运行 万一您更新到对 . gcov 报告格式。如果没有这个选项出现错误,那是 gcovr 的一个错误,应该是 reported。使用此选项您仍会收到一份报告,但该报告可能不正确。
  • gcovr选项-g/--use-gcov-files很容易被错误使用。除非使用 gcov 选项 -l/--long-file-names.
  • ,否则几乎肯定会得到错误的结果