Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 90969 invoked from network); 1 Sep 2006 08:45:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 1 Sep 2006 08:45:34 -0000 Received: (qmail 65006 invoked by uid 500); 1 Sep 2006 08:45:33 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 64978 invoked by uid 500); 1 Sep 2006 08:45:32 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 64969 invoked by uid 99); 1 Sep 2006 08:45:32 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Sep 2006 01:45:32 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests=UNPARSEABLE_RELAY X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [192.18.1.36] (HELO gmpea-pix-1.sun.com) (192.18.1.36) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Sep 2006 01:45:31 -0700 Received: from d1-emea-09.sun.com ([192.18.2.119]) by gmpea-pix-1.sun.com (8.13.6+Sun/8.12.9) with ESMTP id k818jAac009631 for ; Fri, 1 Sep 2006 09:45:10 +0100 (BST) Received: from conversion-daemon.d1-emea-09.sun.com by d1-emea-09.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) id <0J4W00F01O61SJ00@d1-emea-09.sun.com> (original mail from Vemund.Ostgaard@Sun.COM) for derby-dev@db.apache.org; Fri, 01 Sep 2006 09:45:10 +0100 (BST) Received: from [129.159.112.244] by d1-emea-09.sun.com (Sun Java System Messaging Server 6.2-4.02 (built Sep 9 2005)) with ESMTPSA id <0J4W00EIXOB7ZG5G@d1-emea-09.sun.com> for derby-dev@db.apache.org; Fri, 01 Sep 2006 09:45:08 +0100 (BST) Date: Fri, 01 Sep 2006 10:45:07 +0200 From: Vemund Ostgaard Subject: Re: [junit] Top-level suites added In-reply-to: <44F5D6EA.60607@apache.org> Sender: Vemund.Ostgaard@Sun.COM To: derby-dev@db.apache.org Message-id: <44F7F313.4070508@sun.com> MIME-version: 1.0 Content-type: text/plain; format=flowed; charset=us-ascii Content-transfer-encoding: 7BIT X-Accept-Language: en-us, en References: <44EF8416.5040503@apache.org> <44F58A22.7030702@sun.com> <44F5D6EA.60607@apache.org> User-Agent: Mozilla/5.0 (X11; U; SunOS i86pc; en-US; rv:1.7.12) Gecko/20050927 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Daniel John Debrunner wrote: >The current approach has very little magic, one decorator for client and >probably one decorator for DB2 client. I strongly agree that tests >should not be overly influenced by the suite setup. > > I think this is a sound principle to keep in mind as work progresses on this new testsuite. It might not be possible to avoid suite influence totally, but hopefully it is kept at a level where it is not regarded as a problem with the testsuite. >This is an interesting idea, some thoughts jump out at me: > > - A single test would potentially run in many configurations: > embedded, client, db2 client, encryption DES, encryption AES, ... > > If the number of configurations grows large, it might pay off to carefully review wether something should be a configuration of its own or rather be tested through a set of more specialized tests. When the master files are gone and we have a new assertion-based testsuite, the tests should only fail on things they are specifically looking for, possibly making them less suited for testing of a large number of configurations? I guess it will be a tradeoff, having many configurations or more tests. > - The large number of decorators required per test could factor into >large memory use for an entire suite, not sure of the overhead of each >TestSetup. > > - Embedded tests would be running with the network server booted by >default, not sure of the impact of this, starting the network server for >each individual TestCase would slow an entire suite down too much > > Are you thinking of the impact of the network server running in the same vm as junit? > - It does make running a single TestCase in all configurations easy > > - The potential requirement to modify all tests when a new >configuration is added into the run, e.g. if I add a configuration that >only works in 10% of the tests (that's my itch) then I have to modify >the other 90% of tests to disable it from running. Assuming the default >as you say is to run each test in all possible configurations, I assume >this would be enforced in the base test class. Maybe that's the case >today with the current approach where a test is ideally self describing. > > I guess that the default set of configurations that a TestCase supports could be something smaller than the set of all possible configurations. The default runtime configuration would be to run all tests in all possible configurations, but a TestCase with default settings would override this with its smaller (default) set. You would then have to fix your 10% tests by adding the new configuration to their supported set, instead of removing it from the other 90%. Still, that is work, but I would hope we don't end up with a jungle of configurations that anyhow would be a pain to maintain. I do believe, though, that it makes sense that a TestCase itself maintains the information about what configurations/frameworks it supports or requires, and not suite classes located somewhere else. > - Maybe there are some configurations that are best handled at the leaf >level, e.g. embedded and client, but others are best handled at a suite >level, e.g. db2 client, encryption. So a mix of the two approaches would >be good. > > Yes, that may very well be. As I've mentioned above I also think it should be considered if all configurations are really needed or wether it can be tested as well or better with new tests instead. >I'm going to continue my current setup approach because it's not opposed >to what you approach, the majority of the work will be getting tests >converted to JUnit and running in client & db2 client mode. Ie. most of >the work overlaps anyway. > > Yes, that is true. The work you are doing now is making it a lot easier to imagine how things may fit together with a testsuite written and run only with junit, and to have opinions on that. Vemund