You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Eran Chinthaka <ch...@opensource.lk> on 2007/05/11 01:38:50 UTC

[Axis2] Using Local transport for test cases

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

Some time back we were very much concerned about the build time of
Axis2. Yesterday I built Axis2 in a very high end machine with lot of
memory (hmm, not sure multi-processors helped for the tests, but we do
fork for junit tests). It took 29 minutes for the complete build :(

IIRC, Glen once suggested, during a hackathon, to use local transport
for some of the tests so that we can cut down http transport costs. Any
volunteer to have a look on this? I might be able to help a bit with my
limited time here.

Also, what can I do to parallelize running junit tests? Say if I want to
run tests in a particular module in parallel to one another to improve
the running time.

Thanks,
Chinthaka
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGQ60KjON2uBzUhh8RAtwQAJ90BHQRq7jWuVAdeVzMJi6V9tzIlwCePRxi
+XIVavcaHsf9di/QWdBnAfA=
=CsZz
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] Using Local transport for test cases

Posted by David Illsley <da...@gmail.com>.
I had a little play with the LocalTestCase class Glen committed the
other day but the local transport doesn't seem to work as expected,
specifically, if the 'server' throws an exception, the client code
receives an exception regardless of the setting of
isExceptionToBeThrownOnSOAPFault on the client Options object. Does
anyone know if this is by design, and if not, could it be fixed or at
least made optional (otherwise it won't be possible to use the local
transport for any tests)?
David

On 11/05/07, David Illsley <da...@gmail.com> wrote:
> I quite like the idea of doing some of the tests using the local
> transport, not least because it should reduce the problems we have
> with continuum and bound ports. I'd vote for a separate module to put
> bits like that in. That would also let the test phase of related
> projects use it easily without cluttering kernel.
>
> Having said that, I'll warn that my guess is that the majority of time
> is still spent doing codegen in the *-codegen and integration modules.
> David
>
> On 11/05/07, Glen Daniels <gl...@thoughtcraft.com> wrote:
> > Hi Chinthaka!
> >
> > Eran Chinthaka wrote:
> > > IIRC, Glen once suggested, during a hackathon, to use local transport
> > > for some of the tests so that we can cut down http transport costs. Any
> > > volunteer to have a look on this? I might be able to help a bit with my
> > > limited time here.
> >
> > Funny you should mention this. :)  I have a "LocalTestCase" utility
> > class on my machine, which sets up a no-filesystem AxisConfiguration and
> > then makes it very easy to deploy services and obtain initialized
> > clients.  Then you extend that with test cases - I've got a working one
> > for SOAP sessions, for instance.
> >
> > I've got a couple of issues with it at the moment:
> >
> > First, where to put it?  I'd like it to be usable for unit testing, so I
> > don't quite want to put it in the integration module - I was thinking
> > kernel, but then we also want it to be usable by other modules.  Should
> > we have some kind of a test-utils module (this has come up before) which
> > gets depended upon by the test phases of the other modules?
> >
> > Second, I'd like to be able to deploy modules (in particular addressing)
> > into the server without relying on a filesystem repository.  I *think*
> > there is a way to do this using the classpath, but I haven't yet gone
> > through and made it work so we can pick up the built "addressing.mar"
> > from the maven repository.  Anyone got this working?
> >
> > Once we resolve the first issue, I'll check this in so others can take a
> > look and work on it.  Then we can start to migrate some of our
> > HTTP-based tests over.
> >
> > Thanks,
> > --Glen
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> David Illsley - IBM Web Services Development
>


-- 
David Illsley - IBM Web Services Development

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] Performance (was: Using Local transport for test cases)

Posted by Glen Daniels <gl...@thoughtcraft.com>.
Hi David:

David Illsley wrote:
> Having said that, I'll warn that my guess is that the majority of time
> is still spent doing codegen in the *-codegen and integration modules.

A couple of things come to mind here.

