<div dir="ltr">On Sun, Dec 8, 2013 at 6:04 AM, Alp Toker <span dir="ltr"><<a href="mailto:alp@nuanti.com" target="_blank">alp@nuanti.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
On 08/12/2013 13:12, Chandler Carruth wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
* Removing trailing \ will introduce the neat property that<div class="im"><br>
one RUN line corresponds precisely to one command that's<br>
executed. This is good for humans and will enable<br>
simplifications in the test runner.<br>
<br>
FWIW, I've never really had a problem that needed this. The RUN:<br>
forms a prefix of a shell script in my head, and I know how to<br>
read shell scripts including multiple lines.<br>
</div></blockquote><div class="im">
<br>
The transformations lit does are really too complex and there's at<br>
least one known bug to do with closed pipes that's contributing to<br>
no-op tests (think the discussion thread was on cfe-dev).<br>
<br>
In a nutshell, the script output lit forms right now is not likely<br>
not the pipeline you had in your head ;-)<br>
<br>
<br>
I understand that you think this is too complex, but I'm suggesting that this particular aspect of lit does not seem too complex to at least one other developer, and thus you shouldn't assume it to be true.<br>
</div></blockquote>
<br>
<br>
It's great if we've made it all look simple to you. Unfortunately for the developers there's an ongoing problem with algorithmic complexity in lit hiding problems that lead to broken tests.<br>
<br>
In particular, there are constructs that would error out in a shell but get silently accepted by the lit runner.<br></blockquote><div><br></div><div>Then we should just fix that bug. I would be very happy to see lit's shell support improved to more closely match the shell for validation.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
See Sean Silva's observation of one of these cases in the thread on no-op tests on cfe-dev:<br>
<br>
On 08/11/2013 06:48, Sean Silva wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Although it doesn't eliminate the hassle of having to manually fix this, it seems like at least one issue worth fixing in its own right is the fact that RUN lines ending with a | are silently accepted by our test infrastructure.<br>
</blockquote>
<br>
This proposal is about resolving a class of these problems, and I'd like to see if we can get it done early in the 3.5 cycle given there's a degree of churn.<br>
<br>
It's ultimately about weighing up the cost/benefit of wrapped RUN lines. The benefit you pointed out so far has been visual wrapping in the editor, but the cost of that is very high. Perhaps your editor has a virtual wrapping mode?<br>
<br>
With one-to-one mapping, it becomes possible to use simple tools like grep to validate common mistakes like %clang / %clang_cc1 mixups, a missing -o flag and so on.<br>
<br>
Right now there's no obvious way to do those checks and we've ended up without an easy way to lint for broken tests as a result. Each broken test has a high cost so we need to continually look at ways to improve the situation.</blockquote>
<div><br></div><div>Can you elaborate on exactly what kind of checks you want to do?</div><div><br></div><div> - Daniel</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div class="im"><br>
<br>
Alp.<br>
<br>
-- <br>
<a href="http://www.nuanti.com" target="_blank">http://www.nuanti.com</a><br>
the browser experts<br>
<br></div>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">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/<u></u>mailman/listinfo/llvmdev</a><br>
</blockquote></div><br></div></div>