| Index: minidump/minidump_module_writer_test.cc
|
| diff --git a/minidump/minidump_module_writer_test.cc b/minidump/minidump_module_writer_test.cc
|
| index 3a00def3652a7a1e18f9319cd022851f1f2fc014..ed5f10c888954444927f79b5afc9e13b71ed501e 100644
|
| --- a/minidump/minidump_module_writer_test.cc
|
| +++ b/minidump/minidump_module_writer_test.cc
|
| @@ -59,9 +59,9 @@ void GetModuleListStream(const std::string& file_contents,
|
|
|
| TEST(MinidumpModuleWriter, EmptyModuleList) {
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
|
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer));
|
| @@ -265,15 +265,15 @@ void ExpectModule(const MINIDUMP_MODULE* expected,
|
|
|
| TEST(MinidumpModuleWriter, EmptyModule) {
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
|
|
| const char kModuleName[] = "test_executable";
|
|
|
| - MinidumpModuleWriter module_writer;
|
| - module_writer.SetName(kModuleName);
|
| + auto module_writer = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer->SetName(kModuleName);
|
|
|
| - module_list_writer.AddModule(&module_writer);
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + module_list_writer->AddModule(module_writer.Pass());
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer));
|
| @@ -304,7 +304,7 @@ TEST(MinidumpModuleWriter, EmptyModule) {
|
|
|
| TEST(MinidumpModuleWriter, OneModule) {
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
|
|
| const char kModuleName[] = "statically_linked";
|
| const uint64_t kModuleBase = 0x10da69000;
|
| @@ -333,36 +333,38 @@ TEST(MinidumpModuleWriter, OneModule) {
|
| const char kDebugName[] = "statical.dbg";
|
| const bool kDebugUTF16 = false;
|
|
|
| - MinidumpModuleWriter module_writer;
|
| - module_writer.SetName(kModuleName);
|
| - module_writer.SetImageBaseAddress(kModuleBase);
|
| - module_writer.SetImageSize(kModuleSize);
|
| - module_writer.SetChecksum(kChecksum);
|
| - module_writer.SetTimestamp(kTimestamp);
|
| - module_writer.SetFileVersion(kFileVersionMS >> 16,
|
| - kFileVersionMS & 0xffff,
|
| - kFileVersionLS >> 16,
|
| - kFileVersionLS & 0xffff);
|
| - module_writer.SetProductVersion(kProductVersionMS >> 16,
|
| - kProductVersionMS & 0xffff,
|
| - kProductVersionLS >> 16,
|
| - kProductVersionLS & 0xffff);
|
| - module_writer.SetFileFlagsAndMask(kFileFlags, kFileFlagsMask);
|
| - module_writer.SetFileOS(kFileOS);
|
| - module_writer.SetFileTypeAndSubtype(kFileType, kFileSubtype);
|
| -
|
| - MinidumpModuleCodeViewRecordPDB70Writer codeview_pdb70_writer;
|
| - codeview_pdb70_writer.SetPDBName(kPDBName);
|
| - codeview_pdb70_writer.SetUUIDAndAge(pdb_uuid, kPDBAge);
|
| - module_writer.SetCodeViewRecord(&codeview_pdb70_writer);
|
| -
|
| - MinidumpModuleMiscDebugRecordWriter misc_debug_writer;
|
| - misc_debug_writer.SetDataType(kDebugType);
|
| - misc_debug_writer.SetData(kDebugName, kDebugUTF16);
|
| - module_writer.SetMiscDebugRecord(&misc_debug_writer);
|
| -
|
| - module_list_writer.AddModule(&module_writer);
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + auto module_writer = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer->SetName(kModuleName);
|
| + module_writer->SetImageBaseAddress(kModuleBase);
|
| + module_writer->SetImageSize(kModuleSize);
|
| + module_writer->SetChecksum(kChecksum);
|
| + module_writer->SetTimestamp(kTimestamp);
|
| + module_writer->SetFileVersion(kFileVersionMS >> 16,
|
| + kFileVersionMS & 0xffff,
|
| + kFileVersionLS >> 16,
|
| + kFileVersionLS & 0xffff);
|
| + module_writer->SetProductVersion(kProductVersionMS >> 16,
|
| + kProductVersionMS & 0xffff,
|
| + kProductVersionLS >> 16,
|
| + kProductVersionLS & 0xffff);
|
| + module_writer->SetFileFlagsAndMask(kFileFlags, kFileFlagsMask);
|
| + module_writer->SetFileOS(kFileOS);
|
| + module_writer->SetFileTypeAndSubtype(kFileType, kFileSubtype);
|
| +
|
| + auto codeview_pdb70_writer =
|
| + make_scoped_ptr(new MinidumpModuleCodeViewRecordPDB70Writer());
|
| + codeview_pdb70_writer->SetPDBName(kPDBName);
|
| + codeview_pdb70_writer->SetUUIDAndAge(pdb_uuid, kPDBAge);
|
| + module_writer->SetCodeViewRecord(codeview_pdb70_writer.Pass());
|
| +
|
| + auto misc_debug_writer =
|
| + make_scoped_ptr(new MinidumpModuleMiscDebugRecordWriter());
|
| + misc_debug_writer->SetDataType(kDebugType);
|
| + misc_debug_writer->SetData(kDebugName, kDebugUTF16);
|
| + module_writer->SetMiscDebugRecord(misc_debug_writer.Pass());
|
| +
|
| + module_list_writer->AddModule(module_writer.Pass());
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer));
|
| @@ -411,7 +413,7 @@ TEST(MinidumpModuleWriter, OneModule_CodeViewUsesPDB20_MiscUsesUTF16) {
|
| // alternatives, a PDB 2.0 link as the CodeView record and an IMAGE_DEBUG_MISC
|
| // record with UTF-16 data.
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
|
|
| const char kModuleName[] = "dinosaur";
|
| const char kPDBName[] = "d1n05.pdb";
|
| @@ -421,21 +423,23 @@ TEST(MinidumpModuleWriter, OneModule_CodeViewUsesPDB20_MiscUsesUTF16) {
|
| const char kDebugName[] = "d1n05.dbg";
|
| const bool kDebugUTF16 = true;
|
|
|
| - MinidumpModuleWriter module_writer;
|
| - module_writer.SetName(kModuleName);
|
| + auto module_writer = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer->SetName(kModuleName);
|
|
|
| - MinidumpModuleCodeViewRecordPDB20Writer codeview_pdb20_writer;
|
| - codeview_pdb20_writer.SetPDBName(kPDBName);
|
| - codeview_pdb20_writer.SetTimestampAndAge(kPDBTimestamp, kPDBAge);
|
| - module_writer.SetCodeViewRecord(&codeview_pdb20_writer);
|
| + auto codeview_pdb20_writer =
|
| + make_scoped_ptr(new MinidumpModuleCodeViewRecordPDB20Writer());
|
| + codeview_pdb20_writer->SetPDBName(kPDBName);
|
| + codeview_pdb20_writer->SetTimestampAndAge(kPDBTimestamp, kPDBAge);
|
| + module_writer->SetCodeViewRecord(codeview_pdb20_writer.Pass());
|
|
|
| - MinidumpModuleMiscDebugRecordWriter misc_debug_writer;
|
| - misc_debug_writer.SetDataType(kDebugType);
|
| - misc_debug_writer.SetData(kDebugName, kDebugUTF16);
|
| - module_writer.SetMiscDebugRecord(&misc_debug_writer);
|
| + auto misc_debug_writer =
|
| + make_scoped_ptr(new MinidumpModuleMiscDebugRecordWriter());
|
| + misc_debug_writer->SetDataType(kDebugType);
|
| + misc_debug_writer->SetData(kDebugName, kDebugUTF16);
|
| + module_writer->SetMiscDebugRecord(misc_debug_writer.Pass());
|
|
|
| - module_list_writer.AddModule(&module_writer);
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + module_list_writer->AddModule(module_writer.Pass());
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer));
|
| @@ -470,7 +474,7 @@ TEST(MinidumpModuleWriter, ThreeModules) {
|
| // its CodeView record, one with no CodeView record, and one with a PDB 2.0
|
| // link as its CodeView record.
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
|
|
| const char kModuleName0[] = "main";
|
| const uint64_t kModuleBase0 = 0x100101000;
|
| @@ -494,38 +498,40 @@ TEST(MinidumpModuleWriter, ThreeModules) {
|
| const time_t kPDBTimestamp2 = 0x386d4380;
|
| const uint32_t kPDBAge2 = 2;
|
|
|
| - MinidumpModuleWriter module_writer_0;
|
| - module_writer_0.SetName(kModuleName0);
|
| - module_writer_0.SetImageBaseAddress(kModuleBase0);
|
| - module_writer_0.SetImageSize(kModuleSize0);
|
| + auto module_writer_0 = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer_0->SetName(kModuleName0);
|
| + module_writer_0->SetImageBaseAddress(kModuleBase0);
|
| + module_writer_0->SetImageSize(kModuleSize0);
|
|
|
| - MinidumpModuleCodeViewRecordPDB70Writer codeview_pdb70_writer_0;
|
| - codeview_pdb70_writer_0.SetPDBName(kPDBName0);
|
| - codeview_pdb70_writer_0.SetUUIDAndAge(pdb_uuid_0, kPDBAge0);
|
| - module_writer_0.SetCodeViewRecord(&codeview_pdb70_writer_0);
|
| + auto codeview_pdb70_writer_0 =
|
| + make_scoped_ptr(new MinidumpModuleCodeViewRecordPDB70Writer());
|
| + codeview_pdb70_writer_0->SetPDBName(kPDBName0);
|
| + codeview_pdb70_writer_0->SetUUIDAndAge(pdb_uuid_0, kPDBAge0);
|
| + module_writer_0->SetCodeViewRecord(codeview_pdb70_writer_0.Pass());
|
|
|
| - module_list_writer.AddModule(&module_writer_0);
|
| + module_list_writer->AddModule(module_writer_0.Pass());
|
|
|
| - MinidumpModuleWriter module_writer_1;
|
| - module_writer_1.SetName(kModuleName1);
|
| - module_writer_1.SetImageBaseAddress(kModuleBase1);
|
| - module_writer_1.SetImageSize(kModuleSize1);
|
| + auto module_writer_1 = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer_1->SetName(kModuleName1);
|
| + module_writer_1->SetImageBaseAddress(kModuleBase1);
|
| + module_writer_1->SetImageSize(kModuleSize1);
|
|
|
| - module_list_writer.AddModule(&module_writer_1);
|
| + module_list_writer->AddModule(module_writer_1.Pass());
|
|
|
| - MinidumpModuleWriter module_writer_2;
|
| - module_writer_2.SetName(kModuleName2);
|
| - module_writer_2.SetImageBaseAddress(kModuleBase2);
|
| - module_writer_2.SetImageSize(kModuleSize2);
|
| + auto module_writer_2 = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_writer_2->SetName(kModuleName2);
|
| + module_writer_2->SetImageBaseAddress(kModuleBase2);
|
| + module_writer_2->SetImageSize(kModuleSize2);
|
|
|
| - MinidumpModuleCodeViewRecordPDB20Writer codeview_pdb70_writer_2;
|
| - codeview_pdb70_writer_2.SetPDBName(kPDBName2);
|
| - codeview_pdb70_writer_2.SetTimestampAndAge(kPDBTimestamp2, kPDBAge2);
|
| - module_writer_2.SetCodeViewRecord(&codeview_pdb70_writer_2);
|
| + auto codeview_pdb70_writer_2 =
|
| + make_scoped_ptr(new MinidumpModuleCodeViewRecordPDB20Writer());
|
| + codeview_pdb70_writer_2->SetPDBName(kPDBName2);
|
| + codeview_pdb70_writer_2->SetTimestampAndAge(kPDBTimestamp2, kPDBAge2);
|
| + module_writer_2->SetCodeViewRecord(codeview_pdb70_writer_2.Pass());
|
|
|
| - module_list_writer.AddModule(&module_writer_2);
|
| + module_list_writer->AddModule(module_writer_2.Pass());
|
|
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer));
|
| @@ -602,10 +608,10 @@ TEST(MinidumpModuleWriter, ThreeModules) {
|
|
|
| TEST(MinidumpSystemInfoWriterDeathTest, NoModuleName) {
|
| MinidumpFileWriter minidump_file_writer;
|
| - MinidumpModuleListWriter module_list_writer;
|
| - MinidumpModuleWriter module_writer;
|
| - module_list_writer.AddModule(&module_writer);
|
| - minidump_file_writer.AddStream(&module_list_writer);
|
| + auto module_list_writer = make_scoped_ptr(new MinidumpModuleListWriter());
|
| + auto module_writer = make_scoped_ptr(new MinidumpModuleWriter());
|
| + module_list_writer->AddModule(module_writer.Pass());
|
| + minidump_file_writer.AddStream(module_list_writer.Pass());
|
|
|
| StringFileWriter file_writer;
|
| ASSERT_DEATH(minidump_file_writer.WriteEverything(&file_writer), "name_");
|
|
|