[llvm] [lit] Are all RUN lines skipped in windows cmd? (PR #65242)
Martin Storsjö via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 4 10:10:19 PDT 2023
mstorsjo wrote:
> > (This seems to have been broken throughout this time period at least. However before [39bbfb7](https://github.com/llvm/llvm-project/commit/39bbfb77264a4a7a216921c2b70a30ba0f27eb56), when libcxx tests were using the external executor, they did work when executed with bash as external executor.)
>
> It looks like the `llvm-mc` substitution isn't quoting its value correctly.
Yep, probably - I guess this goes the same for all the llvm tools that have substitutions set up.
> > ## Conclusion
> > It certainly looks like this configuration is severely broken. I'm not aware of any parts of the configurations that use it by default, and even then, it's generally problematic, so I'm not sure if it's worth spending effort on fixing. (The suggestion that was made somewhere around these discussions, to move most things towards using the internal shell even on unix, sounds to me like a good direction in general .)
>
> Agreed. What if we raise a python exception on the windows `cmd` code path in lit for now? If we still see no complaints for a few weeks, we can think about removing the code path entirely.
I guess that sounds reasaonble. Although I'm not sure how often odd downstreams integrate from upstream, but things have been quite broken for quite some time anyway, so I guess it's pretty safe to say that this is dead code.
> > That said; for echoing executed commands, when using the internal executor, it's probably very valuable if they're printed in a form that is easy to copypaste and execute in cmd.exe (where possible - at least for the majority of simple cases).
>
> If RUN lines are written for lit's internal shell, I'm not sure if they are generally guaranteed to work in windows `cmd`. Do you have a specific change in mind here?
Not really, no - I'm mostly commenting on it from the point of view that I remember seeing somewhere else in these discussions (regarding formatting of the `echo RUN` stuff I think). As long as most commands, in the form `command1 | command2` work and can be copypasted as such, we're probably just fine. (And I have no reason to believe that wouldn't be the case.)
https://github.com/llvm/llvm-project/pull/65242
More information about the llvm-commits
mailing list