TeamCity JaCoCo plugin does not generate coverage data properly (gives 0% coverage on all classes in jars)

I am trying to use the JaCoCo plugin for TeamCity to gather test coverage data for functional tests on jar files that are built elsewhere. It looks like things are mostly working because I get a nice report that lists all the appropriate jars, classes & methods. The only problem is that coverage is zero for everything. I've included relevant parts of the log file below. I've monitored the buildTmp folder during the build and do not see anything written there. By the end of the build, the folder is empty. Does anyone have an idea on what I might be doing wrong? Or have I stumbled upon a bug?

Thanks in advance for your help.


[16:57:18][Step 3/3] JACOCO coverage enabled
[16:57:18][Step 3/3] Initial M2_HOME not set
[16:57:18][Step 3/3] Current M2_HOME = /home/mpci/BuildAgent/tools/maven3_3
[16:57:18][Step 3/3] PATH = /home/mpci/BuildAgent/tools/maven3_3/bin:/home/mpci/bin:/home/mpci/.local/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin
[16:57:18][Step 3/3] Using watcher: /home/mpci/BuildAgent/plugins/mavenPlugin/maven-watcher-jdk16/maven-watcher-agent.jar
[16:57:18][Step 3/3] Initial MAVEN_OPTS not set
[16:57:18][Step 3/3] Current MAVEN_OPTS not set
[16:57:18][Step 3/3] Starting: /usr/lib/jvm/java-8-oracle/bin/java -Dagent.home.dir=/home/mpci/BuildAgent -Dagent.name=MP_Test_Linux_01 -Dagent.ownPort=9090 -Dagent.work.dir=/home/mpci/BuildAgent/work -Dbuild.number=1.1.0-SNAPSHOT.560-c2d4430 -Dbuild.start.date=20171107 -Dbuild.start.time=165647 -Dbuild.vcs.lastIncluded.revision=9b2377fc6ff3faa7a6cfb5dc2c3f3efaedffdbc8 -Dbuild.vcs.lastIncluded.revision.Root=9b2377fc6ff3faa7a6cfb5dc2c3f3efaedffdbc8 -Dbuild.vcs.lastIncluded.timestamp=20171011T032201-0700 -Dbuild.vcs.lastIncluded.timestamp.Root=20171011T032201-0700 -Dbuild.vcs.number=9b2377fc6ff3faa7a6cfb5dc2c3f3efaedffdbc8 -Dbuild.vcs.number.1=9b2377fc6ff3faa7a6cfb5dc2c3f3efaedffdbc8 -Dbuild.vcs.number.MarshalPoint_Root=9b2377fc6ff3faa7a6cfb5dc2c3f3efaedffdbc8 -Dclassworlds.conf=/home/mpci/BuildAgent/temp/buildTmp/teamcity.m2.conf -Dcom.jetbrains.maven.watcher.report.file=/home/mpci/BuildAgent/temp/buildTmp/maven-build-info.xml -Djava.io.tmpdir=/home/mpci/BuildAgent/temp/buildTmp -Dmaven.failsafe.debug='-javaagent:/home/mpci/BuildAgent/tools/jacoco/jacocoagent.jar=append=true,destfile=/home/mpci/BuildAgent/temp/buildTmp/JACOCO1539525567168922446coverage/jacoco.exec' -Dmaven.home=/home/mpci/BuildAgent/tools/maven3_3 -Dmaven.multiModuleProjectDirectory=/home/mpci/BuildAgent/work/efdd5ab126ea3474 -Dmaven.repo.local=/home/mpci/.m2/repository -Dmaven.surefire.debug='-javaagent:/home/mpci/BuildAgent/tools/jacoco/jacocoagent.jar=append=true,destfile=/home/mpci/BuildAgent/temp/buildTmp/JACOCO1539525567168922446coverage/jacoco.exec' -Dteamcity.agent.cpuBenchmark=484 -Dteamcity.agent.dotnet.agent_url=http://localhost:9090/RPC2 -Dteamcity.agent.dotnet.build_id=1393887 -Dteamcity.auth.password=R6NLHxmklRAdSMbfqJnzllvhk5W9rNvG -Dteamcity.auth.userId=TeamCityBuildId=1393887 -Dteamcity.build.changedFiles.file=/home/mpci/BuildAgent/temp/buildTmp/changedFiles7563595317576899730.txt -Dteamcity.build.checkoutDir=/home/mpci/BuildAgent/work/efdd5ab126ea3474 -Dteamcity.build.id=1393887 -Dteamcity.build.properties.file=/home/mpci/BuildAgent/temp/buildTmp/teamcity.build4550665935848852282.properties -Dteamcity.build.tempDir=/home/mpci/BuildAgent/temp/buildTmp -Dteamcity.build.workingDir=/home/mpci/BuildAgent/work/efdd5ab126ea3474 -Dteamcity.buildConfName=Gen2CRI - Gerrit TestAutomation Linux -Dteamcity.buildType.id=MarshalPoint_Gen2CRIGerritTestAutomationLinux -Dteamcity.configuration.properties.file=/home/mpci/BuildAgent/temp/buildTmp/teamcity.config4975797238305560292.properties -Dteamcity.coverage.jacoco.classpath=+:**/repo/**/*.jar -Dteamcity.coverage.jacoco.javaagent.jar.path=/home/mpci/BuildAgent/tools/jacoco/jacocoagent.jar -Dteamcity.coverage.jacoco.patterns=+:com.intel.sdo.* -Dteamcity.coverage.jacoco.sources=. -Dteamcity.coverage.runner=JACOCO -Dteamcity.coverage.tempdir.path=/home/mpci/BuildAgent/temp/buildTmp/JACOCO6688843116075257566coverage -Dteamcity.maven.watcher.home=/home/mpci/BuildAgent/plugins/mavenPlugin/maven-watcher-jdk16 -Dteamcity.projectName=MarshalPoint -Dteamcity.runner.properties.file=/home/mpci/BuildAgent/temp/buildTmp/teamcity.runner4615884205360337025.properties -Dteamcity.tests.recentlyFailedTests.file=/home/mpci/BuildAgent/temp/buildTmp/testsToRunFirst1441222541607642448.txt -Dteamcity.version=10.0.4 (build 42538) -classpath /home/mpci/BuildAgent/tools/maven3_3/boot/plexus-classworlds-2.5.2.jar: org.codehaus.plexus.classworlds.launcher.Launcher -f /home/mpci/BuildAgent/work/efdd5ab126ea3474/gen2cri_tests/pom.xml -B clean verify -Dgroups=gen2cri_smoketest
[16:57:18][Step 3/3] in directory: /home/mpci/BuildAgent/work/efdd5ab126ea3474
.
.
.
Tests run successfully here
.
.
.
[16:58:39][Step 3/3] Generating JaCoCo coverage... (7s)
[16:58:46][Generating JaCoCo coverage...] JaCoCo report generating finished
[16:58:46][Step 3/3] Publishing JaCoCo coverage...
[16:58:46][Publishing JaCoCo coverage...] Publishing artifacts (1s)
[16:58:46][Publishing artifacts] Collecting files to publish: [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/report=>.teamcity/coverage_jacoco/coverage.zip]
[16:58:46][Publishing artifacts] Creating archive coverage.zip
[16:58:46][Creating archive coverage.zip] Creating /home/mpci/BuildAgent/temp/buildTmp/ZipPreprocessor1137672887379591461/coverage.zip
[16:58:46][Creating archive coverage.zip] Archive was created, file size 549.87 KB (563076 bytes)
[16:58:47][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/report => .teamcity/coverage_jacoco/coverage.zip] using [WebPublisher]
[16:58:47][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/report => .teamcity/coverage_jacoco/coverage.zip] using [ArtifactsCachePublisher]
[16:58:46][Publishing JaCoCo coverage...] Publishing artifacts (2s)
[16:58:46][Publishing artifacts] Collecting files to publish: [/home/mpci/BuildAgent/temp/buildTmp/JACOCO1539525567168922446coverage/jacoco.exec=>.teamcity/coverage_jacoco]
[16:58:48][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO1539525567168922446coverage/jacoco.exec => .teamcity/coverage_jacoco] using [WebPublisher]
[16:58:48][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO1539525567168922446coverage/jacoco.exec => .teamcity/coverage_jacoco] using [ArtifactsCachePublisher]
[16:58:46][Publishing JaCoCo coverage...] Publishing artifacts (3s)
[16:58:46][Publishing artifacts] Collecting files to publish: [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/jacoco.log=>.teamcity/coverage_jacoco]
[16:58:49][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/jacoco.log => .teamcity/coverage_jacoco] using [WebPublisher]
[16:58:49][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4575512115466471755coverage/jacoco.log => .teamcity/coverage_jacoco] using [ArtifactsCachePublisher]
[16:58:46][Publishing JaCoCo coverage...] Publishing artifacts (4s)
[16:58:46][Publishing artifacts] Collecting files to publish: [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4067134758154131964coverage/coverage.params=>.teamcity/coverage_jacoco]
[16:58:50][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4067134758154131964coverage/coverage.params => .teamcity/coverage_jacoco] using [WebPublisher]
[16:58:50][Publishing artifacts] Publishing 1 file [/home/mpci/BuildAgent/temp/buildTmp/JACOCO4067134758154131964coverage/coverage.params => .teamcity/coverage_jacoco] using [ArtifactsCachePublisher]

0
1 comment
Official comment

Usually zero in JaCoCo coverage means you've run the coverage several times or with incorrect binaries location. Please check your build steps and coverage filters.

Also you can check .teamcity/coverage_jacoco/jacoco.log artifact

Please sign in to leave a comment.