Hi. I'm using Jenkins to build my iOS app and I want to add coverage 
reports for my unit tests to my build.

So far, I have been able to successfully generate gcov output for my 
project.

Next, I tried to look for a plugin that can interpret the gcov data and 
roll it up into a report. The closest one I could find was CloverPublisher. 
The instructions I found recommended gcovr to create xml output from my 
coverage files.

Since Jenkins already was pointing at my workspace, I just created a build 
step that calls a bash script which contains:
/usr/bin/gcovr -x>clover-report.xml

This results in an xml document being created inside of my workspace folder 
that appears to be fine.

Next, I created a post build step "Publish Clover Coverage Report".

Since I am creating my "clover-report.xml" inside the workspace, I set the 
Clover report Directory (which says to set it relative to workspace) as ".".
I gave the name of my clover report file name: clover-report.xml

I also set some Coverage Metric Targets.

Next I ran a build. The build failed. The raw console output shows (in 
part):

Publishing Clang scan-build results
Publishing Clover coverage report...
Publishing Clover HTML report...
Publishing Clover XML report...
Publishing Clover coverage results...
ERROR: Publisher hudson.plugins.clover.CloverPublisher aborted due to exception
java.lang.NullPointerException
        at 
hudson.plugins.clover.CloverCoverageParser.trimPaths(CloverCoverageParser.java:31)
        at 
hudson.plugins.clover.CloverCoverageParser.parse(CloverCoverageParser.java:54)
        at 
hudson.plugins.clover.CloverPublisher.processCloverXml(CloverPublisher.java:202)
        at 
hudson.plugins.clover.CloverPublisher.perform(CloverPublisher.java:163)
        at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:36)
        at 
hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
        at 
hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:692)
        at hudson.model.Build$BuildExecution.post2(Build.java:183)
        at 
hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:639)
        at hudson.model.Run.execute(Run.java:1527)
        at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
        at hudson.model.ResourceController.execute(ResourceController.java:88)
        at hudson.model.Executor.run(Executor.java:236)
Recording test results
[PostBuildScript] - Execution post build scripts.
[PostBuildScript] Build is not success : do not execute script
Build step '[PostBuildScript] - Execute a set of scripts' marked build as 
failure
Email was triggered for: Failure
Email was triggered for: Still Failing


I'm confused about the NullPointerException.

Reply via email to