[LLVMdev] [Patch] Adding unit tests to LLVM

Talin viridia at gmail.com
Mon Dec 29 15:25:03 PST 2008


At the moment, I'm setting up the tests for each major LLVM package as a
separate directory under "unittests" using PARALLEL_DIRS.
Now, if I could just figure out how to get it to not put the executable
somewhere other than $(BuildMode)/bin... :(

On Mon, Dec 29, 2008 at 3:10 PM, Keir Mierle <mierle at gmail.com> wrote:

> On Mon, Dec 29, 2008 at 1:57 PM, Misha Brukman <brukman at gmail.com> wrote:
>
>> 2008/12/29 Talin <viridia at gmail.com>
>>
>>> Do the existing tests use a wildcard rule to gather all test sources? We
>>> would need to insure that the wildcard rule for the unit tests and the large
>>> tests are mutually exclusive.
>>>
>>
>> By "large tests", I assume you mean the .ll tests?  Those are
>> one-file-per-test.  Also, if you use Chris' suggestion on directories, it
>> will separate the unit tests from the large tests.
>>
>>
>>> Also, will the unit tests be one executable or many? They will probably
>>> compile/run faster if there is a smaller number of executables.
>>>
>>
>> Yes, I agree, they'll link faster if we have fewer tests.  I would not
>> want a single massive test for all of LLVM -- how about 1 test binary per
>> major directory in llvm/lib, unless it's really necessary to split them up,
>> e.g. target-dependent unittests, but each .cpp file would ideally have its
>> own _test.cpp file, so it's easier to keep the tests for different modules
>> separate.
>>
>
> One nice feature of gtest is automatic test collection. If the llvm tests
> all use the same main(), and the main() is not repeated in the individual
> unittest files, then it is trivial to have a) one massive binary that
> contains all the tests (fast to build & run all unittests pre-checkin) and
> separate binaries per .cpp (i.e. foo.cc, foo_test.cc, and foo_test binary)
> for fast iterating which would only be built and run when explicitly called
> from the makefile (i.e. they would not be run by the build-all-unittest make
> target).
>
> On the other hand, if separate binaries are built, then a make unittest
> target could parallelize trivially by adding -jX. I belive fork-level
> parallelism within a single test binary is in coming to gtest, but is not
> available yet.
>
> Keir
>
> .
>
>>
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>


-- 
-- Talin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081229/11a53a42/attachment.html>


More information about the llvm-dev mailing list