Uploaded image for project: 'JBoss Web Services'
  1. JBoss Web Services
  2. JBWS-3238

Rewrite jaxws tools tests to run in fork mode

    XMLWordPrintable

Details

    Description

      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".

      Attachments

        Activity

          People

            rhn-support-asoldano Alessio Soldano
            rhn-support-asoldano Alessio Soldano
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: