In the -elasticsearch plugin, we us this filter in the maven-failsafe-plugin configuration:
<includes>
<include>**/*IT.java</include>
<include>**/*.java</include>
</includes>
<excludes>
... exclusions for some specific tests ...
</excludes>
The filter <include>*/.java</include> means that we execute pretty much every test. Including unit tests, which are supposed to be suffixed with "Test" (as opposed to "IT" for integration tests). From a test coverage point of view, there's no point in doing that, since those tests are supposedly unaffected by the change of indexing service. But we have to do that because many integration tests are actually using the *Test suffix, especially in the -orm and -engine modules, making unit tests indistinguishable from integration tests. Thus a simple naming problem is currently slowing down our build. It may not have been a big deal until now, but with
HSEARCH-2406 In Progress (add the -engine tests to the -elasticsearch module) it's getting worse, and it will also get worse each time we add another indexing service (Solr, ...). We should probably consider renaming our integration tests in -engine and -orm to use the "IT" suffix, or move them to a separate folder (src/integration/main for instance), or both. |