Allow running conformance tests in parallel (take 2)

Dan Kegel dank at kegel.com
Mon Jul 21 10:32:07 CDT 2008


Running the conformance tests under valgrind takes
an awful long time.  Running them in parallel works
well, if done with care.

There are two problems with running conformance
tests in parallel (e.g. via "make -j2 test"):
- the log files from the parallel jobs get mushed together
- tests that care about the state of the system
(e.g. what's on the screen) can conflict with each other

This patch addresses the first problem, and provides
the new function winetest_exclusive() to help address
the second problem.
Only one test that has called winetest_exclusive() runs
at a time; the others wait for the first test to exit
(gracefully or otherwise).
Tests that need to use the screen or some other
non-sharable resource should call winetest_exclusive().
The call needs to be placed with care in the case of
tests that exec themselves, but can usually just be
placed at the beginning of the START_TEST() block.

If Alexandre likes this, I will follow up with a minimalist
patch to add the most needed calls to winetest_exclusive().

Changes since last post:
- Avoid mixing log files from different jobs together
- Leave out calls to winetest_exclusive() for now
  until Alexandre gives some feedback on the approach

See http://www.winehq.org/pipermail/wine-patches/2008-July/057807.html
for a sufficient but probably excessive example of how to use
winetest_exclusive().
-------------- next part --------------
A non-text attachment was scrubbed...
Name: parallel3.patch
Type: text/x-diff
Size: 2948 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080721/29991a9e/attachment.patch 


More information about the wine-patches mailing list