geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Donald Woods <dwo...@apache.org>
Subject Re: Running integration tests by default?
Date Sat, 05 Jan 2008 19:34:16 GMT
Taking another hour to run the IT tests on Tomcat and Jetty (on top of 
the 30 mins. to run a full build) is just too much wasted time in my 
busy schedule... :-)  Besides, we have Prasad's scheduled builds running 
with IT on several times a day, which is close enough to continuous 
builds to catch build breaks.

I'd rather see more automated builds with every build running the IT 
instead of forcing it as the default on all our developers.  If someone 
is working on an isolated piece of code (like Console portlets or 
non-core plugin like remote mgmt or clustering) then I don't see how 
always running IT would outweigh the decreased productivity of increased 
build times...

Also, there have been 4 console tests broken for well over a week now, 
with no apparent rush to fix them, so everyone is now used to ignoring 
the Build Failure notices....



-Donald

David Jencks wrote:
> 
> On Jan 4, 2008, at 1:07 PM, Donald Woods wrote:
> 
>> How about not running the integration tests by default and letting 
>> those who want them either 1) use a "-P testsuite" option from trunk 
>> or 2) run mvn inside the testsuite subdir?
> (2) is what we had before my change and didn't work for me -- I never 
> ran the testsuite.
> 
> My thinking on my change is:
> 
> 1. Its better to run more tests.  For instance if you see a IT failure 
> on your machine I think you are much more likely to fix it than if you 
> have to wait for the notification from Prasad's automation.  I think 
> this is why we have unit tests as well :-)
> 2. People are lazy and don't like to type, so the default option should 
> include the maximum level of testing.
> 3. In the case of the testsuite, these are run after the rest of the 
> build is complete, so you are free to interrupt the build if you get too 
> bored/impatient.
> 
> Could you explain why you disagree with this or what factors you 
> consider more important?
> 
> thanks
> david jencks
> 
>>
>> -Donald
>>
>>
>> David Jencks wrote:
>>> On Jan 2, 2008, at 7:58 AM, Prasad Kashyap wrote:
>>>> On Dec 31, 2007 4:41 PM, David Jencks <david_jencks@yahoo.com> wrote:
>>>>> First of all I appear to have broken the build last night with some
>>>>> changes to get the roller plugin building again.  I think I've
>>>>> managed to fix all the problems -- the it tests all pass for me.  Let
>>>>> me know if there are still problems.
>>>>>
>>>>> I think its still too hard to run the integration tests.
>>>>
>>>> I would like to know what exactly you think is hard about it. It would
>>>> be great if you could please share your thoughts and ideas on making
>>>> it simpler.
>>> I didn't see a way to run the integration tests with the main build 
>>> without a separate command.  Unless I can run everything in one 
>>> command, I'm pretty sure laziness will take over and I won't run the 
>>> integration tests.
>>>>
>>>>> I've made a
>>>>> possibly annoying change so that the default build includes IT.  If
>>>>> you don't want them run
>>>>>
>>>>> mvn clean install -P no-it
>>>>>
>>>>> If this is too annoying we could reverse the profiles and have the
>>>>> default leave out the it as before and a with-it profile that
>>>>> includes them.
>>>>
>>>> Yeah. I think the default profile should not run the IT. IMHO, I think
>>>> it should not even run the unit tests by default. Developers (should)
>>>> run unit & IT tests before committing their code. And we have
>>>> automation builds with all tests that run 4 times a day anyways. So
>>>> the default profile can well do away with tests. But that may just be
>>>> my opinion.
>>> After working through some hard problem and getting ready to commit 
>>> the last thing anyone wants to do is remember a second command or 
>>> even a command line option to run some tests: they are apt to type 
>>> the simplest command that will check the build.  I think that command 
>>> should run all the tests, including the integration tests.  Even 
>>> though there's enough time to go eat dinner while they run, our most 
>>> comprehensive checks will be run.  If you get too bored you can 
>>> always stop the build after you think enough stuff has been checked, 
>>> and if you remember you can run the build with options to turn off 
>>> whatever tests you want to skip.
>>> ApacheDS had their integration tests run using an option and most 
>>> people did not run them due to the extra effort of trying to remember 
>>> to type more on the command line.  I think they've changed so the 
>>> integration tests are run by default.
>>> I'm happy to keep talking about this.... and I'll be happy enough 
>>> with a "with-it" option, but I think running everything by default is 
>>> the best strategy.
>>>>
>>>>>
>>>>> Comments?
>>>>>
>>>>> This might have bad effects on Prasad's automation but I'm not sure
>>>>> how that is run.
>>>>
>>>> For now, the automation builds have been modified to use the no-it 
>>>> profile.
>>>>
>>> thanks!
>>> david jencks
>>>>>
>>>>> thanks && Happy New Year!
>>>>> david jencks
>>>>
>>>> Happy New Year to ya'll !
>>>> Prasad
> 
> 

Mime
View raw message