aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christian Schneider <ch...@die-schneider.net>
Subject How to do testing for several framework versions with pax exam3
Date Thu, 15 May 2014 07:29:20 GMT
I am currently trying to upgrade several aries modules to pax exam 3.
Most of the test code works fine with the new pax exam and I already 
finished some modules. There is one aspect though that seems to be 
difficult to support.

Some of the current tests seem to run against more than one version of 
the framework. See
https://github.com/apache/aries/blob/trunk/proxy/proxy-itests/src/test/java/org/apache/aries/proxy/itests/BasicProxyBundlesTest.java
for an example.

In pax exam 3 the framework is not specified using an Option like 
equinox().version("3.5.0") .
Instead the framework and version is specified as a maven dependency. As 
maven does not allow to specify one dependency in more than one version
it is not easy to specify an OSGi framework in two or more versions.

One solution is to use a profile for the dependency of each framework. 
So the test can be run with several profiles to cover the different 
versions.
The problem here is that it is complicated to make maven run each 
profile for a default build. Pax exam uses the maven invoker plugin to 
support this case.
https://github.com/ops4j/org.ops4j.pax.exam2/blob/master/itest/osgi/pom.xml
This means though that the real itest project has to be nested inside 
the outer itest wrapper pom that we see above. So I would rather not 
like to go this way.

Does anyone have a good solution for this? Would it perhaps be ok that 
we just test with one framework version by default and allow to switch 
to others with a profile that has to be set manually?

I am investigating if options like equinox().version() can be added to 
pax exam 3 again. At least for the forked container I think it may work 
to add the different framework jars to the classpath of the forked jvm. 
This would mean some bigger effort though and I am not sure if the pax 
exam team likes it. (Will discuss this with Harald).

I would be glad about any suggestions.

Christian

-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
http://www.talend.com


Mime
View raw message