Sonarqube plugin loads only unit test coverage and not integration

Hi,

I’m running
gradle build test integTest

and then

./gradlew -x test -x integTest jacocoTestReport jacocoIntegTestReport jacocoTestCoverageVerification jacocoRootTestReport sonarqube -Pprod

but the coverage that I see in sonar fits only the unit testing coverage and not the integration tests.

Any idea what can be the issue and how to solve it?

Thanks, Uri

Hi Uri,

Can you verify that all your test reports are saved into the same directory? Can you share your analysis log?

The analysis / scanner log is what’s output from the analysis command. Hopefully, the log you provide will include that command as well.

This guide will help you find them.

 
Ann

Hi,

In Sonar I see the following:

You can see few things there:

Plugins:
Bundled analyzers:
  - IaC Code Quality and Security 1.9.2.2279 (iac)
  - PL/SQL Code Quality and Security 3.8.0.4948 (plsql)
  - Scala Code Quality and Security 1.11.0.3905 (sonarscala)
  - C# Code Quality and Security 8.46.0.54807 (csharp)
  - Vulnerability Analysis 9.7.0.18030 (security)
  - Java Code Quality and Security 7.14.0.30229 (java)
  - HTML Code Quality and Security 3.6.0.3106 (web)
  - Flex Code Quality and Security 2.7.0.2865 (flex)
  - XML Code Quality and Security 2.6.1.3686 (xml)
  - Text file Code Quality and Security 1.1.0.282 (text)
  - VB.NET Code Quality and Security 8.46.0.54807 (vbnet)
  - Swift Code Quality and Security 4.7.0.5624 (swift)
  - CFamily Code Quality and Security 6.38.0.60268 (cpp)
  - Python Code Quality and Security 3.19.0.10254 (python)
  - Dataflow Bug Detection Rules for Python 1.7.0.2417 (dbdpythonfrontend)
  - Dataflow Bug Detection 1.7.0.2417 (dbd)
  - Go Code Quality and Security 1.11.0.3905 (go)
  - JaCoCo 1.1.1.1157 (jacoco)
  - Kotlin Code Quality and Security 2.10.0.1456 (kotlin)
  - Dataflow Bug Detection Rules for Java 1.7.0.2417 (dbdjavafrontend)
  - T-SQL Code Quality and Security 1.6.0.4844 (tsql)
  - JavaScript/TypeScript/CSS Code Quality and Security 9.9.0.19492 (javascript)
  - Ruby Code Quality and Security 1.11.0.3905 (ruby)
  - Vulnerability Rules for C# 9.7.0.18030 (securitycsharpfrontend)
  - Vulnerability Rules for Java 9.7.0.18030 (securityjavafrontend)
  - Vulnerability Rules for JS 9.7.0.18030 (securityjsfrontend)
  - Vulnerability Rules for Python 9.7.0.18030 (securitypythonfrontend)
  - PHP Code Quality and Security 3.25.0.9077 (php)
  - ABAP Code Quality and Security 3.11.0.4030 (abap)
  - Configuration detection fot Code Quality and Security 1.2.0.267 (config)
  - Vulnerability Rules for PHP 9.7.0.18030 (securityphpfrontend)
Global server settings:
  - sonar.core.id=24A28C8A-AYDSq-jSMJOgK9bx-TvJ
  - sonar.core.startTime=2022-11-08T14:28:12+0200
  - sonar.forceAuthentication=true
