//===-- TestBase.h ----------------------------------------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// #ifndef LLDB_SERVER_TESTS_TESTBASE_H #define LLDB_SERVER_TESTS_TESTBASE_H #include "TestClient.h" #include "lldb/Host/HostInfo.h" #include "llvm/Support/Path.h" #include "llvm/Testing/Support/Error.h" #include "gtest/gtest.h" namespace llgs_tests { class TestBase: public ::testing::Test { public: static void SetUpTestCase() { lldb_private::HostInfo::Initialize(); } static std::string getInferiorPath(llvm::StringRef Name) { llvm::SmallString<64> Path(LLDB_TEST_INFERIOR_PATH); llvm::sys::path::append(Path, Name + LLDB_TEST_INFERIOR_SUFFIX); return Path.str(); } static std::string getLogFileName(); }; class StandardStartupTest: public TestBase { public: void SetUp() override { auto ClientOr = TestClient::launch(getLogFileName()); ASSERT_THAT_EXPECTED(ClientOr, llvm::Succeeded()); Client = std::move(*ClientOr); } protected: std::unique_ptr Client; }; } // namespace llgs_tests #endif // LLDB_SERVER_TESTS_TESTBASE_H