#include "lldb/Core/DumpDataExtractor.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/DataExtractor.h"
#include "lldb/Utility/Endian.h"
#include "lldb/Utility/StreamString.h"
#include "gtest/gtest.h"
#include <complex>
#include <limits>
usingnamespacelldb;
usingnamespacelldb_private;
class DumpDataExtractorTest : public ::testing::Test { … };
static void TestDumpWithAddress(uint64_t base_addr, size_t item_count,
llvm::StringRef expected) { … }
TEST_F(DumpDataExtractorTest, BaseAddress) { … }
static void TestDumpWithOffset(offset_t start_offset,
llvm::StringRef expected) { … }
TEST_F(DumpDataExtractorTest, StartOffset) { … }
TEST_F(DumpDataExtractorTest, NullStream) { … }
static void TestDumpImpl(const void *data, size_t data_size,
size_t item_byte_size, size_t item_count,
size_t num_per_line, uint64_t base_addr,
lldb::Format format, llvm::StringRef expected) { … }
template <typename T>
static void TestDump(T data, lldb::Format format, llvm::StringRef expected) { … }
static void TestDump(llvm::StringRef str, lldb::Format format,
llvm::StringRef expected) { … }
template <typename T>
static void TestDump(const std::vector<T> data, lldb::Format format,
llvm::StringRef expected) { … }
TEST_F(DumpDataExtractorTest, Formats) { … }
TEST_F(DumpDataExtractorTest, FormatCharArray) { … }
template <typename T>
void TestDumpMultiLine(std::vector<T> data, lldb::Format format,
size_t num_per_line, llvm::StringRef expected) { … }
template <typename T>
void TestDumpMultiLine(const T *data, size_t num_items, lldb::Format format,
size_t num_per_line, llvm::StringRef expected) { … }
TEST_F(DumpDataExtractorTest, MultiLine) { … }
void TestDumpWithItemByteSize(size_t item_byte_size, lldb::Format format,
llvm::StringRef expected) { … }
TEST_F(DumpDataExtractorTest, ItemByteSizeErrors) { … }