#include "lldb/Core/Debugger.h"
#include "Plugins/Platform/MacOSX/PlatformMacOSX.h"
#include "Plugins/Platform/MacOSX/PlatformRemoteMacOSX.h"
#include "TestingSupport/TestUtilities.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
#include "gtest/gtest.h"
using namespace lldb;
using namespace lldb_private;
namespace {
class DebuggerTest : public ::testing::Test {
public:
void SetUp() override {
FileSystem::Initialize();
HostInfo::Initialize();
PlatformMacOSX::Initialize();
std::call_once(TestUtilities::g_debugger_initialize_flag,
[]() { Debugger::Initialize(nullptr); });
ArchSpec arch("x86_64-apple-macosx-");
Platform::SetHostPlatform(
PlatformRemoteMacOSX::CreateInstance(true, &arch));
}
void TearDown() override {
PlatformMacOSX::Terminate();
HostInfo::Terminate();
FileSystem::Terminate();
}
};
}
TEST_F(DebuggerTest, TestSettings) {
DebuggerSP debugger_sp = Debugger::CreateInstance();
EXPECT_TRUE(debugger_sp->SetUseColor(true));
EXPECT_TRUE(debugger_sp->GetUseColor());
FormatEntity::Entry format("foo");
EXPECT_TRUE(debugger_sp->SetStatuslineFormat(format));
EXPECT_EQ(debugger_sp->GetStatuslineFormat().string, "foo");
Debugger::Destroy(debugger_sp);
}