diff options
Diffstat (limited to 'unittests/tools/lldb-server/tests/TestBase.h')
-rw-r--r-- | unittests/tools/lldb-server/tests/TestBase.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/unittests/tools/lldb-server/tests/TestBase.h b/unittests/tools/lldb-server/tests/TestBase.h new file mode 100644 index 000000000000..8956490e945c --- /dev/null +++ b/unittests/tools/lldb-server/tests/TestBase.h @@ -0,0 +1,48 @@ +//===-- 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<TestClient> Client; +}; + +} // namespace llgs_tests + +#endif // LLDB_SERVER_TESTS_TESTBASE_H |