Summary: Adding a new test would require one to duplicate a significant part of the existing test that we have. This attempts to reduce that by moving some part of that code to the test fixture. The StandardStartupTest fixture automatically starts up the server and connects it to the client. I also add a more low-level TestBase fixture, which allows one to start up the client and server in a custom way (I am going to need this for the test I am writing). Reviewers: eugene, zturner Subscribers: lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D41066 llvm-svn: 320809
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
//===-- 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
|