1//===-- TestBase.h ----------------------------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLDB_UNITTESTS_TOOLS_LLDB_SERVER_TESTS_TESTBASE_H
10#define LLDB_UNITTESTS_TOOLS_LLDB_SERVER_TESTS_TESTBASE_H
11
12#include "TestClient.h"
13#include "lldb/Host/FileSystem.h"
14#include "lldb/Host/HostInfo.h"
15#include "lldb/Host/Socket.h"
16#include "llvm/Support/Path.h"
17#include "llvm/Testing/Support/Error.h"
18#include "gtest/gtest.h"
19
20namespace llgs_tests {
21
22class TestBase: public ::testing::Test {
23public:
24 static void SetUpTestCase() {
25 lldb_private::FileSystem::Initialize();
26 lldb_private::HostInfo::Initialize();
27 ASSERT_THAT_ERROR(lldb_private::Socket::Initialize(), llvm::Succeeded());
28 }
29
30 static void TearDownTestCase() {
31 lldb_private::Socket::Terminate();
32 lldb_private::HostInfo::Terminate();
33 lldb_private::FileSystem::Terminate();
34 }
35
36 static std::string getInferiorPath(llvm::StringRef Name) {
37 llvm::SmallString<64> Path(LLDB_TEST_INFERIOR_PATH);
38 llvm::sys::path::append(path&: Path, a: Name + LLDB_TEST_INFERIOR_SUFFIX);
39 return std::string(Path.str());
40 }
41
42 static std::string getLogFileName();
43};
44
45class StandardStartupTest: public TestBase {
46public:
47 void SetUp() override {
48 auto ClientOr = TestClient::launch(Log: getLogFileName());
49 ASSERT_THAT_EXPECTED(ClientOr, llvm::Succeeded());
50 Client = std::move(*ClientOr);
51 }
52
53protected:
54 std::unique_ptr<TestClient> Client;
55};
56
57} // namespace llgs_tests
58
59#endif // LLDB_UNITTESTS_TOOLS_LLDB_SERVER_TESTS_TESTBASE_H
60

source code of lldb/unittests/tools/lldb-server/tests/TestBase.h