Yea I'm fairly sure that happens before any of my code runs.  It doesn't even lex the run lines in that case, it just concatenates them and shells out.<br><br>By the time we get to my code, it's already decided to use lit for everything including spawning the processes<br><div class="gmail_quote"><div dir="ltr">On Fri, Mar 3, 2017 at 11:58 AM Matthias Braun <<a href="mailto:matze@braunis.de">matze@braunis.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><blockquote type="cite" class="gmail_msg"><div class="gmail_msg">On Mar 3, 2017, at 11:31 AM, Zachary Turner <<a href="mailto:zturner@google.com" class="gmail_msg" target="_blank">zturner@google.com</a>> wrote:</div><br class="m_1535448833529494434Apple-interchange-newline gmail_msg"><div class="gmail_msg"><div dir="ltr" class="gmail_msg">MatzeB: I have not tested, but my understanding was that on Unix systems we aren't even using the lit shell, so none of this code would ever get run anyway.</div></div></blockquote><div class="gmail_msg"><br class="gmail_msg"></div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg">Ok if the bots don't complain this should be fine. I was worried about this:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">RUN: produce_files --into_dir %T</div><div class="gmail_msg">RUN: consume_files %T/*</div><div class="gmail_msg">?</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">Which we eventually concatenate and pass as a single command to the shell: "{produce_files --into_dir /tmp/some/dir} && { consume_files /tmp/some/dir/*}". I was worried that the globbers are resovled before the produce_files command had even run. Admittedly I'm not an expert on those shell details, and it seems the {} solved it here if the bots report no problem...</div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">- Matthias</div></div></div><div style="word-wrap:break-word" class="gmail_msg"><div class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"></div><blockquote type="cite" class="gmail_msg"><div class="gmail_msg"><br class="gmail_msg"><div class="gmail_quote gmail_msg"><div dir="ltr" class="gmail_msg">On Fri, Mar 3, 2017 at 11:16 AM Matthias Braun via Phabricator <<a href="mailto:reviews@reviews.llvm.org" class="gmail_msg" target="_blank">reviews@reviews.llvm.org</a>> wrote:<br class="gmail_msg"></div><blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">MatzeB added a comment.<br class="gmail_msg">
<br class="gmail_msg">
Have you tested these changes on a unix system yet? I think we concatenate all the RUN lines together into a single command on unix, so wouldn't that resolve the glob pattern before any of the commands that produce the intermediate files have even run?<br class="gmail_msg">
<br class="gmail_msg">
> I would really like the lit shell to be as much like bash as possible to match test writers' expectations.<br class="gmail_msg">
<br class="gmail_msg">
+1 (though we should better say posix shell instead of bash)! In any way shell should be a very familiar language and should really be powerful enough for our needs.<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
Repository:<br class="gmail_msg">
  rL LLVM<br class="gmail_msg">
<br class="gmail_msg">
<a href="https://reviews.llvm.org/D30380" rel="noreferrer" class="gmail_msg" target="_blank">https://reviews.llvm.org/D30380</a><br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
<br class="gmail_msg">
</blockquote></div>
</div></blockquote></div></div></blockquote></div>