From a6fcadd0f037df5e5bdc8d44a1769bf4bc9d22cd Mon Sep 17 00:00:00 2001 From: Jan Korous Date: Tue, 3 Sep 2019 22:01:46 +0000 Subject: [libclang][test][NFC] Split off fixture from tests. llvm-svn: 370825 --- clang/unittests/libclang/LibclangTest.cpp | 72 +------------------------------ 1 file changed, 1 insertion(+), 71 deletions(-) (limited to 'clang/unittests/libclang/LibclangTest.cpp') diff --git a/clang/unittests/libclang/LibclangTest.cpp b/clang/unittests/libclang/LibclangTest.cpp index b3ad5c7..e2e3a8e 100644 --- a/clang/unittests/libclang/LibclangTest.cpp +++ b/clang/unittests/libclang/LibclangTest.cpp @@ -13,6 +13,7 @@ #include "llvm/Support/Path.h" #include "llvm/Support/raw_ostream.h" #include "gtest/gtest.h" +#include "TestUtils.h" #include #include #include @@ -352,77 +353,6 @@ TEST(libclang, ModuleMapDescriptor) { clang_ModuleMapDescriptor_dispose(MMD); } -class LibclangParseTest : public ::testing::Test { - std::set Files; - typedef std::unique_ptr fixed_addr_string; - std::map UnsavedFileContents; -public: - std::string TestDir; - CXIndex Index; - CXTranslationUnit ClangTU; - unsigned TUFlags; - std::vector UnsavedFiles; - - void SetUp() override { - llvm::SmallString<256> Dir; - ASSERT_FALSE(llvm::sys::fs::createUniqueDirectory("libclang-test", Dir)); - TestDir = Dir.str(); - TUFlags = CXTranslationUnit_DetailedPreprocessingRecord | - clang_defaultEditingTranslationUnitOptions(); - Index = clang_createIndex(0, 0); - ClangTU = nullptr; - } - void TearDown() override { - clang_disposeTranslationUnit(ClangTU); - clang_disposeIndex(Index); - for (const std::string &Path : Files) - llvm::sys::fs::remove(Path); - llvm::sys::fs::remove(TestDir); - } - void WriteFile(std::string &Filename, const std::string &Contents) { - if (!llvm::sys::path::is_absolute(Filename)) { - llvm::SmallString<256> Path(TestDir); - llvm::sys::path::append(Path, Filename); - Filename = Path.str(); - Files.insert(Filename); - } - llvm::sys::fs::create_directories(llvm::sys::path::parent_path(Filename)); - std::ofstream OS(Filename); - OS << Contents; - assert(OS.good()); - } - void MapUnsavedFile(std::string Filename, const std::string &Contents) { - if (!llvm::sys::path::is_absolute(Filename)) { - llvm::SmallString<256> Path(TestDir); - llvm::sys::path::append(Path, Filename); - Filename = Path.str(); - } - auto it = UnsavedFileContents.insert(std::make_pair( - fixed_addr_string(new std::string(Filename)), - fixed_addr_string(new std::string(Contents)))); - UnsavedFiles.push_back({ - it.first->first->c_str(), // filename - it.first->second->c_str(), // contents - it.first->second->size() // length - }); - } - template - void Traverse(const F &TraversalFunctor) { - CXCursor TuCursor = clang_getTranslationUnitCursor(ClangTU); - std::reference_wrapper FunctorRef = std::cref(TraversalFunctor); - clang_visitChildren(TuCursor, - &TraverseStateless>, - &FunctorRef); - } -private: - template - static CXChildVisitResult TraverseStateless(CXCursor cx, CXCursor parent, - CXClientData data) { - TState *State = static_cast(data); - return State->get()(cx, parent); - } -}; - TEST_F(LibclangParseTest, AllSkippedRanges) { std::string Header = "header.h", Main = "main.cpp"; WriteFile(Header, -- cgit v1.1