1) Do we seriously need to be building the 2+Meg eBay WSDL like *four* 
times?  As we move over to m2, we won't build the "enterprise" stuff 
unless the profile is used, which will help.  But even when doing the 
enterprise tests, why are we doing multiple builds over the file?  It's 
good to test large files, so let's build it once, but can't we come up 
with leaner, more focused test cases?

2) Has anyone done a perf test of the codegen path to see if there's any 
low-hanging fruit we might grab in order to speed things up a little?

Thanks,
--Glen

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] Using Local transport for test cases

Posted by David Illsley <da...@gmail.com>.
I quite like the idea of doing some of the tests using the local
transport, not least because it should reduce the problems we have
with continuum and bound ports. I'd vote for a separate module to put
bits like that in. That would also let the test phase of related
projects use it easily without cluttering kernel.

Having said that, I'll warn that my guess is that the majority of time
is still spent doing codegen in the *-codegen and integration modules.
David

On 11/05/07, Glen Daniels <gl...@thoughtcraft.com> wrote:
> Hi Chinthaka!
>
> Eran Chinthaka wrote:
> > IIRC, Glen once suggested, during a hackathon, to use local transport
> > for some of the tests so that we can cut down http transport costs. Any
> > volunteer to have a look on this? I might be able to help a bit with my
> > limited time here.
>
> Funny you should mention this. :)  I have a "LocalTestCase" utility
> class on my machine, which sets up a no-filesystem AxisConfiguration and
> then makes it very easy to deploy services and obtain initialized
> clients.  Then you extend that with test cases - I've got a working one
> for SOAP sessions, for instance.
>
> I've got a couple of issues with it at the moment:
>
> First, where to put it?  I'd like it to be usable for unit testing, so I
> don't quite want to put it in the integration module - I was thinking
> kernel, but then we also want it to be usable by other modules.  Should
> we have some kind of a test-utils module (this has come up before) which
> gets depended upon by the test phases of the other modules?
>
> Second, I'd like to be able to deploy modules (in particular addressing)
> into the server without relying on a filesystem repository.  I *think*
> there is a way to do this using the classpath, but I haven't yet gone
> through and made it work so we can pick up the built "addressing.mar"
> from the maven repository.  Anyone got this working?
>
> Once we resolve the first issue, I'll check this in so others can take a
> look and work on it.  Then we can start to migrate some of our
> HTTP-based tests over.
>
> Thanks,
> --Glen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


-- 
David Illsley - IBM Web Services Development

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [Axis2] Using Local transport for test cases

Posted by Glen Daniels <gl...@thoughtcraft.com>.
Hi Chinthaka!

Eran Chinthaka wrote:
> IIRC, Glen once suggested, during a hackathon, to use local transport
> for some of the tests so that we can cut down http transport costs. Any
> volunteer to have a look on this? I might be able to help a bit with my
> limited time here.

Funny you should mention this. :)  I have a "LocalTestCase" utility 
class on my machine, which sets up a no-filesystem AxisConfiguration and 
then makes it very easy to deploy services and obtain initialized 
clients.  Then you extend that with test cases - I've got a working one 
for SOAP sessions, for instance.

I've got a couple of issues with it at the moment:

First, where to put it?  I'd like it to be usable for unit testing, so I 
don't quite want to put it in the integration module - I was thinking 
kernel, but then we also want it to be usable by other modules.  Should 
we have some kind of a test-utils module (this has come up before) which 
gets depended upon by the test phases of the other modules?

Second, I'd like to be able to deploy modules (in particular addressing) 
into the server without relying on a filesystem repository.  I *think* 
there is a way to do this using the classpath, but I haven't yet gone 
through and made it work so we can pick up the built "addressing.mar" 
from the maven repository.  Anyone got this working?

Once we resolve the first issue, I'll check this in so others can take a 
look and work on it.  Then we can start to migrate some of our 
HTTP-based tests over.

Thanks,
--Glen

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org