运行覆盖率测试

我们在编译时通过添加-Cinstrument-coverage来生成覆盖率统计所需的代码,并通过集成minicovsemihosting来生成覆盖率数据。最后,我们使用grcov工具生成可读的HTML格式覆盖率数据。所有这些都已集成到我们的构建系统中,可以使用以下命令生成覆盖率数据:

gn gen out/qemu_riscv64.cov/ --args=build_type="coverage" board="qemu_riscv64"
ninja -C out/qemu_riscv64.cov check_coverage

如果你收到提示说grcov未找到,可以通过

cargo install grcov

构建并运行后,可以在 ./out/qemu_riscv64.cov/cov_report 目录中找到合并的覆盖率报告。打开该目录中的 index.html 文件以查看覆盖率数据。