如果工件和源文件位于不同目录中,则生成代码覆盖率报告时会出现问题

时间:2018-08-22 10:51:32

标签: c++ jenkins sonarqube code-coverage sonarqube-scan

我正在生成C ++代码覆盖率并将其与SonarQube-Jenkins集成。

当我将.cpp,.o,.gcno,.gcda等保存在同一目录中时,它工作得很好。但是当src和工件在不同目录中时,我遇到了问题。

我指的是以下链接

https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Coverage-tracers


我的项目的结构如下所示

$ tree MyProject
MyProject/
|-- build
|   `-- Makefile
`-- src
    `-- main.cpp

2 directories, 2 files

构建代码并运行测试套件时,输出二进制文件.gcno和.gcda文件存储在MyProject/build

$ tree MyProject/
MyProject/
|-- build
|   |-- a.out
|   |-- main.gcda
|   |-- main.gcno
|   `-- Makefile
`-- src
    `-- main.cpp

2 directories, 5 files

想知道我需要传递给gcovr哪些参数以生成xml报告以及从何处获取?

e.g. gcovr -r WHERE_SONAR_SCANNER_WILL_RUN -x --object-directory=ABSOLUTE_PATH_TO_GCOV_FILES_FOLDER > report.xml

我需要在sonar-project.properties中设置什么?

sonar.projectKey=MyProject
sonar.projectName=MyProject
sonar.projectVersion=1.0
sonar.sources=??
sonar.cxx.coverage.reportPath=??

0 个答案:

没有答案