sammccall added inline comments.

================
Comment at: clang-tools-extra/unittests/clangd/HeadersTests.cpp:220
+  BarHeader = testPath("sub/bar.h");
+  EXPECT_EQ(calculate(BarHeader), "\"sub/bar.h\"");
 }
----------------
ormris wrote:
> sammccall wrote:
> > ormris wrote:
> > > Quick nit: This test won't work on Windows as it only tests for 
> > > POSIX-style path separators. You could easily add a Windows ifdef, though.
> > testPath() returns an appropriate native path, and calculate() returns an 
> > #include string (which always uses /).
> > The "../" on line 217 looks a little more suspicious, but I think the clang 
> > driver might silently Do What I Mean here.
> > Are you seeing test failures?
> Yes, here's the output.
> 
> ```
> [ RUN      ] HeadersTest.ShortenedInclude
> C:\llvm\tools\clang\tools\extra\unittests\clangd\HeadersTests.cpp(220): 
> error:       Expected: calculate(BarHeader)
>       Which is: "\"sub\\bar.h\""
> To be equal to: "\"sub/bar.h\""
> ```
Hmm, that suggests the test is catching a real bug in the code: we should be 
inserting paths with forward slashes even on Windows.

Looking at the test cases, i have the sinking feeling we've always been doing 
this and never noticed as no test case has a slash in the final #include. (And 
none of the main clangd devs are primarily using Windows)

Thank you for pointing this out!

@kadircet: we should either fix this before this patch lands, or ifdef it until 
we can fix.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D60873



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to