Hi Hal,<div><br></div><div>That's right. Specifically, we have permission to upstream patches that modify or add files under the LLVM license. Because some of the directories have blanket licenses, it is unclear whether we can add additional build descriptions and license those descriptions under the LLVM license. </div><div><br></div><div>I believe the only way we can do this currently is have our legal department take a look, which would likely mean them examining every license in the test-suite for virality clauses. IANAL, and everyone I've asked has agreed that this case is sufficiently not clear cut that we would have to involve legal, which may take some time. </div><div><br></div>It can be done though, it just requires effort and time so I am trying to sound out the community to see if it would be effort well spent. The feedback so far suggests so!<div><br></div><div>I usually try very hard to conceal our internal procedures as the community rightly doesn't care, but in this case I've failed. Sorry! :(</div><div><br></div><div>Cheers,</div><div><br></div><div>James<span></span><br><div><br>On Sunday, 26 October 2014, Hal Finkel <<a href="mailto:hfinkel@anl.gov">hfinkel@anl.gov</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">----- Original Message -----<br>
> From: "James Molloy" <<a href="javascript:;" onclick="_e(event, 'cvml', 'james@jamesmolloy.co.uk')">james@jamesmolloy.co.uk</a>><br>
> To: "LLVM Commits" <<a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-commits@cs.uiuc.edu')">llvm-commits@cs.uiuc.edu</a>><br>
> Sent: Friday, October 24, 2014 9:20:50 AM<br>
> Subject: LIT-ify the test-suite<br>
><br>
> Hi all,<br>
><br>
><br>
> We've been trying to improve the LNT test driver to be a bit more<br>
> clever with reruns, and have run into the problem that it is very<br>
> tightly coupled to the Makefile system in the test-suite.<br>
><br>
><br>
> The Makefile system was obviously designed some time ago before Clang<br>
> was production ready, and it has a bunch of features to support<br>
> running through LLC and suchlike that add serious complexity. It's<br>
> nontrivial to just run a test and get a result!<br>
><br>
><br>
> So I got to thinking, why don't we just use LIT, the really well<br>
> written test driver that our regression tests use? That would allow<br>
> us to simplify the interface, reduce the number of test drivers to<br>
> 1, have pretty progress bars, export the results in JSON, shuffle<br>
> the test order...<br>
><br>
><br>
> So I attach an alpha version of a lit.cfg for the test-suite. Some<br>
> caveats with this that make it not quite production-ready:<br>
> * It doesn't use perf for timing yet, it just uses python's time()<br>
> interface.<br>
> * It doesn't yet report compile time, but that's actually a one line<br>
> change.<br>
> * The biggest problem: A bunch of the test suites require<br>
> lit.local.cfg files in them to tell lit how to build and run them.<br>
> However, many of the test suite directories are under blanket<br>
> non-LLVM licenses which makes for problems with our legal<br>
> permissions.<br>
<br>
I don't understand this last point; are you concerned that the licenses preclude adding an alternative build description? cc'ing Danny.<br>
<br>
 -Hal<br>
<br>
><br>
><br>
> So attached are two patches: 0001 adds the lit.cfg - just apply it to<br>
> the test-suite directory, and 0002 adds a selection of<br>
> lit.local.cfgs - for all the subfolders that aren't covered by<br>
> blanket licenses.<br>
><br>
><br>
> Because it excludes some lit.local.cfgs, some tests won't run.<br>
> However, all the unit tests do, so that's an easy proof of concept:<br>
><br>
><br>
> $ cd test-suite<br>
> $ CC=clang llvm-lit -sv ./MultiSource/UnitTests<br>
><br>
><br>
> Please give it a try and let us know your thoughts, so I know how<br>
> hard I should push this.<br>
><br>
><br>
> Cheers,<br>
><br>
><br>
> James<br>
> _______________________________________________<br>
> llvm-commits mailing list<br>
> <a href="javascript:;" onclick="_e(event, 'cvml', 'llvm-commits@cs.uiuc.edu')">llvm-commits@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
><br>
<br>
--<br>
Hal Finkel<br>
Assistant Computational Scientist<br>
Leadership Computing Facility<br>
Argonne National Laboratory<br>
</blockquote></div></div>