From dev-return-15690-apmail-directory-dev-archive=directory.apache.org@directory.apache.org Sun Feb 04 22:06:32 2007 Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 85265 invoked from network); 4 Feb 2007 22:06:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 4 Feb 2007 22:06:31 -0000 Received: (qmail 34901 invoked by uid 500); 4 Feb 2007 22:06:37 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 34679 invoked by uid 500); 4 Feb 2007 22:06:37 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 34668 invoked by uid 99); 4 Feb 2007 22:06:37 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 04 Feb 2007 14:06:37 -0800 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: local policy) Received: from [68.142.206.234] (HELO smtp101.plus.mail.mud.yahoo.com) (68.142.206.234) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 04 Feb 2007 14:06:27 -0800 Received: (qmail 80086 invoked from network); 4 Feb 2007 22:06:05 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=Received:X-YMail-OSG:Mime-Version:In-Reply-To:References:Content-Type:Message-Id:Content-Transfer-Encoding:From:Subject:Date:To:X-Mailer; b=xcEDs3N+G2dHrxXQaVEJ7ne7F7JIzoJObZot+GzkbatKmUV/UOk9+nPxoCDXwUQpxpERqq8p+fRejr/6Tb/+C/QWIMolM7WNuLl2VF6uaMVprnRCuPGmlnKImi2MqsyqLtC24Zqq409sWB8BbdoXtjQ60OJ3m3aZsVoKd9OMr78= ; Received: from unknown (HELO ?10.11.55.8?) (david_jencks@63.105.20.225 with plain) by smtp101.plus.mail.mud.yahoo.com with SMTP; 4 Feb 2007 22:06:05 -0000 X-YMail-OSG: uQY_3dAVM1kbaCRdruSaViFF5AkcMaWIue5cPiSsh3pJnh4q.ChfkorgNfVYOG5rT6FSO0pShfDkm1smSaVS6xx1zRKtW6F6Nd0TQu4kXzNWmiE6sjHGbOGMgngM1lQ1PPg2QGhkwhYBPQapmsd0XwdaRdyF_1HoBRlwz90ee2.Mx95hbmCenHf.NH7N Mime-Version: 1.0 (Apple Message framework v752.3) In-Reply-To: <45C63DFE.2070102@apache.org> References: <45C63DFE.2070102@apache.org> Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <69712CF3-C419-4E15-BFF4-679C9DFF3374@yahoo.com> Content-Transfer-Encoding: 7bit From: David Jencks Subject: Re: [Testing] Coping with so many integration tests Date: Sun, 4 Feb 2007 14:05:55 -0800 To: "Apache Directory Developers List" X-Mailer: Apple Mail (2.752.3) X-Virus-Checked: Checked by ClamAV on apache.org 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. thanks 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 >