Project server settings:
Project scanner properties:
  - sonar.branch.name=master
  - sonar.coverage.exclusions=**/Application.java,**/App*Conf.java,**/*Generated.java
  - sonar.cpd.exclusions=**/*.groovy
  - sonar.exclusions=**/build/*.java
  - sonar.host.url=http://swce-sonar.intel.com:9123
  - sonar.links.scm=https://github.intel.com/SWISS/NBSubmissionService
  - sonar.login=******
  - sonar.modules=:api,:service
  - sonar.projectBaseDir=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot
  - sonar.projectKey=com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService
  - sonar.projectName=NBSubmissionService
  - sonar.projectVersion=0.0.10-SNAPSHOT
  - sonar.scanner.app=ScannerGradle
  - sonar.scanner.appVersion=2.8-SNAPSHOT/4.10.3
  - sonar.sourceEncoding=UTF-8
  - sonar.sources=
  - sonar.userHome=/tmp/.sonar
  - sonar.verbose=true
  - sonar.working.directory=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/build/sonar
Scanner properties of module: com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:api
  - sonar.binaries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/api/build/classes/java/main
  - sonar.coverage.jacoco.xmlReportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/build/reports/jacoco/test/jacocoTestReport.xml
  - sonar.java.binaries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/api/build/classes/java/main
  - sonar.java.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.springframework/spring-web/4.3.25.RELEASE/76d29c076153e09961c8e6fd9b2d5c50bb80b902/spring-web-4.3.25.RELEASE.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/io.swagger/swagger-annotations/1.5.13/72433c890a61a876d22063e269be421c810a1a8d/swagger-annotations-1.5.13.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.22/9c08ea24c6eb714e2d6170e8122c069a0ba9aacf/lombok-1.18.22.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapsho...
  - sonar.java.source=1.8
  - sonar.java.target=1.8
  - sonar.java.test.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/api/build/classes/java/main,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-test/1.5.56-SNAPSHOT/64d1b2fa7c383d5a0528d67b81bee489ed8c5283/swiss-spring-test-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.springframework/spring-webmvc/4.3.25.RELEASE/c9fbfcf99abcd9bd9fd26468d719257841c24352/spring-webmvc-4.3.25.RELEASE.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.springfram...
  - sonar.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/javax.validation/validation-api/1.1.0.Final/8613ae82954779d518631e05daa73a6a954817d5/validation-api-1.1.0.Final.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.springframework/spring-web/4.3.25.RELEASE/76d29c076153e09961c8e6fd9b2d5c50bb80b902/spring-web-4.3.25.RELEASE.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/io.swagger/swagger-annotations/1.5.13/72433c890a61a876d22063e269be421c810a1a8d/swagger-annotations-1.5.13.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/org.projectlombok/lombok/1.18.22/9c08ea24c6eb714e2d6170e8122c069a0ba9aacf/lombok-1.18.22.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapsho...
  - sonar.moduleKey=com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:api
  - sonar.projectBaseDir=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/api
  - sonar.projectDescription=NBSubmissionService Service API
  - sonar.projectKey=com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:api
  - sonar.projectName=api
  - sonar.sources=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/api/src/main/java
Scanner properties of module: com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:service
  - sonar.binaries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/classes/java/main
  - sonar.coverage.jacoco.xmlReportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/build/reports/jacoco/test/jacocoTestReport.xml
  - sonar.jacoco.reportPath=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/jacoco/test.exec
  - sonar.jacoco.reportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/jacoco/test.exec
  - sonar.java.binaries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/classes/java/main
  - sonar.java.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-cloud/1.5.56-SNAPSHOT/c24e904911ace68c8bff01e6070bda5df68b1383/swiss-spring-cloud-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security/1.5.56-SNAPSHOT/4ae05a8d93c5ac3e171a4110cfa5b826f91552f1/swiss-spring-security-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security-common/1.5.56-SNAPSHOT/edf7ca6e426aef6464e2917731381d3db515e53d/swiss-spring-security-common-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.fram...
  - sonar.java.source=1.8
  - sonar.java.target=1.8
  - sonar.java.test.binaries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/classes/java/test,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/classes/java/integTest
  - sonar.java.test.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/classes/java/main,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/resources/main,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-cloud/1.5.56-SNAPSHOT/c24e904911ace68c8bff01e6070bda5df68b1383/swiss-spring-cloud-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security/1.5.56-SNAPSHOT/4ae05a8d93c5ac3e171a4110cfa5b826f91552f1/swiss-spring-security-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security-common/1.5.56-SNAPSHOT...
  - sonar.junit.reportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/test-results/test,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/test-results/integTest
  - sonar.junit.reportsPath=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/test-results/test
  - sonar.libraries=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-cloud/1.5.56-SNAPSHOT/c24e904911ace68c8bff01e6070bda5df68b1383/swiss-spring-cloud-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security/1.5.56-SNAPSHOT/4ae05a8d93c5ac3e171a4110cfa5b826f91552f1/swiss-spring-security-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.framework/swiss-spring-security-common/1.5.56-SNAPSHOT/edf7ca6e426aef6464e2917731381d3db515e53d/swiss-spring-security-common-1.5.56-SNAPSHOT.jar,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/caches/modules-2/files-2.1/com.intel.swiss.microservices.fram...
  - sonar.moduleKey=com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:service
  - sonar.projectBaseDir=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service
  - sonar.projectDescription=SWCE service - NBSubmissionService
  - sonar.projectKey=com.intel.swiss.microservices.nbsubmissionservice:NBSubmissionService:service
  - sonar.projectName=service
  - sonar.sources=src/main
  - sonar.surefire.reportsPath=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/test-results/test
  - sonar.tests=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/src/test/java,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/src/integTest/resources,/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/src/integTest/java

I’m not sure -
it looks like:

sonar.coverage.jacoco.xmlReportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/build/reports/jacoco/test/jacocoTestReport.xml

and

   - sonar.jacoco.reportPath=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/jacoco/test.exec
   - sonar.jacoco.reportPaths=/infrastructure/jenkins_slave_home/workspace/Folder-NetbatchX/NBSubmissionService-snapshot/service/build/jacoco/test.exec

When I check the local directory I see that here we have only ‘test’

ls -ltr ./build/reports/jacoco/
total 0
drwxr-x--- 3 sys_swisscld nbdev 46 Oct 23 11:16 test

but here we have both test and integTest:

ls -ltr ./service/build/reports/jacoco/*
./service/build/reports/jacoco/integTest:
total 304
drwxr-x--- 27 sys_swisscld nbdev   4096 Nov 22 08:51 html
-rw-r-----  1 sys_swisscld nbdev 306333 Nov 22 08:51 jacocoIntegTestReport.xml

./service/build/reports/jacoco/test:
total 304
drwxr-x--- 27 sys_swisscld nbdev   4096 Nov 22 08:51 html
-rw-r-----  1 sys_swisscld nbdev 306310 Nov 22 08:51 jacocoTestReport.xml

Hi,

So first, the exec format is no longer supported. You’ll want to make sure you output .xml files for each report.

Second, it’s possible you need to run the JaCoCo job to combine reports before you run analysis for the one place where you do have both reports. You can research that on the JaCoCo site. For the places where the second report is missing, you’ll want to take a look at the process that should be generating them.

 
HTH,
Ann