我正在生成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=??