brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.9 KiB · fc6b92e Raw
64 lines · cpp
1//===-- ProcessEventDataTest.cpp ------------------------------------------===//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-exception6//7//===----------------------------------------------------------------------===//8 9#include "lldb/Target/ProcessTrace.h"10#include "Plugins/Platform/Linux/PlatformLinux.h"11#include "lldb/Core/Debugger.h"12#include "lldb/Host/HostInfo.h"13#include "gtest/gtest.h"14 15using namespace lldb_private;16using namespace lldb;17using namespace platform_linux;18 19// This is needed for the tests that create a trace process.20class ProcessTraceTest : public ::testing::Test {21public:22  void SetUp() override {23    ProcessTrace::Initialize();24    FileSystem::Initialize();25    HostInfo::Initialize();26    PlatformLinux::Initialize();27  }28  void TearDown() override {29    PlatformLinux::Initialize();30    HostInfo::Terminate();31    FileSystem::Terminate();32    ProcessTrace::Terminate();33  }34};35 36TargetSP CreateTarget(DebuggerSP &debugger_sp, const ArchSpec &arch) {37  PlatformSP platform_sp;38  TargetSP target_sp;39  debugger_sp->GetTargetList().CreateTarget(40      *debugger_sp, "", arch, eLoadDependentsNo, platform_sp, target_sp);41  return target_sp;42}43 44// Test that we can create a process trace with a nullptr core file.45TEST_F(ProcessTraceTest, ConstructorWithNullptrCoreFile) {46  ArchSpec arch("i386-pc-linux");47 48  Platform::SetHostPlatform(PlatformLinux::CreateInstance(true, &arch));49  ASSERT_NE(Platform::GetHostPlatform(), nullptr);50 51  DebuggerSP debugger_sp = Debugger::CreateInstance();52  ASSERT_TRUE(debugger_sp);53 54  TargetSP target_sp = CreateTarget(debugger_sp, arch);55  ASSERT_TRUE(target_sp);56 57  ProcessSP process_sp = target_sp->CreateProcess(58      /*listener*/ nullptr, "trace",59      /*crash_file*/ nullptr,60      /*can_connect*/ false);61 62  ASSERT_NE(process_sp, nullptr);63}64