diff options
author | Marek Gradzki <mgradzki@cisco.com> | 2017-09-29 10:52:07 +0200 |
---|---|---|
committer | Marek Gradzki <mgradzki@cisco.com> | 2017-09-29 12:34:17 +0200 |
commit | 404120d28cdb94866a66bb085752c3076c1fcd76 (patch) | |
tree | 08f820595315a5717ccba304d4ec3ef22d558657 | |
parent | 6b29b8c107356947cf05f7699ebe384a44d7ca7d (diff) |
Include IT coverage in JaCoCo and Sonar reports
* introduces jacoco-it.exec which stores
aggregated IT test execution data,
* configures Sonar to use jacoco-it.exec
to report IT coverage,
* marks following modules as integration tests:
- it-test
- minimal-distribution-test
- bgp-distribution-test
Change-Id: I538c1febb6112a6abad29061f6b00259a0d79f9f
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
-rw-r--r-- | common/honeycomb-parent/pom.xml | 20 | ||||
-rw-r--r-- | infra/bgp-distribution-test/pom.xml | 13 | ||||
-rw-r--r-- | infra/it/it-test/pom.xml | 13 | ||||
-rw-r--r-- | infra/minimal-distribution-test/pom.xml | 13 |
4 files changed, 57 insertions, 2 deletions
diff --git a/common/honeycomb-parent/pom.xml b/common/honeycomb-parent/pom.xml index 4488f1140..52ece9b23 100644 --- a/common/honeycomb-parent/pom.xml +++ b/common/honeycomb-parent/pom.xml @@ -34,6 +34,13 @@ <!-- Sonar configuration --> <!-- Note: This list should match jacoco-maven-plugin's exclusion list below --> <sonar.exclusions>**/gen/**,**/generated-sources/**,**/yang-gen**</sonar.exclusions> + <!-- https://github.com/SonarSource/sonar-scanning-examples/blob/master/sonarqube-scanner-maven/pom.xml#L24 --> + <!-- The destination file for the code coverage report has to be set to the same value + in the parent pom and in each module pom. Then JaCoCo will add up information in + the same report, so that, it will give the cross-module code coverage. --> + <!-- We store jacoco-it.exec in honeycomb-parent because it is built first, + so mvn clean won't remove aggregated report. --> + <sonar.jacoco.itReportPath>${maven.multiModuleProjectDirectory}/common/honeycomb-parent/target/jacoco-it.exec</sonar.jacoco.itReportPath> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> @@ -323,19 +330,28 @@ <version>${jacoco.version}</version> <executions> <execution> - <id>pre-unit-test</id> + <id>agent-for-ut</id> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> - <id>post-unit-test</id> + <id>agent-for-it</id> + <goals> + <goal>prepare-agent-integration</goal> + </goals> + </execution> + <execution> + <id>jacoco-site</id> <goals> <goal>report</goal> </goals> </execution> </executions> <configuration> + <!-- Appends data to existing JaCoCo execution file. Required for IT coverage. + Will not affect UT which use separate files. --> + <append>true</append> <excludes> <exclude>**/gen/**</exclude> <exclude>**/generated-sources/**</exclude> diff --git a/infra/bgp-distribution-test/pom.xml b/infra/bgp-distribution-test/pom.xml index f9ccafc8c..8401c88bb 100644 --- a/infra/bgp-distribution-test/pom.xml +++ b/infra/bgp-distribution-test/pom.xml @@ -57,4 +57,17 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <configuration> + <!-- Include module's tests in IT coverage report --> + <destFile>${sonar.jacoco.itReportPath}</destFile> + </configuration> + </plugin> + </plugins> + </build> </project>
\ No newline at end of file diff --git a/infra/it/it-test/pom.xml b/infra/it/it-test/pom.xml index db3200f73..422127f08 100644 --- a/infra/it/it-test/pom.xml +++ b/infra/it/it-test/pom.xml @@ -70,4 +70,17 @@ <version>${project.version}</version> </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <configuration> + <!-- Include module's tests in IT coverage report --> + <destFile>${sonar.jacoco.itReportPath}</destFile> + </configuration> + </plugin> + </plugins> + </build> </project>
\ No newline at end of file diff --git a/infra/minimal-distribution-test/pom.xml b/infra/minimal-distribution-test/pom.xml index b57abfc22..4a566a6ad 100644 --- a/infra/minimal-distribution-test/pom.xml +++ b/infra/minimal-distribution-test/pom.xml @@ -96,4 +96,17 @@ <scope>test</scope> </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <configuration> + <!-- Include module's tests in IT coverage report --> + <destFile>${sonar.jacoco.itReportPath}</destFile> + </configuration> + </plugin> + </plugins> + </build> </project>
\ No newline at end of file |