Allow running conformance tests in parallel

Dan Kegel dank at
Sun Jul 13 10:06:08 CDT 2008

[To the right list this time.]

The attached patch lets you run Wine's conformance tests in parallel.

On my relatively fast dual core machine (e7200):
"make -k     test" takes 3 minutes 55 seconds
"make -k -j2 test" takes 2 minutes 15 seconds
"make -k -j4 test" takes 1 minute 45 seconds
"make -k -j10 test" takes 1 minute 27 seconds

About the same number of tests fail regardless of -j value.

How it works:
this patch adds a new function, winetest_exclusive(),
that waits until it can acquire an exclusive lock.
It should be called near the top of the START_TEST body
for any test that needs exclusive access to the
system.  (In tests that exec themselves, the call has to
be placed carefully to avoid having the child call it.)
I did this for all tests that call CreateWindow, and
a few more that seemed like they might need it.

The list of tests marked exclusive is somewhat rough;
probably a few tests should be added or removed,
but it's pretty good for a first cut.

I've been wanting to do this for ages.  Turned out to be easier than I'd feared.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parallel.patch
Type: text/x-diff
Size: 32972 bytes
Desc: not available
Url : 

More information about the wine-patches mailing list