| Index: minidump/minidump_file_writer_test.cc
|
| diff --git a/minidump/minidump_file_writer_test.cc b/minidump/minidump_file_writer_test.cc
|
| index a2aa4d04ab955123f2713d7b4eb888734a79923e..0455548b8a14598e11dae2b8c915bb4e6e394fe4 100644
|
| --- a/minidump/minidump_file_writer_test.cc
|
| +++ b/minidump/minidump_file_writer_test.cc
|
| @@ -217,6 +217,43 @@ TEST(MinidumpFileWriter, ThreeStreams) {
|
| EXPECT_EQ(0, memcmp(stream3_data, expected_stream3.c_str(), kStream3Size));
|
| }
|
|
|
| +TEST(MinidumpFileWriter, ZeroLengthStream) {
|
| + MinidumpFileWriter minidump_file;
|
| +
|
| + const size_t kStreamSize = 0;
|
| + const MinidumpStreamType kStreamType = static_cast<MinidumpStreamType>(0x4d);
|
| + TestStream stream(kStreamType, kStreamSize, 0);
|
| + minidump_file.AddStream(&stream);
|
| +
|
| + StringFileWriter file_writer;
|
| + ASSERT_TRUE(minidump_file.WriteEverything(&file_writer));
|
| +
|
| + const size_t kDirectoryOffset = sizeof(MINIDUMP_HEADER);
|
| + const size_t kStreamOffset = kDirectoryOffset + sizeof(MINIDUMP_DIRECTORY);
|
| + const size_t kFileSize = kStreamOffset + kStreamSize;
|
| +
|
| + ASSERT_EQ(kFileSize, file_writer.string().size());
|
| +
|
| + const MINIDUMP_HEADER* header =
|
| + reinterpret_cast<const MINIDUMP_HEADER*>(&file_writer.string()[0]);
|
| +
|
| + EXPECT_EQ(static_cast<uint32_t>(MINIDUMP_SIGNATURE), header->Signature);
|
| + EXPECT_EQ(static_cast<uint32_t>(MINIDUMP_VERSION), header->Version);
|
| + EXPECT_EQ(1u, header->NumberOfStreams);
|
| + EXPECT_EQ(kDirectoryOffset, header->StreamDirectoryRva);
|
| + EXPECT_EQ(0u, header->CheckSum);
|
| + EXPECT_EQ(0u, header->TimeDateStamp);
|
| + EXPECT_EQ(MiniDumpNormal, header->Flags);
|
| +
|
| + const MINIDUMP_DIRECTORY* directory =
|
| + reinterpret_cast<const MINIDUMP_DIRECTORY*>(
|
| + &file_writer.string()[kDirectoryOffset]);
|
| +
|
| + EXPECT_EQ(kStreamType, directory->StreamType);
|
| + EXPECT_EQ(kStreamSize, directory->Location.DataSize);
|
| + EXPECT_EQ(kStreamOffset, directory->Location.Rva);
|
| +}
|
| +
|
| TEST(MinidumpFileWriterDeathTest, SameStreamType) {
|
| MinidumpFileWriter minidump_file;
|
|
|
|
|