All@Karaf,
at OPS4J, there is an ongoing discussion about Karaf support in Pax
Exam, and in my role of Pax Exam Project Lead, I would like to bring up
this subject to the Karaf team, hoping to set up a roadmap for making
Karaf work with Pax Exam 3.x.
Some background:
- The Karaf Test Container, originally started by Andreas Pieber as a
separate project, is now part of the Karaf code base.
- On Karaf trunk, this container is based on Pax Exam 2.6.0.
- The container and existing tests use some Pax Exam APIs that were
deprecated in Pax Exam 2.4.0 and have been removed in Pax Exam 3.0.0,
along with the deprecrated Pax Runner Test Container.
- For this reason, people using Pax Exam to test Karaf-based
applications can't simply upgrade to Pax Exam 3.0.0. (Unfortunately,
nobody noticed or complained about that in the pre-3.0.0 release phase
of Pax Exam.)
- New Pax Exam options for provisioning Karaf features have been
contributed by Christoph Läubrich to Pax Exam master (targeting 3.1.0 or
later), currently not backed by any integration tests.
Summing up the discussion [1] at OPS4J so far, we would like to achieve
the following goals:
- Tests based on the Karaf Exam Container (including but not limited to
integration tests of the Karaf project) can be upgraded to Pax Exam 3.x
with little or no code changes.
- If any future refactorings either in Exam or in Karaf break the Karaf
Exam container, there is a bunch of failing regression tests in at least
one of the two projects.
- The Karaf Exam Container and all Karaf-specific Exam options are
centralized either in Apache Karaf or in OPS4J Pax Exam, to avoid
tangled responsibilities between two communities.
Those of you who've watched the progress of Pax Exam towards 3.0.0 will
know that Pax Exam now offers a whole lot of test containers for
third-party runtimes like GlassFish, JBoss AS, Tomcat etc., backed by a
fairly extensive regression test matrix. So a Karaf test container would
be just another member of the family.
On the other hand, it might make sense to move the recent Karaf-related
additions from Pax Exam to the Karaf project.
To be sure, nobody at OPS4J wants to rip out a chunk of the Karaf
codebase just to make Pax Exam bigger ;-)
The basic question is, what is the best way to make things work smoothly
for all Karaf-cum-Exam users - I'm offering my support, and I'm open to
all options.
So much for now - I'm looking forward to hearing your opinions.
[1] http://team.ops4j.org/browse/PAXEXAM-503
Best regards,
Harald