Add smoke tests for each module and each type of bundle

Description

The idea would be to implement for each module (mapper-orm, backend-lucene, backend-elasticsearch, more in the future...) a smoke test, which will fail if the module is not in the classpath (the test might fail in other cases, but it must fail if the module is not in the classpath).

The test itself will not include any configuration related to how the tested module is added to the classpath; it must be generic. We will add one maven-failsafe-plugin execution per "distribution bundle":

  • Maven artifacts

  • Our distribution ZIP/.tar.gz

  • WildFly in library mode (hibernate-search bundled with the application)

  • If we have the time:

  • OSGi?

  • Wildfly in module mode (hibernate-search bundled as a JBoss module)

The end goal is that, each time we add a new publicly exposed module, we only need to add a single smoke test for that module, and the build will automatically test that every "distribution bundle" correctly includes that new module. Similarly, whenever we change any dependency, existing smoke tests for the publicly exposed modules will check that every "distribution bundle" correcly includes the necessary dependencies.

Guillaume mentioned the Hibernate Validator includes something along the same line, running the same tests both "out of container" and in WildFly. See https://github.com/hibernate/hibernate-validator/blob/master/tck-runner/pom.xml#L177

Environment

None

Status

Assignee

Unassigned

Reporter

Yoann Rodière

Labels

None

Suitable for new contributors

None

Pull Request

None

Feedback Requested

None

Components

Fix versions

Priority

Major
Configure