code-coverage - Chromium Coverage 脚本 - 生成 HTML 时出错
问题描述
$ gn gen out/coverage \
--args="use_clang_coverage=true is_component_build=false
dcheck_always_on=true is_debug=false"
$ python tools/code_coverage/coverage.py \
crypto_unittests url_unittests \
-b out/coverage -o out/report \
-c 'out/coverage/crypto_unittests' \
-c 'out/coverage/url_unittests --gtest_filter=URLParser.PathURL' \
-f url/ -f crypto/
运行第一条指令工作正常。运行第二个会导致以下错误跟踪:
2021-05-11 15:22:05,961 INFO] Building ['crypto_unittests', 'url_unittests'].
ninja: Entering directory `/home/xxx/chromium/chromium/src/out/coverage'
ninja: no work to do.
[2021-05-11 15:22:09,105 INFO] Running command: "out/coverage/crypto_unittests", the output is redirected to "/home/xxx/chromium/chromium/src/out/report/linux/logs/crypto_unittests_output.log".
[2021-05-11 15:22:09,319 INFO] Creating target profile data file.
[2021-05-11 15:22:09,741 INFO] Target "crypto_unittests" profile data is created as: "/home/xxx/chromium/chromium/src/out/report/crypto_unittests.profdata".
[2021-05-11 15:22:09,743 INFO] Running command: "out/coverage/url_unittests --gtest_filter=URLParser.PathURL", the output is redirected to "/home/xxx/chromium/chromium/src/out/report/linux/logs/url_unittests_output.log".
[2021-05-11 15:22:09,779 INFO] Creating target profile data file.
[2021-05-11 15:22:10,194 INFO] Target "url_unittests" profile data is created as: "/home/xxx/chromium/chromium/src/out/report/url_unittests.profdata".
[2021-05-11 15:22:10,196 INFO] Creating the coverage profile data file.
[2021-05-11 15:22:10,220 INFO] Code coverage profile data is created as: "/home/xxx/chromium/chromium/src/out/report/linux/coverage.profdata".
[2021-05-11 15:22:10,221 INFO] Finding shared libraries for targets (if any).
[2021-05-11 15:22:10,228 INFO] Finished finding shared libraries for targets.
[2021-05-11 15:22:10,228 INFO] Generating code coverage report in html (this can take a while depending on size of target!).
warning: 2 functions have mismatched data
warning: 2 functions have mismatched data
[2021-05-11 15:22:13,228 ERROR] Default coverage report dir does not exist: /home/xxx/chromium/chromium/src/out/report/coverage.
Traceback (most recent call last):
File "tools/code_coverage/coverage.py", line 1106, in <module>
sys.exit(Main())
File "tools/code_coverage/coverage.py", line 1102, in Main
processor.PrepareHtmlReport()
File "/home/xxx/chromium/chromium/src/tools/code_coverage/coverage_utils.py", line 572, in PrepareHtmlReport
self.RenameDefaultCoverageDirectory()
File "/home/xxx/chromium/chromium/src/tools/code_coverage/coverage_utils.py", line 556, in RenameDefaultCoverageDirectory
MergeTwoDirectories(default_report_subdir_path, self.report_root_dir)
File "/home/xxx/chromium/chromium/src/tools/code_coverage/coverage_utils.py", line 727, in MergeTwoDirectories
for filename in os.listdir(src_dir_path):
OSError: [Errno 2] No such file or directory: '/home/xxx/chromium/chromium/src/out/report/coverage'
使用 gn gen out/Default 编译 Chromium 可以正常工作。有什么建议么?系统:Ubuntu 20.04
最好的祝愿
解决方案
推荐阅读
- python - 安装包
- reactjs - React:如何解决错误:对象的类型为“未知”?
- c# - 什么是适合我的案例的基于 MVC 的 OOP 设计?
- python - 命令引发异常:AttributeError:“用户”对象没有属性“角色”
- python - Aiohttp 在浏览器正常打开的某些网站上引发证书错误
- python - 如何使下一个“for”循环从前一个循环继续循环到字典?
- html - 显示移动视图的桌面视图
- r - 段落在 \text@ 完成之前结束。
\par - flutter - 这是什么意思:“text_painter.dart:断言失败:第 900 行 pos 12:'!_needsLayout':不正确”?
- wordpress - WordPress 查询:仅将规则应用于特定的帖子类型