[PATCH] [Polly] Added arcanist (arc) unit test support

David Blaikie dblaikie at gmail.com
Fri Aug 15 19:03:59 PDT 2014


On Fri, Aug 15, 2014 at 5:17 PM, Johannes Doerfert
<doerfert at cs.uni-saarland.de> wrote:
> On 08/15, David Blaikie wrote:
>> On Fri, Aug 15, 2014 at 12:51 AM, Johannes Doerfert
>> <doerfert at cs.uni-saarland.de> wrote:
>> > Hi grosser, sebpop, simbuerg,
>> >
>> >   Thanks to Clemens (hammacher at cs.uni-saarland.de) extension of the
>> >   arcanist unit test engine, we can run the llvm-lit tests automatically.
>> >
>> >   Similar to the linters, aracanist will run all tests for each uploaded
>> >   commit and asks the commiter for a statements in case unit tests fail.
>> >
>> >   To use this feature the unit test engine needs to find the polly build
>> >   directory. Currently we support the following setups:
>> >
>> >     $POLLY_BUILD_DIR (environment variable)
>> >     <root>/build
>>
>> If by "<root>" you mean the source root - this ^ (having your build
>> directory as a subtree of your source directory) is generally a
>> discouraged build configuration, fwiw.
> <root> is determined by arcanist and for Polly/LLVM points to the source
> directory (not for the Sambamba project though).
>
> I actually soft-linked my build directory into my source so I can use
> the original version, however if you have good reasons not to we can
> add/change the supported setups easily  (I would like to know the
> reasons too).

Fair enough - yeah, I don't know the particular problems that arise
when putting the build directory inside the source tree - and I'm not
sure if they apply to the situation where it's a symlink.

>
>> >     <root>.build
>> >     <root>-build
>> >     <root:s/src/build>
>>
>> This'll be handy - it's almost what I have - though perhaps it could
>> be expressed more generally as "<root>/../build"? Though maybe that's
>> got too many false positives.
> It's hard to say what is a good set of supported setups, the ones
> presented here were just the ones we have at the Sambamba project.
>
>> (I have a whole number of different build configurations under
>> llvm/src/../build, but I could make one authoritative/default, which
>> could be handy (eg: I could move my current builds to
>> llvm/src/../builds and make llvm/src/../build ->
>> llvm/src/../builds/foo/bar/baz))
> I have two configurations (Release+Asserts and Debug+Asserts) under my
> build directory and none is on my PATH. With this LitTestEngine it will
> default to Debug+Asserts which is probably reasonable for unit tests.

Yep - that's my usual as well. (with a particular debug configuration
(-gsplit-dwarf, no type units or -fno-standalone-debug))

>> Though I don't work on Polly - mostly just thinking about what these
>> might look like if/when applied to LLVM more generally.
> This is a general commit, not a Polly specific one I guess.

Though it is checked into the Polly source tree for now, right?

> If the LLVM
> people are interested we could definitively come to a conclusion about
> the supported setups and put it in the LLVM repository too.

Yeah, could be worth a try - I imagine ../build makes a fair bit of
sense (& people can symlink to whatever configuration, etc) , but I
don't know what the stats are.

Actually even in this code review I see the results - I guess because
you had the changes in your client, arc read them, and submitted them.
It's pretty great to see!

>
> Btw., did you see:
>   http://reviews.llvm.org/D4916
> which is somewhat related.

I did, though LLVM isn't quite up to going clang-format clean, nor has
a linter, etc. clang-tidy /might/ be something we could do one day,
but again, requires a bit more momentum for the project to be clean of
any particular checker other than the compilation itself.

>
>> >     <cwd>
>> >
>> > http://reviews.llvm.org/D4920
>> >
>> > Files:
>> >   .arcconfig
>> >   utils/arcanist/LitTestEngine/__phutil_library_init__.php
>> >   utils/arcanist/LitTestEngine/__phutil_library_map__.php
>> >   utils/arcanist/LitTestEngine/src/LitTestEngine.php
>> >
>> > _______________________________________________
>> > llvm-commits mailing list
>> > llvm-commits at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>> >
>
> --
>
> Johannes Doerfert
> Researcher / PhD Student
>
> Compiler Design Lab (Prof. Hack)
> Saarland University, Computer Science
> Building E1.3, Room 4.26
>
> Tel. +49 (0)681 302-57521 : doerfert at cs.uni-saarland.de
> Fax. +49 (0)681 302-3065  : http://www.cdl.uni-saarland.de/people/doerfert



More information about the llvm-commits mailing list