]> granicus.if.org Git - clang/commitdiff
Added a test for ToolInvocation::mapVirtualFile method.
authorAlexander Kornienko <alexfh@google.com>
Fri, 1 Jun 2012 14:50:43 +0000 (14:50 +0000)
committerAlexander Kornienko <alexfh@google.com>
Fri, 1 Jun 2012 14:50:43 +0000 (14:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157812 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/Tooling/ToolingTest.cpp

index c7b2210a754eace21e8d971e6495080ba3a99b48..9122786b5535fcbbc2a860af55f49df4a19e5637 100644 (file)
@@ -15,6 +15,7 @@
 #include "clang/Tooling/CompilationDatabase.h"
 #include "clang/Tooling/Tooling.h"
 #include "gtest/gtest.h"
+#include <string>
 
 namespace clang {
 namespace tooling {
@@ -109,5 +110,18 @@ TEST(newFrontendActionFactory, CreatesFrontendActionFactoryFromFactoryType) {
   EXPECT_TRUE(Action.get() != NULL);
 }
 
+TEST(ToolInvocation, TestMapVirtualFile) {
+  clang::FileManager Files((clang::FileSystemOptions()));
+  std::vector<std::string> Args;
+  Args.push_back("tool-executable");
+  Args.push_back("-Idef");
+  Args.push_back("-fsyntax-only");
+  Args.push_back("test.cpp");
+  clang::tooling::ToolInvocation Invocation(Args, new SyntaxOnlyAction, &Files);
+  Invocation.mapVirtualFile("test.cpp", "#include <abc>\n");
+  Invocation.mapVirtualFile("def/abc", "\n");
+  EXPECT_TRUE(Invocation.run());
+}
+
 } // end namespace tooling
 } // end namespace clang