[libcxx] [test] Fix the _supportsVerify check on Windows by fixing quoting
The pipes.quote function quotes using single quotes, the same goes for the newer shlex.quote (which is the preferred form in Python 3). This isn't suitable for quoting in command lines on Windows (and the documentation for shlex.quote even says it's only usable for Unix shells). In general, the python subprocess.list2cmdline function should do proper quoting for the platform's current shell. However, it doesn't quote the ';' char, which we pass within some arguments to run.py. Therefore use the custom reimplementation from lit.TestRunner which is amended to quote ';' too. The fact that arguemnts were quoted with single quotes didn't matter for command lines that were executed by either bash or the lit internal shell, but if executing things directly using subprocess.call, as in _supportsVerify, the quoted path to %{cxx} fails to be resolved by the Windows shell. This unlocks 114 tests that previously were skipped on Windows. Differential Revision: https://reviews.llvm.org/D103310
Loading
Please register or sign in to comment