[clangd] Try to fix CompileCommandsTests on windows. NFC
authorSam McCall <sam.mccall@gmail.com>
Fri, 6 Dec 2019 11:27:15 +0000 (12:27 +0100)
committerSam McCall <sam.mccall@gmail.com>
Fri, 6 Dec 2019 11:28:01 +0000 (12:28 +0100)
clang-tools-extra/clangd/CompileCommands.h
clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp

index b0c34b8..02b1a76 100644 (file)
@@ -5,6 +5,8 @@
 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 //
 //===----------------------------------------------------------------------===//
+#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILECOMMANDS_H
+#define LLVM_CLANG_TOOLS_EXTRA_CLANGD_COMPILECOMMANDS_H
 
 #include "clang/Tooling/ArgumentsAdjusters.h"
 #include "clang/Tooling/CompilationDatabase.h"
@@ -46,3 +48,5 @@ private:
 
 } // namespace clangd
 } // namespace clang
+
+#endif
index e16a8ac..fc98b56 100644 (file)
@@ -7,6 +7,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "CompileCommands.h"
+#include "TestFS.h"
 
 #include "llvm/ADT/StringExtras.h"
 
@@ -30,32 +31,34 @@ using ::testing::Not;
 // Other tests just verify presence/absence of certain args.
 TEST(CommandMangler, Everything) {
   auto Mangler = CommandMangler::forTests();
-  Mangler.ClangPath = "/fake/bin/clang";
-  Mangler.ResourceDir = "/fake/resources";
-  Mangler.Sysroot = "/fake/sysroot";
+  Mangler.ClangPath = testPath("fake/clang");
+  Mangler.ResourceDir = testPath("fake/resources");
+  Mangler.Sysroot = testPath("fake/sysroot");
   std::vector<std::string> Cmd = {"clang++", "-Xclang", "-load", "-Xclang",
                                   "plugin",  "-MF",     "dep",   "foo.cc"};
   Mangler.adjust(Cmd);
-  EXPECT_THAT(Cmd, ElementsAre("/fake/bin/clang++", "foo.cc", "-fsyntax-only",
-                               "-resource-dir=/fake/resources", "-isysroot",
-                               "/fake/sysroot"));
+  EXPECT_THAT(Cmd, ElementsAre(testPath("fake/clang++"), "foo.cc",
+                               "-fsyntax-only",
+                               "-resource-dir=" + testPath("fake/resources"),
+                               "-isysroot", testPath("fake/sysroot")));
 }
 
 TEST(CommandMangler, ResourceDir) {
   auto Mangler = CommandMangler::forTests();
-  Mangler.ResourceDir = "/fake/resources";
+  Mangler.ResourceDir = testPath("fake/resources");
   std::vector<std::string> Cmd = {"clang++", "foo.cc"};
   Mangler.adjust(Cmd);
-  EXPECT_THAT(Cmd, Contains("-resource-dir=/fake/resources"));
+  EXPECT_THAT(Cmd, Contains("-resource-dir=" + testPath("fake/resources")));
 }
 
 TEST(CommandMangler, Sysroot) {
   auto Mangler = CommandMangler::forTests();
-  Mangler.Sysroot = "/fake/sysroot";
+  Mangler.Sysroot = testPath("fake/sysroot");
 
   std::vector<std::string> Cmd = {"clang++", "foo.cc"};
   Mangler.adjust(Cmd);
-  EXPECT_THAT(llvm::join(Cmd, " "), HasSubstr("-isysroot /fake/sysroot"));
+  EXPECT_THAT(llvm::join(Cmd, " "),
+              HasSubstr("-isysroot " + testPath("fake/sysroot")));
 }
 
 TEST(CommandMangler, StripPlugins) {
@@ -78,19 +81,19 @@ TEST(CommandMangler, StripOutput) {
 
 TEST(CommandMangler, ClangPath) {
   auto Mangler = CommandMangler::forTests();
-  Mangler.ClangPath = "/fake/clang";
+  Mangler.ClangPath = testPath("fake/clang");
 
   std::vector<std::string> Cmd = {"clang++", "foo.cc"};
   Mangler.adjust(Cmd);
-  EXPECT_EQ("/fake/clang++", Cmd.front());
+  EXPECT_EQ(testPath("fake/clang++"), Cmd.front());
 
   Cmd = {"unknown-binary", "foo.cc"};
   Mangler.adjust(Cmd);
   EXPECT_EQ("unknown-binary", Cmd.front());
 
-  Cmd = {"/path/clang++", "foo.cc"};
+  Cmd = {testPath("path/clang++"), "foo.cc"};
   Mangler.adjust(Cmd);
-  EXPECT_EQ("/path/clang++", Cmd.front());
+  EXPECT_EQ(testPath("path/clang++"), Cmd.front());
 }
 
 } // namespace