Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 80578 invoked from network); 6 Jul 2006 01:59:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Jul 2006 01:59:50 -0000 Received: (qmail 32833 invoked by uid 500); 6 Jul 2006 01:59:46 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 32794 invoked by uid 500); 6 Jul 2006 01:59:46 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 32783 invoked by uid 99); 6 Jul 2006 01:59:46 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2006 18:59:46 -0700 X-ASF-Spam-Status: No, hits=1.9 required=10.0 tests=DNS_FROM_RFC_ABUSE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: 202.81.18.155 is neither permitted nor denied by domain of richard.liangyx@gmail.com) Received: from [202.81.18.155] (HELO ausmtp06.au.ibm.com) (202.81.18.155) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 05 Jul 2006 18:59:45 -0700 Received: from sd0208e0.au.ibm.com (d23rh904.au.ibm.com [202.81.18.202]) by ausmtp06.au.ibm.com (8.13.6/8.13.6) with ESMTP id k6621Bde6262836 for ; Thu, 6 Jul 2006 12:01:11 +1000 Received: from d23av02.au.ibm.com (d23av02.au.ibm.com [9.190.250.243]) by sd0208e0.au.ibm.com (8.12.10/NCO/VER6.8) with ESMTP id k6622bNO230096 for ; Thu, 6 Jul 2006 12:02:42 +1000 Received: from d23av02.au.ibm.com (loopback [127.0.0.1]) by d23av02.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id k661w2Nt022545 for ; Thu, 6 Jul 2006 11:58:02 +1000 Received: from d23m0011.cn.ibm.com ([9.181.32.74]) by d23av02.au.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id k661vm2d021147 for ; Thu, 6 Jul 2006 11:58:02 +1000 Received: from [127.0.0.1] ([9.181.106.154]) by d23m0011.cn.ibm.com (Lotus Domino Release 6.5.5HF262) with ESMTP id 2006070609571013-1165 ; Thu, 6 Jul 2006 09:57:10 +0800 Message-ID: <44AC6DF5.30100@gmail.com> Date: Thu, 06 Jul 2006 09:57:09 +0800 From: Richard Liang User-Agent: Thunderbird 1.5.0.4 (Windows/20060516) MIME-Version: 1.0 To: harmony-dev@incubator.apache.org Subject: Re: [classlib] Testing conventions - a proposal References: <44ABB451.30806@googlemail.com> In-Reply-To: <44ABB451.30806@googlemail.com> X-MIMETrack: Itemize by SMTP Server on D23M0011/23/M/IBM(Release 6.5.5HF262 | April 5, 2006) at 06/07/2006 09:57:10, Serialize by Router on D23M0011/23/M/IBM(Release 6.5.5HF262 | April 5, 2006) at 06/07/2006 09:59:13, Serialize complete at 06/07/2006 09:59:13 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=ISO-8859-1; format=flowed X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N George Harley wrote: > Hi, > > Just seen Tim's note on test support classes and it really caught my > attention as I have been mulling over this issue for a little while > now. I think that it is a good time for us to return to the topic of > class library test layouts. > > The current proposal [1] sets out to segment our different types of > test by placing them in different file locations. After looking at the > recent changes to the LUNI module tests (where the layout guidelines > were applied) I have a real concern that there are serious problems > with this approach. We have started down a track of just continually > growing the number of test source folders as new categories of test > are identified and IMHO that is going to bring complexity and > maintenance issues with these tests. Yes, you'll see our ant scripts get more and more complex. :-) > > Consider the dimensions of tests that we have ... > > API > Harmony-specific > Platform-specific > Run on classpath > Run on bootclasspath > Behaves different between Harmony and RI > Stress > ...and so on... > > > If you weigh up all of the different possible permutations and then > consider that the above list is highly likely to be extended as things > progress it is obvious that we are eventually heading for large > amounts of related test code scattered or possibly duplicated across > numerous "hard wired" source directories. How maintainable is that > going to be ? > > If we want to run different tests in different configurations then > IMHO we need to be thinking a whole lot smarter. We need to be > thinking about keeping tests for specific areas of functionality > together (thus easing maintenance); we need something quick and simple > to re-configure if necessary (pushing whole directories of files > around the place does not seem a particularly lightweight approach); > and something that is not going to potentially mess up contributed > patches when the file they patch is found to have been recently pushed > from source folder A to B. > > To connect into another recent thread, there have been some posts > lately about handling some test methods that fail on Harmony and have > meant that entire test case classes have been excluded from our test > runs. I have also been noticing some API test methods that pass fine > on Harmony but fail when run against the RI. Are the different > behaviours down to errors in the Harmony implementation ? An error in > the RI implementation ? A bug in the RI Javadoc ? Only after some > investigation has been carried out do we know for sure. That takes > time. What do we do with the test methods in the meantime ? Do we push > them round the file system into yet another new source folder ? IMHO > we need a testing strategy that enables such "problem" methods to be > tracked easily without disruption to the rest of the other tests. It's really worth thinking about our testing strategy... > > A couple of weeks ago I mentioned that the TestNG framework [2] seemed > like a reasonably good way of allowing us to both group together > different kinds of tests and permit the exclusion of individual > tests/groups of tests [3]. I would like to strongly propose that we > consider using TestNG as a means of providing the different test > configurations required by Harmony. Using a combination of annotations > and XML to capture the kinds of sophisticated test configurations that > people need, and that allows us to specify down to the individual > method, has got to be more scalable and flexible than where we are > headed now. > Will try to study TestNG before I can give comment ;-) > Thanks for reading this far. > > Best regards, > George > > > [1] > http://incubator.apache.org/harmony/subcomponents/classlibrary/testing.html > > [2] http://testng.org > [3] > http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200606.mbox/%3c44A163B3.6080005@googlemail.com%3e > > > > --------------------------------------------------------------------- > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org > For additional commands, e-mail: harmony-dev-help@incubator.apache.org > > -- Richard Liang China Software Development Lab, IBM --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org For additional commands, e-mail: harmony-dev-help@incubator.apache.org