In the -elasticsearch plugin, we us use this filter in the {{maven-failsafe-plugin}} configuration:
{code} <includes> <include>**/*IT.java</include> <include>**/*.java</include> </includes> <excludes> ... exclusions for some specific tests ... </excludes> {code}
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 (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. |
|