Summary: ProcFileReader is the cause of the dependency from Host to ProcessLinux module. Since it's interface is also obsolete (ReadIntoDataBuffer is trivially replaceable by llvm::MemoryBuffer functions and ProcessLineByLine is trivially implementable with StringRefs), instead of moving it around I'm planning to obliterate it. This is the first step, where I remove a couple of occurences in linux/Host.cpp, and modernize some code around that. I have introduced linux/Support.h, which holds two utility functions now, whose resposibility is to construct the appropriate proc file names -- the only useful feature of ProcFileReader. I add a couple of tests for these functions, and for Host::GetProcessInfo. It's worth noting that these are the first host-specific unit tests in lldb. Reviewers: zturner, eugene Subscribers: srhines, lldb-commits, mgorny Differential Revision: https://reviews.llvm.org/D30942 llvm-svn: 297843
27 lines
795 B
C++
27 lines
795 B
C++
//===-- SupportTest.cpp -----------------------------------------*- C++ -*-===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "lldb/Host/linux/Support.h"
|
|
#include "llvm/Support/Threading.h"
|
|
#include "gtest/gtest.h"
|
|
|
|
using namespace lldb_private;
|
|
|
|
TEST(Support, getProcFile_Pid) {
|
|
auto BufferOrError = getProcFile(getpid(), "maps");
|
|
ASSERT_TRUE(BufferOrError);
|
|
ASSERT_TRUE(*BufferOrError);
|
|
}
|
|
|
|
TEST(Support, getProcFile_Tid) {
|
|
auto BufferOrError = getProcFile(getpid(), llvm::get_threadid(), "comm");
|
|
ASSERT_TRUE(BufferOrError);
|
|
ASSERT_TRUE(*BufferOrError);
|
|
}
|