[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