Open xndou opened 11 years ago
thanks for your feedback.
there is a problem with the code coverage and Xcode 5, I guess this is your problem: https://github.com/octo-technology/sonar-objective-c/issues/39
You can check the content of your coverage-FIDApp.xml file, I guess it is almost empty, right?
The coverage file is not empty. It has every class entry in it. I had to tweak the xctool/xcodebuild command line switch a little bit. When I use the gcovr commandline with html output option I can see real coverage. If you would like a copy of the coverage file for testing purpose let me know. I can also send you zipped up sonar-reports folder.
In this case, yes, I am interested in your input.
I am interested both in:
If you could you make a Gist with all that, that would be perfect!
I realize I should add a troubleshooting section on GitHub also to make things easier to report.
I have uploaded related files to: https://gist.github.com/xndou/7990501
run-sonar-new.sh is a modified version of run-sonar.sh, where we had to put temporary workaround for OCLint. we found the xctool reporter json-compilation-database does not generate comiple-commands.json which is needed for downstream processing by OCLint. The workaround we used is to replace it with xcodebuild and oclint-xcodebuild combination to generate the json-compilation-database file: xcodebuild → xcodebuild.log → oclint-xcodebuild → compile-commands.json
Because Xcode5 by default doesn't generate coverage files, we found a workaround of including XCTest+GCovFlush.h and XCTest+GCovFlush.m in our xcode project. This looks like triggers the flushing our of the gcc coverage files and we were able to see the coverage in both xml and html (manually generated by gcovr)
sorry for the delay, I just looked at your issue again. It seems you had 2 issues, right?
I have filed a separate issue #48 about OCLint.
About coverage, our workaround (with XCTest+GCovFlush.h/.m) only solves part of the problem, up to the point we can get coverage XML. However, seems Sonar runner is NOT picking up the xml report, therefore we are not seeing coverage in Sonar dashboard. Let me know if provided information (source code and log) is suffcient: https://gist.github.com/xndou/7990501
I think I'm getting the same error: Code Coverage seems to run fine, I get a proper XML-File which is also parsed according to the sonar-runner log but no coverage appears in the Sonar. Any chance that you will have a look at this issue any time soon?
Hi, I'm getting the same error too. My coverage file is properly created in ${ROOT_PROJECT_DIRECTORY}/sonar-reports/coverage-
Thank you for your support!
Yea, looks like we're running into a similar issue. We get unit tests to run (and show 100% success), and a nice cobertura coverage report is generated, but no coverage data is showing in the Sonar app
Same thing here... :(...
I was seeing the problem with SonarQube 4.2
When I switched to 3.7.4, things were working.
Maybe give that a shot?
Potentially, but it depends on what your organization is running.
Also, for the people installing it through brew you are automatically pushed the 4.2 release.
[web [iPhone msg]]
On 09/apr/2014, at 23:51, markaurelius notifications@github.com wrote:
I was seeing the problem with SonarQube 4.2
When I switched to 3.7.4, things were working.
Maybe give that a shot?
\ Reply to this email directly or view it on GitHub.
Any solutions to this?
Having a similar problem myself. I've tested three instances of SonarQube... our 'production' version which is currently 4.3, and local installs of 4.4 and 3.7.4 LTS. The only version that shows Unit Test coverage is 3.7.4 LTS.
... looks like I need to stick to the LTS version, unless anyone has found a fix?
Having a similar problem. It is, in fact, multifold:
1) Since upgrading to Xcode 7.*, the coverage files indicate extremely large hit numbers, e.g.:
2) Even after sanitizing the cobertura file, NOTHING is uploaded to the server even though the processing seems to have been successful :
Sensor org.sonar.plugins.objectivec.coverage.CoberturaSensor@7136d1b3 10:34:34.506 INFO - Processing coverage report /Users/me/Documents/src/repo3/sonar-reports/coverage-CompanionApp.xml
The cobertura XML file is NOT empty.
Any idea?
Thanks, Daniel
Facing similar problem with Xcode 7.x Cobertura Coverage report is generated and sonar runner also processes the coverage.xml report. Using slather to generate to cobertura report. But it is not visible on sonar dashboard. Did anyone find the solution to this issue?
Facing same issue with Xcode 7.x. Eventhough the cobertura.xml file is generated successfully (not empty) and sonar-runner
not giving any error or any log that failed to parse cobertura.xml
file (in debugging mode also).
fyi: Cobertura plugin is also installed and i am using a build from PR#79.
Sonar: 5.3 Sonar-runner: 2.4 Objective C plugin: 0.5-SNAPSHOT (PR#79)
Even i was facing the same problem. But late it got solved. Issue was i was running slather and sonar-runner in different directory. Make sure you run both the commands in the same directory.
Any updates on this? I'm running into the same issues as people have mentioned above. In the sonar logs it shows that is succesfully parses the coverage report:
INFO: Python unit test coverage
INFO: Parsing report '/home/jenkins/workspace/eaver_leeroy-jenkins_master-XUBHYHOCJ2BSAGFITIJQAXB2GR7VRGBRZCATBWJNZEXK53CTDGSQ/coverage.xml'
INFO: Python integration test coverage
INFO: Python overall test coverage
INFO: Sensor Python Squid Sensor (done) | time=136ms
INFO: Sensor Embedded CSS Analyzer Sensor
INFO: 0 source files to be analyzed
INFO: Sensor Embedded CSS Analyzer Sensor (done) | time=215ms
I even printed the coverage.xml file previously in my jenkins pipeline and it looks fine:
<?xml version="1.0" ?>
<coverage branch-rate="1" branches-covered="0" branches-valid="0" complexity="0" line-rate="0.8571" lines-covered="6" lines-valid="7" timestamp="1515797369275" version="4.4.2">
<!-- Generated by coverage.py: https://coverage.readthedocs.io -->
<!-- Based on https://raw.githubusercontent.com/cobertura/web/master/htdocs/xml/coverage-04.dtd -->
<sources>
<source>/leeroy-jenkins/leeroy</source>
</sources>
<packages>
<package branch-rate="1" complexity="0" line-rate="0.8571" name=".">
<classes>
<class branch-rate="1" complexity="0" filename="__init__.py" line-rate="1" name="__init__.py">
<methods/>
<lines/>
</class>
<class branch-rate="1" complexity="0" filename="module1.py" line-rate="0.8571" name="module1.py">
<methods/>
<lines>
<line hits="1" number="1"/>
<line hits="1" number="2"/>
<line hits="1" number="3"/>
<line hits="0" number="4"/>
<line hits="1" number="5"/>
<line hits="1" number="6"/>
<line hits="1" number="7"/>
</lines>
</class>
</classes>
</package>
</packages>
</coverage>
coverage report xml was generated by xctool under sonar-reports directory but not showing on Sonar dashboard. Xcode version is 5.0.
Verbose mode run-sonar.sh output showing the coverage report was recognized by Sonar runner and processed: 18:29:47.020 INFO - Sensor org.sonar.plugins.objectivec.coverage.CoberturaSensor@37bce5dc... 18:29:47.030 INFO - Processing coverage report /ffas/workspaces/FFAS_Mobile_Framework_Sonar/FFASMobileFramework/FIDApp/src/FIDApp/sonar-reports/coverage-FIDApp.xml 18:29:47.037 INFO - Sensor org.sonar.plugins.objectivec.coverage.CoberturaSensor@37bce5dc done: 17 ms