Rewrite jaxws tools tests to run in fork mode
---------------------------------------------
Key: JBWS-3238
URL:
https://issues.jboss.org/browse/JBWS-3238
Project: JBoss Web Services
Issue Type: Task
Security Level: Public (Everyone can see)
Components: jbossws-cxf, jbossws-native
Reporter: Alessio Soldano
Fix For: jbossws-native-4.0, jbossws-cxf-4.0
Currently the jaxws tools are run loading the WSConsumerPlugin/WSProviderPlugin classes in
a separate classloader (that sees the same libs as those found in the surefire classpath).
After the latest changes on JBoss Modules to deal with setting proper JAXP factories, and
considering Apache CXF also performs some hacks when loading LogUtils (which in turn uses
JAXP stuff), it has became evident that we can't go on trying to isolate the tools run
simply by changing the classloader. We need to run each tests there in a new jvm.
A way of achieving that is probably to use the JUnit test runner
http://junit.sourceforge.net/junit3.8.1/javadoc/junit/textui/TestRunner.html similarly to
what we already do in WSRunClientTestCase::test()
The aim would be to run something like what follows from the PluginBase::dispatch():
java -cp modified-classpath junit.textui.TestRunner
org.jboss.test.ws.jaxws.smoke.tools.WSProviderPlugin
except we then need just one call for each plugin to avoid running tests multiple times.
Another solution is adding a new execution to the surefire plugin, having the forkMode
option set to "pertest".
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira