aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/Process/minidump
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/unittests/Process/minidump')
-rw-r--r--lldb/unittests/Process/minidump/Inputs/linux-x86_64.cpp27
-rw-r--r--lldb/unittests/Process/minidump/MinidumpParserTest.cpp94
2 files changed, 59 insertions, 62 deletions
diff --git a/lldb/unittests/Process/minidump/Inputs/linux-x86_64.cpp b/lldb/unittests/Process/minidump/Inputs/linux-x86_64.cpp
index 9974a503..827fe67 100644
--- a/lldb/unittests/Process/minidump/Inputs/linux-x86_64.cpp
+++ b/lldb/unittests/Process/minidump/Inputs/linux-x86_64.cpp
@@ -7,19 +7,22 @@
#include "client/linux/handler/exception_handler.h"
-
-static bool dumpCallback(const google_breakpad::MinidumpDescriptor& descriptor,
-void* context, bool succeeded) {
- printf("Dump path: %s\n", descriptor.path());
- return succeeded;
+static bool dumpCallback(const google_breakpad::MinidumpDescriptor &descriptor,
+ void *context, bool succeeded) {
+ printf("Dump path: %s\n", descriptor.path());
+ return succeeded;
}
-void crash() { volatile int* a = (int*)(NULL); *a = 1; }
+void crash() {
+ volatile int *a = (int *)(NULL);
+ *a = 1;
+}
-int main(int argc, char* argv[]) {
- google_breakpad::MinidumpDescriptor descriptor("/tmp");
- google_breakpad::ExceptionHandler eh(descriptor, NULL, dumpCallback, NULL, true, -1);
- printf("pid: %d\n", getpid());
- crash();
- return 0;
+int main(int argc, char *argv[]) {
+ google_breakpad::MinidumpDescriptor descriptor("/tmp");
+ google_breakpad::ExceptionHandler eh(descriptor, NULL, dumpCallback, NULL,
+ true, -1);
+ printf("pid: %d\n", getpid());
+ crash();
+ return 0;
}
diff --git a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
index 753d631..3c273fb 100644
--- a/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
+++ b/lldb/unittests/Process/minidump/MinidumpParserTest.cpp
@@ -32,66 +32,60 @@ extern const char *TestMainArgv0;
using namespace lldb_private;
using namespace minidump;
-class MinidumpParserTest : public testing::Test
-{
+class MinidumpParserTest : public testing::Test {
public:
- void
- SetUp() override
- {
- llvm::StringRef dmp_folder = llvm::sys::path::parent_path(TestMainArgv0);
- inputs_folder = dmp_folder;
- llvm::sys::path::append(inputs_folder, "Inputs");
- }
-
- void
- SetUpData(const char *minidump_filename, size_t load_size = SIZE_MAX)
- {
- llvm::SmallString<128> filename = inputs_folder;
- llvm::sys::path::append(filename, minidump_filename);
- FileSpec minidump_file(filename.c_str(), false);
- lldb::DataBufferSP data_sp(minidump_file.MemoryMapFileContents(0, load_size));
- llvm::Optional<MinidumpParser> optional_parser = MinidumpParser::Create(data_sp);
- ASSERT_TRUE(optional_parser.hasValue());
- parser.reset(new MinidumpParser(optional_parser.getValue()));
- ASSERT_GT(parser->GetByteSize(), 0UL);
- }
-
- llvm::SmallString<128> inputs_folder;
- std::unique_ptr<MinidumpParser> parser;
+ void SetUp() override {
+ llvm::StringRef dmp_folder = llvm::sys::path::parent_path(TestMainArgv0);
+ inputs_folder = dmp_folder;
+ llvm::sys::path::append(inputs_folder, "Inputs");
+ }
+
+ void SetUpData(const char *minidump_filename, size_t load_size = SIZE_MAX) {
+ llvm::SmallString<128> filename = inputs_folder;
+ llvm::sys::path::append(filename, minidump_filename);
+ FileSpec minidump_file(filename.c_str(), false);
+ lldb::DataBufferSP data_sp(
+ minidump_file.MemoryMapFileContents(0, load_size));
+ llvm::Optional<MinidumpParser> optional_parser =
+ MinidumpParser::Create(data_sp);
+ ASSERT_TRUE(optional_parser.hasValue());
+ parser.reset(new MinidumpParser(optional_parser.getValue()));
+ ASSERT_GT(parser->GetByteSize(), 0UL);
+ }
+
+ llvm::SmallString<128> inputs_folder;
+ std::unique_ptr<MinidumpParser> parser;
};
-TEST_F(MinidumpParserTest, GetThreads)
-{
- SetUpData("linux-x86_64.dmp");
- llvm::Optional<std::vector<const MinidumpThread *>> thread_list;
+TEST_F(MinidumpParserTest, GetThreads) {
+ SetUpData("linux-x86_64.dmp");
+ llvm::Optional<std::vector<const MinidumpThread *>> thread_list;
- thread_list = parser->GetThreads();
- ASSERT_TRUE(thread_list.hasValue());
- ASSERT_EQ(1UL, thread_list->size());
+ thread_list = parser->GetThreads();
+ ASSERT_TRUE(thread_list.hasValue());
+ ASSERT_EQ(1UL, thread_list->size());
- const MinidumpThread *thread = thread_list.getValue()[0];
- ASSERT_EQ(16001UL, thread->thread_id);
+ const MinidumpThread *thread = thread_list.getValue()[0];
+ ASSERT_EQ(16001UL, thread->thread_id);
}
-TEST_F(MinidumpParserTest, GetThreadsTruncatedFile)
-{
- SetUpData("linux-x86_64.dmp", 200);
- llvm::Optional<std::vector<const MinidumpThread *>> thread_list;
+TEST_F(MinidumpParserTest, GetThreadsTruncatedFile) {
+ SetUpData("linux-x86_64.dmp", 200);
+ llvm::Optional<std::vector<const MinidumpThread *>> thread_list;
- thread_list = parser->GetThreads();
- ASSERT_FALSE(thread_list.hasValue());
+ thread_list = parser->GetThreads();
+ ASSERT_FALSE(thread_list.hasValue());
}
-TEST_F(MinidumpParserTest, GetArchitecture)
-{
- SetUpData("linux-x86_64.dmp");
- ASSERT_EQ(llvm::Triple::ArchType::x86_64, parser->GetArchitecture().GetTriple().getArch());
+TEST_F(MinidumpParserTest, GetArchitecture) {
+ SetUpData("linux-x86_64.dmp");
+ ASSERT_EQ(llvm::Triple::ArchType::x86_64,
+ parser->GetArchitecture().GetTriple().getArch());
}
-TEST_F(MinidumpParserTest, GetMiscInfo)
-{
- SetUpData("linux-x86_64.dmp");
- const MinidumpMiscInfo *misc_info = parser->GetMiscInfo();
- ASSERT_EQ(nullptr, misc_info);
- // linux breakpad generated minidump files don't have misc info stream
+TEST_F(MinidumpParserTest, GetMiscInfo) {
+ SetUpData("linux-x86_64.dmp");
+ const MinidumpMiscInfo *misc_info = parser->GetMiscInfo();
+ ASSERT_EQ(nullptr, misc_info);
+ // linux breakpad generated minidump files don't have misc info stream
}