Closed s-martin closed 6 years ago
@s-martin please turn debug Info on to get more information. https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Get-debug-information
@s-martin in general coverage is working. This is also tested by our integration tests. Most likely it‘s an path issue: https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Path-and-path-separator-issues
Thanks for the info. I will check both debug output and paths, when I'm back in the office tomorrow. The workspace contains a Linux symlink, may this cause issues?
For sonar-scanner -e
I get
INFO: Option -e/--errors is no longer supported and will be ignored
Is there an update of the description in https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Get-debug-information needed?
@s-martin thx I updated the page https://github.com/SonarOpenCommunity/sonar-cxx/wiki/Get-debug-information needed. -e
is no more supported.
OK, I digged a little deeper and I found out the following.
My Jenkins is located at /opt/var/lib/jenkins
and there is a symlink /var/lib/jenkins
.
Multiple parsers seem somehow choke on this, e.g. Coverage:
14:04:36.565 INFO: Searching coverage reports by path with basedir '/var/lib/jenkins/jobs/MYPROJECT/workspace' and search prop 'sonar.cxx.coverage.reportPath'
14:04:36.565 INFO: Searching for coverage reports '[Application/trunk/SourceCode/Common/Debug/coverage.xml]'
14:04:36.565 INFO: Coverage BaseDir '/var/lib/jenkins/jobs/MYPROJECT/workspace'
14:04:36.565 DEBUG: Parsing unit test coverage reports
14:04:36.567 DEBUG: Normalized report includes to '[/var/lib/jenkins/jobs/MYPROJECT/workspace/Application/trunk/SourceCode/Common/Debug/coverage.xml]'
14:04:36.580 INFO: Scanner found '1' report files
14:04:36.581 INFO: Parser will parse '1' report files
14:04:36.581 DEBUG: Parsing 'Cobertura' format
14:04:36.754 INFO: Added coverage report '/var/lib/jenkins/jobs/MYPROJECT/workspace/Application/trunk/SourceCode/Common/Debug/coverage.xml' (parsed by: CoberturaParser)
14:04:36.755 DEBUG: cached measures for '/var/lib/jenkins/jobs/MYPROJECT/workspace/Application/trunk/SourceCode/Common/Debug/coverage.xml' : current cache content data = '0'
14:04:36.755 DEBUG: save coverage measure for file: '/opt/var/lib/jenkins/jobs/MYPROJECT/workspace/Application/trunk/SourceCode/Common/src/Settings.cpp' cxxFile = 'null'
14:04:36.756 DEBUG: Cannot find the file '/opt/var/lib/jenkins/jobs/MYPROJECT/workspace/Application/trunk/SourceCode/Common/src/Settings.cpp', ignoring coverage measures
I also tried to put in the absolute paths with /opt/var/
and /var/
via sed
into coverage.xml or cppcheck.xml, but neither worked.
Doesn't work also for cppcheck and clang-tidy.
Other parsers seem to be unaffected.
@s-martin I fear no one tried it with symlinks up to now. What I can do is to add it as an enhancement for the future.
@guwirth that would be great, thanks!
I close this and created a new issue.
I use SonarQube 6.7 with sonar-cxx 0.9.8 on Jenkins (CentOS 7). I have the issue that while coverage files produced by gcovr in cobertura format (is valid according to DTD) are picked up correctly, SonarQube has 0% coverage.
Please see output of Sonar and resulting coverage file below.