[LLVMdev] [Patch] Adding unit tests to LLVM

Bill Wendling isanbard at gmail.com
Fri Dec 26 01:16:45 PST 2008


Hi Talin,

I just got around to looking at this. Sorry for the delay.

I like the idea of unit tests *A LOT*. Adequate testing has been a  
major sticking point for LLVM for a long time. In my opinion, once the  
color of the bike shed is agreed upon ;-), this will be a welcome  
addition. I have never worked with Google's unit testing infrastucture  
so I don't know how it works or if its license is compatible with  
ours, etc.

I did a very quick look at your code and it seems fine for a first  
stab. Let's try to get everyone's input before you do a ton of work.  
But I for one think that it will be accepted when people are satisfied  
with the form it takes.

-bw

On Dec 25, 2008, at 11:32 PM, Talin <viridia at gmail.com> wrote:

> So, any response on whether this patch is likely to be accepted? I'm
> willing to substantially rework things if requested.
>
> I should note that part of my motivation for doing this is that I have
> been wanting to do some work on the various LLVM container classes;
> However, I strongly feel that without some kind of unit test framework
> in place such work would mostly be a waste of time.
>
> Talin wrote:
>> (Forwarding this to llvm-dev)
>>
>> This patch adds a unit test framework to LLVM, along with a sample  
>> unit test
>> for DenseMap. I don't expect this patch to be accepted as-is, this  
>> is mainly
>> a trial balloon and proof of concept.
>> Some notes about the patch:
>>
>> 1) For the testing framework, I went with Google Test, since it's  
>> the one I
>> have the most experience with. I fully expect an extended bikeshed
>> discussion to result from this.
>>
>> 2) Both the test framework and the tests are optional build  
>> targets, they
>> will not be built with the normal "make all". To build and run the  
>> unit
>> tests, use "make check-unit".
>>
>> 3) I did not actually include the testing framework in the patch;  
>> It will
>> need to be checked in separately. There are two approaches to this.  
>> One
>> approach is to use the svn:external feature to create a link to the
>> googletest svn repository from the LLVM svn repository. The other  
>> approach
>> is to take a snapshot of googletest and check it in to the LLVM  
>> repository.
>>
>> The GoogleTest tar archive is here:
>> http://code.google.com/p/googletest/downloads/list. I've located it  
>> within
>> the LLVM source tree in the location "third-party/googletest".
>>
>> 4) I've included makefiles for building the test framework and unit  
>> tests. I
>> had to do a bit of makefile hacking to get this to work,  
>> suggestions on how
>> to improve this are welcome.
>>
>>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev



More information about the llvm-dev mailing list