blob: 8956490e945c1dfb4ac8026f85ae2c838036cd10 [file] [log] [blame]
//===-- 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