On 5/05/10 10:46 PM, Steve Appling wrote:
I noticed the recent change to stop integration tests from running in parallel 
on Windows.  Is it really safe to run the integration tests in parallel on any 
OS?

Safe enough. With parallel execution the dev build goes from ~16 minutes to ~10 minutes on my machine. Plus there's some more tweaking to do which should make this faster again. I can't go back to sequential execution now.

The integration tests execute with their own user home directory and working directory, so at worst we'll only corrupt the integration test dirs.

   I have inadvertently run multiple gradle instances before and have on 
several occasions corrupted some of the gradle caches.  After this, not even 
'gradle -t' would work until I did '-C rebuild'.  It looked like forking 
multiple gradle instances simultaneously on the same working directory would 
always be a bad idea.  Is this not true?

Unfortunately, I think it is true at the moment. This is something we should fix, and running the integration tests in parallel is a simple (if rather unpredictable) way to hunt down and fix the problems.

What I was planning to do is:

1. Start by giving each worker process it's own user home and working directories. Then, we can switch on parallel tests on windows. There are too many failures due to file locking for any kind of sharing on windows. Of course, doing this hides whatever concurrency problems we have.

2. Share the user home dir across all worker processes, fixing whatever problems arise. We might provide some way to declare that a problematic test needs its own user home dir, until we get around to fixing the problem.

3. Same for the working dirs, where it makes sense.

Alternatively, for 2 or 3, we might keep the per-processes directories and instead add integration tests which explicitly test that multiple Gradle instances can share the same user and working dirs.


--
Adam Murdoch
Gradle Developer
http://www.gradle.org


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to