[cfe-dev] Parallelizing clang tests

Gabor Greif gabor at mac.com
Sat Mar 15 01:02:36 PDT 2008


Just for the record, I have checked this in as test/Makefile.parallel,
you need this patch to clang/Makefile to activate it:

Index: Makefile
===================================================================
--- Makefile    (Revision 48341)
+++ Makefile    (Arbeitskopie)
@@ -4,7 +4,7 @@
  include $(LEVEL)/Makefile.common

  test::
-       cd test; $(MAKE)
+       cd test; $(MAKE) -f Makefile.parallel

  clean::
         @rm -rf build



Cheers,

	Gabor


Am 14.03.2008 um 18:03 schrieb Chris Lattner:

>
> On Mar 1, 2008, at 10:54 AM, Gabor Greif wrote:
>
>> I have access to a quad Mac Pro now and have started building clang
>> in the llvm tree.
>>
>> I know that clang's test system is independent of dejagnu (which is a
>> good thing).
>> While TestRunner.sh is pretty basic it does a good job.
>>
>> But I expect that the clang tests will multiply soon. So I thought of
>> using extra cores to speed up tests.
>>
>> The idea is this:
>
> This is really cool Gabor.  I'd really like to see this.   One  
> additional request: in terms of output, it is nice to be able to  
> get output as tests are run.  This lets you know if the test  
> harness has hung and lets you see what progress it is making.   
> However, most tests are successful, so seriously verbose output is  
> bad (and potentially confusing when -j is used).
>
> How about this approach:
>
> 1. by default, a successful test, immediately after it is run,  
> prints out a single "." with no newline.
> 2. by default, a failing test prints out "\n---- foo.c failed --- 
> \n" or whatever.
> 3. When VERBOSE=1 is passed to make, it could print all the tests  
> it is running like it does today: print the test name before it is  
> executed, which is useful if the test hangs.
>
> This means that we'll get a nice "progress bar" out of dots in the  
> common case when everything is passing, but that the order of the  
> dots won't matter, and if individual dots get intermixed because of  
> -j, it won't matter.
>
> What do you think?
>
> -Chris




More information about the cfe-dev mailing list