#include "minidump/minidump_thread_writer.h"
#include <iterator>
#include <string>
#include <utility>
#include "base/compiler_specific.h"
#include "base/format_macros.h"
#include "base/strings/stringprintf.h"
#include "gtest/gtest.h"
#include "minidump/minidump_context_writer.h"
#include "minidump/minidump_file_writer.h"
#include "minidump/minidump_memory_writer.h"
#include "minidump/test/minidump_context_test_util.h"
#include "minidump/test/minidump_file_writer_test_util.h"
#include "minidump/test/minidump_memory_writer_test_util.h"
#include "minidump/test/minidump_writable_test_util.h"
#include "snapshot/test/test_cpu_context.h"
#include "snapshot/test/test_memory_snapshot.h"
#include "snapshot/test/test_thread_snapshot.h"
#include "test/gtest_death.h"
#include "util/file/string_file.h"
namespace crashpad {
namespace test {
namespace {
void GetThreadListStream(const std::string& file_contents,
const MINIDUMP_THREAD_LIST** thread_list,
const MINIDUMP_MEMORY_LIST** memory_list) { … }
TEST(MinidumpThreadWriter, EmptyThreadList) { … }
void ExpectThread(const MINIDUMP_THREAD* expected,
const MINIDUMP_THREAD* observed,
const std::string& file_contents,
const MINIDUMP_MEMORY_DESCRIPTOR** stack,
const void** context_base) { … }
TEST(MinidumpThreadWriter, OneThread_x86_NoStack) { … }
TEST(MinidumpThreadWriter, OneThread_AMD64_Stack) { … }
TEST(MinidumpThreadWriter, ThreeThreads_x86_MemoryList) { … }
struct InitializeFromSnapshotX86Traits { … };
struct InitializeFromSnapshotAMD64Traits { … };
struct InitializeFromSnapshotNoContextTraits { … };
template <typename Traits>
void RunInitializeFromSnapshotTest(bool thread_id_collision) { … }
TEST(MinidumpThreadWriter, InitializeFromSnapshot_x86) { … }
TEST(MinidumpThreadWriter, InitializeFromSnapshot_AMD64) { … }
TEST(MinidumpThreadWriter, InitializeFromSnapshot_ThreadIDCollision) { … }
TEST(MinidumpThreadWriterDeathTest, NoContext) { … }
TEST(MinidumpThreadWriterDeathTest, InitializeFromSnapshot_NoContext) { … }
}
}
}