<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Aug 16, 2016 at 10:09 AM, Greg Bedwell via llvm-dev <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Anecdotally, most of the times I've seen people add "REQUIRES: shell" on<br>
a test they really meant "disable on windows". I think/hope that's<br>
usually temporary while they investigate problems, but it might explain<br>
why so many tests say they require shell when they don't.<br>
<div><div class="m_3812326519724805963h5"><br></div></div></blockquote><div><br></div></span><div>In at least one case I can think of ("clang/test/Format/style-on-<wbr>command-line.cpp") the "REQUIRES: shell" is there to work around annoying intermittent failures on Windows where 'rm' was failing with permission denied errors just occasionally enough to be a problem.  I've definitely seen this happen in a number of other places previously although I can't think whether this affects any other lit tests off-hand, but I know that personally I've had to implement 'robust rm' (basically, keep on trying until the error goes away on its own) on Windows in a number of different systems to work around this sort of problem before.  Replacing gnuwin32 with something where we could easily implement something like 'robust <cmd>' versions for Windows when we encounter these sorts of issues would be fantastic, so I'm definitely in favour of removing the dependency.</div></div></div></div></blockquote><div><br></div><div>You can use "REQUIRES: can-remove-opened-file" to express this requirement more precisely.</div></div></div></div>