[PATCH] D57533: lit: support long paths on Windows
Nico Weber via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 5 06:28:26 PST 2019
thakis added a comment.
In D57533#1379315 <https://reviews.llvm.org/D57533#1379315>, @ruiu wrote:
> In D57533#1379277 <https://reviews.llvm.org/D57533#1379277>, @compnerd wrote:
>
> > @ruiu, no unfortunately, not all the paths can be shortened in the swift test suite since it is such a heavy user of the clang modules, modules cache paths and module naming structure in clang is a problem. Perhaps if we could make `%t` in lit be short and clang module names to be short, it might be possible to get the paths to a size that works?
>
>
> If you can do that, that's much more preferable solution than fixing the problem only at this location. I'd think if your test file get a very long pathname, this is not the only place that could break. For example, if you use `rm` on a test file and the test file gets a long pathname, that could fail.
(iirc we had to put a long-pathname-compatible rm on the chromium bots because that's already
================
Comment at: utils/lit/lit/TestRunner.py:620
+
+ class SHFILEOPSTRUCTW(Structure):
+ _fields_ = [
----------------
rnk wrote:
> This seems like a lot of ctypes code that would be better off written as a little llvm-rm utility in native C++ code, with a substitution from `\brm\b` to `llvm-rm`. Then, we'll have finally integrated a "safe rm" into LLVM, and we'll have a place we can add retry loops to try to satisfy hostile virus scanners.... it'll be great. =P WDYT?
Or we could stop having rm be a builtin again. You need unxutils or similar to run tests on Win anyhow, and there are rm implementations for Windows that can do this. That seems a lot simpler.
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D57533/new/
https://reviews.llvm.org/D57533
More information about the llvm-commits
mailing list