<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 3, 2012 at 10:56 AM, David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Mon, Dec 3, 2012 at 10:47 AM, Daniel Dunbar <<a href="mailto:daniel@zuster.org">daniel@zuster.org</a>> wrote:<br>
> On Sat, Dec 1, 2012 at 1:06 AM, Chandler Carruth <<a href="mailto:chandlerc@google.com">chandlerc@google.com</a>><br>
> wrote:<br>
>><br>
>> On Fri, Nov 30, 2012 at 8:04 PM, Chris Lattner <<a href="mailto:clattner@apple.com">clattner@apple.com</a>> wrote:<br>
>>><br>
>>> I'm ok with this in principle, but how about with the nuance that some<br>
>>> tests (eg test/codegen) explicitly opt into march=native?<br>
>><br>
>><br>
>> I'd really like the default behavior to be something that forces the test<br>
>> to either be independent of the targeted triple, or explicitly set a target.<br>
>> I like the default being unknown.<br>
>><br>
>> I wonder, would the ability to run the entire test suite with all of the<br>
>> 'default' triples (that lit sets to unknown in normal runs) instead set to<br>
>> the host, or to a specific triple maybe be a useful extra form of checking?<br>
>> This would let both humans and build bots find bugs and discrepancies<br>
>> specific to a particular target.<br>
><br>
><br>
> I'd prefer not to do this universally (i.e., run the whole test suite that<br>
> way),<br>
<br>
</div>I'm not entirely sure which distinction you're drawing here when you<br>
say "universally". I assume we're specifically talking about only<br>
those tests in the lit-based regression suite that don't already have<br>
an explicit triple. Only these tests would get the default ("unknown")<br>
triple and be affected by some lit-parameter to override the default<br>
with any other triple or possibly a list of triples.<br>
<br>
Icing would be to have that list be autodetected from the supported<br>
targets in the current build.<br></blockquote><div><br></div><div>What I want is for this to not be "implicit" behavior. Many tests have no value being run with multiple triples.</div><div><br></div><div>What I want is for the author of the test to explicitly declare what they are trying to do. If a test is useful on multiple triples, then they should write something that says so, and the test suite will take the extra time to do it.</div>
<div><br></div><div>My opinion on tests is that they are significantly better when they are written with an explicit idea of what coverage they are trying to get (and hopefully a comment explaining that too).</div><div><br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This would not be the default (the default would just be to run them<br>
once, with the "unknown" triple) but would be an easily accessible<br>
target for developers and would be the target that any respectable<br>
buildbot would use. (without enforcement by bots the feature would be<br>
useless to users since the results would not be clean).<br>
<div class="im"><br>
> but what I do think would be useful is to add enough test suite<br>
> support to be able to easily run the same test on multiple triples (or even<br>
> all configured ones).<br>
><br>
> My primary goal is to have the tests that individual developers be<br>
> equivalent (independent of the target they are running on).<br>
<br>
</div>Did you a word? ("have the tests that individual developers <write?<br>
run?> be equivalent")<br></blockquote><div><br></div><div>Hah. Yes, "tests that individual developers write".</div><div><br></div><div> - Daniel</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<span class="HOEnZb"><font color="#888888"><br>
- David<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
><br>
> - Daniel<br>
><br>
>> We could even have a common test target that build bots use which runs all<br>
>> the tests both in the default, and in the host-triple mode so that we force<br>
>> people to converge on target independent tests or explicit triples.<br>
>><br>
>>><br>
>>><br>
>>> -Chris<br>
>>><br>
>>> On Nov 30, 2012, at 12:16 PM, Daniel Dunbar <<a href="mailto:daniel@zuster.org">daniel@zuster.org</a>> wrote:<br>
>>><br>
>>> > Hi all,<br>
>>> ><br>
>>> > We consistently see test failures arising because by default many of<br>
>>> > our tests run in a mode where the tool (clang or llc) pick host-dependent<br>
>>> > behavior. This makes it easy for developers to write tests that pass on<br>
>>> > their system, but fail for other developers.<br>
>>> ><br>
>>> > There is some utility in this behavior, as it gives us (unintended)<br>
>>> > testing coverage of some things, but overall I think it is a net loss for<br>
>>> > productivity.<br>
>>> ><br>
>>> > I propose:<br>
>>> ><br>
>>> > a. We change the test suite to run in such a way that all tools default<br>
>>> > to an "unknown" host triple.<br>
>>> ><br>
>>> > b. If someone feels there is missing coverage in some area, we add<br>
>>> > increased tests for that area (which get run on all platforms).<br>
>>> ><br>
>>> > c. If there is some reason that running with an "unknown" host triple<br>
>>> > is undesirable, I propose that we set the default test triple to be<br>
>>> > "x86_64-pc-linux-gnu", and require deviations to be specified.<br>
>>> ><br>
>>> > Comments?<br>
>>> ><br>
>>> > - Daniel<br>
>>> ><br>
>>> > _______________________________________________<br>
>>> > LLVM Developers mailing list<br>
>>> > <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
>>> > <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
>>> _______________________________________________<br>
>>> cfe-dev mailing list<br>
>>> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
>>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
>><br>
>><br>
><br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>
> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
><br>
</div></div></blockquote></div><br></div>