directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Jencks <>
Subject Re: [Testing] Coping with so many integration tests
Date Sun, 04 Feb 2007 22:05:55 GMT
Jason Dillon and others have done a lot of work setting up an  
integration test framework for geronimo.  I don't claim to understand  
all of it but the basic idea is that one maven project starts and  
stops the it server and the subprojects run tests in that server,  
typically deploying various apps, testing them, and undeploying  
them.  It's in the trunk testsuite directory.

If this is too much :-)  I think there are also some maven itest  
thingies and there's always the junit Suite class where you can have  
setUp and tearDown run only once for the tests in a single class.

Jason has also been working on a distributed test framework.  This  
turns out to be extraordinarily difficult: he's been working on it  
for a couple months and previously david blevins set up  a system  
with substantial effort that IIUC basically was abandoned.

I don't think ramdisk is a reasonable solution for general use.

david jencks

On Feb 4, 2007, at 12:11 PM, Alex Karasulu wrote:

> Hi,
> The number of integration tests are growing large (we have  
> hundreds) as we get more coverage for the server and the  
> functionality increases. These tests start and stop apacheds and  
> clean out working directories on each run so they can take a while  
> especially if a test case has lots of tests in it.
> I have two ideas on how to ameliorate these problems.  One is short  
> term and the other long term.
> First the short term solution.  I found that I can create large  
> 512K ram drives (do not try more than 512K it does not work) then  
> combine them together using RAID to make a large disk.  After  
> having done this test case classes that took 20 seconds started to  
> take 4 seconds instead. Not bad but still not ideal since we have  
> so many tests.  This however does not have that many drawbacks  
> besides still taking 9 minutes and 49 seconds to run all the  
> integration tests.
> Long term solution:  See if we can modify the surefire plugin for  
> distributed operation.  It would be easy to have a java daemon that  
> can run maven on various projects.  Commands can be sent to this to  
> setup and run individual test case classes.  The distributed  
> surefire plugin would simply queue operations and collect the  
> results from several machines.  This way you get serious  
> parallelism especially if you have many machines.  With four  
> machines the time could be cut down to 2 and a half minutes.
> Thoughts?
> Alex
> <akarasulu.vcf>

View raw message