Fix coverage analysis. Two versions of jacoco were being used and creating jar hell

This commit is contained in:
Robert Muir 2015-08-03 23:08:18 -04:00
parent 45ad47581d
commit 0e0fef81b2
2 changed files with 30 additions and 23 deletions

View File

@ -81,15 +81,15 @@ You can also filter tests by certain annotations ie:
Those annotation names can be combined into a filter expression like:
------------------------------------------------
mvn test -Dtests.filter="@nightly and not @slow"
mvn test -Dtests.filter="@nightly and not @backwards"
------------------------------------------------
to run all nightly test but not the ones that are slow. `tests.filter` supports
to run all nightly test but not the ones that are backwards tests. `tests.filter` supports
the boolean operators `and, or, not` and grouping ie:
---------------------------------------------------------------
mvn test -Dtests.filter="@nightly and not(@slow or @backwards)"
mvn test -Dtests.filter="@nightly and not(@badapple or @backwards)"
---------------------------------------------------------------
=== Seed and repetitions.
@ -145,7 +145,6 @@ Default value provided below in [brackets].
mvn test -Dtests.nightly=[false] - nightly test group (@Nightly)
mvn test -Dtests.weekly=[false] - weekly tests (@Weekly)
mvn test -Dtests.awaitsfix=[false] - known issue (@AwaitsFix)
mvn test -Dtests.slow=[true] - slow tests (@Slow)
------------------------------------------------------------------
=== Load balancing and caches.
@ -246,6 +245,21 @@ $ curl -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elastic
$ tar -xzf elasticsearch-1.2.1.tar.gz
---------------------------------------------------------------------------
== Running integration tests
To run the integration tests:
---------------------------------------------------------------------------
mvn verify
---------------------------------------------------------------------------
Note that this will also run the unit tests first. If you want to just
run the integration tests only (because you are debugging them):
---------------------------------------------------------------------------
mvn verify -Dskip.unit.tests
---------------------------------------------------------------------------
== Testing the REST layer
The available integration tests make use of the java API to communicate with
@ -262,7 +276,7 @@ REST tests use the following command:
mvn verify -Dtests.filter="@Rest"
---------------------------------------------------------------------------
`ElasticsearchRestTests` is the executable test class that runs all the
`RestNIT` are the executable test classes that runs all the
yaml suites available within the `rest-api-spec` folder.
The REST tests support all the options provided by the randomized runner, plus the following:
@ -319,3 +333,12 @@ ES_CLEAN_BEFORE_TEST=true bats 30_deb_package.bats
The current mode of execution is to copy all the packages that should be tested
into one directory, then copy the bats files into the same directory and run
those.
== Coverage analysis
To run tests instrumented with jacoco and produce a coverage report in
`target/site/jacoco/`:
---------------------------------------------------------------------------
mvn -Dtests.coverage test jacoco:report
---------------------------------------------------------------------------

20
pom.xml
View File

@ -47,6 +47,7 @@
<jackson.version>2.5.3</jackson.version>
<slf4j.version>1.6.2</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<jacoco.version>0.7.2.201409121644</jacoco.version>
<!-- Build resources properties -->
<elasticsearch.tools.directory>${project.build.directory}/dev-tools</elasticsearch.tools.directory>
@ -451,14 +452,6 @@
<optional>true</optional>
</dependency>
<!-- For coverage analysis -->
<dependency>
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<classifier>runtime</classifier>
<version>0.6.4.201312101107</version>
</dependency>
</dependencies>
</dependencyManagement>
@ -1073,7 +1066,7 @@ org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UT
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.7.2.201409121644</version>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
@ -1400,15 +1393,6 @@ org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UT
<value>true</value>
</property>
</activation>
<dependencies>
<dependency>
<!-- must be on the classpath -->
<groupId>org.jacoco</groupId>
<artifactId>org.jacoco.agent</artifactId>
<classifier>runtime</classifier>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<tests.security.manager>false</tests.security.manager> <!-- security policy doesn't have appropriate permissions for instrumentation -->
</properties>