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

Reply via email to