[PATCH] D74488: [VFS] Fix vfsoverlay assertion due to RedirectingFileSystem path handling.

John Brawn via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 12 10:24:45 PST 2020


john.brawn added a comment.

In D74488#1872608 <https://reviews.llvm.org/D74488#1872608>, @amccarth wrote:

> I'll look at this more later today, but here are my initial thoughts.
>
> > ClangScanDeps/vfsoverlay test can fail on Windows
>
> "can fail"?  Are you saying the results are flaky?  I haven't seen this test fail.
>
> I never saw a situation where an external path could start with `C:/` rather than `C:\`.  The keys for VFS are sometimes weird hybrids of Posix and Windows styles, but I can't figure out how a VFS lookup would result in an absolute path with that kind of prefix.


I think it depends on how exactly the test is run. I'm seeing this in our continuous integration setup which I don't fully understand, but the relevant part of the test log is

> : 'RUN: at line 1';   rm -rf C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir
>  : 'RUN: at line 2';   rm -rf C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.cdb
>  : 'RUN: at line 3';   mkdir -p C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir
>  : 'RUN: at line 4';   cp C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\src\llvm-project\clang\test\ClangScanDeps\vfsoverlay.cpp C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir/vfsoverlay_input.cpp
>  : 'RUN: at line 5';   sed -e "s|DIR|C:/work/jenkins_slave/workspace/armcompiler/0.0/armclang-windows/build-asserts-true/tools/clang/test/ClangScanDeps/Output/vfsoverlay.cpp.tmp.dir|g" C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\src\llvm-project\clang\test\ClangScanDeps/Inputs/vfsoverlay.yaml > C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir/vfsoverlay.yaml
>  : 'RUN: at line 6';   mkdir C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir/Inputs
>  : 'RUN: at line 7';   cp C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\src\llvm-project\clang\test\ClangScanDeps/Inputs/header.h C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.dir/Inputs/header.h
>  : 'RUN: at line 8';   sed -e "s|DIR|C:/work/jenkins_slave/workspace/armcompiler/0.0/armclang-windows/build-asserts-true/tools/clang/test/ClangScanDeps/Output/vfsoverlay.cpp.tmp.dir|g" C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\src\llvm-project\clang\test\ClangScanDeps/Inputs/vfsoverlay_cdb.json > C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.cdb
>  : 'RUN: at line 10';   clang-scan-deps -compilation-database C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\tools\clang\test\ClangScanDeps\Output\vfsoverlay.cpp.tmp.cdb -j 1 |    c:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\build-asserts-true\bin\filecheck.exe C:\work\jenkins_slave\workspace\armcompiler\0.0\armclang-windows\src\llvm-project\clang\test\ClangScanDeps\vfsoverlay.cpp

Those sed lines with forward slashes are coming from lit expanding "%/t.dir" in vfsoverlay.cpp.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D74488/new/

https://reviews.llvm.org/D74488





More information about the llvm-commits mailing list