| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 1 // Copyright 2014 The Crashpad Authors. All rights reserved. | 
| 2 // | 2 // | 
| 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); | 
| 4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. | 
| 5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at | 
| 6 // | 6 // | 
| 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 7 //     http://www.apache.org/licenses/LICENSE-2.0 | 
| 8 // | 8 // | 
| 9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software | 
| 10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 43       file_contents, directory[0].Location); | 43       file_contents, directory[0].Location); | 
| 44   ASSERT_TRUE(*crashpad_info); | 44   ASSERT_TRUE(*crashpad_info); | 
| 45 | 45 | 
| 46   *module_list = | 46   *module_list = | 
| 47       MinidumpWritableAtLocationDescriptor<MinidumpModuleCrashpadInfoList>( | 47       MinidumpWritableAtLocationDescriptor<MinidumpModuleCrashpadInfoList>( | 
| 48           file_contents, (*crashpad_info)->module_list); | 48           file_contents, (*crashpad_info)->module_list); | 
| 49 } | 49 } | 
| 50 | 50 | 
| 51 TEST(MinidumpCrashpadInfoWriter, Empty) { | 51 TEST(MinidumpCrashpadInfoWriter, Empty) { | 
| 52   MinidumpFileWriter minidump_file_writer; | 52   MinidumpFileWriter minidump_file_writer; | 
| 53   MinidumpCrashpadInfoWriter crashpad_info_writer; | 53   auto crashpad_info_writer = make_scoped_ptr(new MinidumpCrashpadInfoWriter()); | 
| 54 | 54 | 
| 55   minidump_file_writer.AddStream(&crashpad_info_writer); | 55   minidump_file_writer.AddStream(crashpad_info_writer.Pass()); | 
| 56 | 56 | 
| 57   StringFileWriter file_writer; | 57   StringFileWriter file_writer; | 
| 58   ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 58   ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 
| 59 | 59 | 
| 60   const MinidumpCrashpadInfo* crashpad_info; | 60   const MinidumpCrashpadInfo* crashpad_info; | 
| 61   const MinidumpModuleCrashpadInfoList* module_list; | 61   const MinidumpModuleCrashpadInfoList* module_list; | 
| 62 | 62 | 
| 63   ASSERT_NO_FATAL_FAILURE(GetCrashpadInfoStream( | 63   ASSERT_NO_FATAL_FAILURE(GetCrashpadInfoStream( | 
| 64       file_writer.string(), &crashpad_info, &module_list)); | 64       file_writer.string(), &crashpad_info, &module_list)); | 
| 65 | 65 | 
| 66   EXPECT_EQ(MinidumpCrashpadInfo::kVersion, crashpad_info->version); | 66   EXPECT_EQ(MinidumpCrashpadInfo::kVersion, crashpad_info->version); | 
| 67   EXPECT_FALSE(module_list); | 67   EXPECT_FALSE(module_list); | 
| 68 } | 68 } | 
| 69 | 69 | 
| 70 TEST(MinidumpCrashpadInfoWriter, CrashpadModuleList) { | 70 TEST(MinidumpCrashpadInfoWriter, CrashpadModuleList) { | 
| 71   const uint32_t kMinidumpModuleListIndex = 3; | 71   const uint32_t kMinidumpModuleListIndex = 3; | 
| 72 | 72 | 
| 73   MinidumpFileWriter minidump_file_writer; | 73   MinidumpFileWriter minidump_file_writer; | 
| 74   MinidumpCrashpadInfoWriter crashpad_info_writer; | 74   auto crashpad_info_writer = make_scoped_ptr(new MinidumpCrashpadInfoWriter()); | 
| 75 | 75 | 
| 76   minidump_file_writer.AddStream(&crashpad_info_writer); | 76   auto module_list_writer = | 
|  | 77       make_scoped_ptr(new MinidumpModuleCrashpadInfoListWriter()); | 
|  | 78   auto module_writer = make_scoped_ptr(new MinidumpModuleCrashpadInfoWriter()); | 
|  | 79   module_writer->SetMinidumpModuleListIndex(kMinidumpModuleListIndex); | 
|  | 80   module_list_writer->AddModule(module_writer.Pass()); | 
|  | 81   crashpad_info_writer->SetModuleList(module_list_writer.Pass()); | 
| 77 | 82 | 
| 78   MinidumpModuleCrashpadInfoListWriter module_list_writer; | 83   minidump_file_writer.AddStream(crashpad_info_writer.Pass()); | 
| 79   MinidumpModuleCrashpadInfoWriter module_writer; |  | 
| 80   module_writer.SetMinidumpModuleListIndex(kMinidumpModuleListIndex); |  | 
| 81   module_list_writer.AddModule(&module_writer); |  | 
| 82   crashpad_info_writer.SetModuleList(&module_list_writer); |  | 
| 83 | 84 | 
| 84   StringFileWriter file_writer; | 85   StringFileWriter file_writer; | 
| 85   ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 86   ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 
| 86 | 87 | 
| 87   const MinidumpCrashpadInfo* crashpad_info; | 88   const MinidumpCrashpadInfo* crashpad_info; | 
| 88   const MinidumpModuleCrashpadInfoList* module_list; | 89   const MinidumpModuleCrashpadInfoList* module_list; | 
| 89 | 90 | 
| 90   ASSERT_NO_FATAL_FAILURE(GetCrashpadInfoStream( | 91   ASSERT_NO_FATAL_FAILURE(GetCrashpadInfoStream( | 
| 91       file_writer.string(), &crashpad_info, &module_list)); | 92       file_writer.string(), &crashpad_info, &module_list)); | 
| 92 | 93 | 
| 93   EXPECT_EQ(MinidumpCrashpadInfo::kVersion, crashpad_info->version); | 94   EXPECT_EQ(MinidumpCrashpadInfo::kVersion, crashpad_info->version); | 
| 94   ASSERT_TRUE(module_list); | 95   ASSERT_TRUE(module_list); | 
| 95   ASSERT_EQ(1u, module_list->count); | 96   ASSERT_EQ(1u, module_list->count); | 
| 96 | 97 | 
| 97   const MinidumpModuleCrashpadInfo* module = | 98   const MinidumpModuleCrashpadInfo* module = | 
| 98       MinidumpWritableAtLocationDescriptor<MinidumpModuleCrashpadInfo>( | 99       MinidumpWritableAtLocationDescriptor<MinidumpModuleCrashpadInfo>( | 
| 99           file_writer.string(), module_list->modules[0]); | 100           file_writer.string(), module_list->modules[0]); | 
| 100   ASSERT_TRUE(module); | 101   ASSERT_TRUE(module); | 
| 101 | 102 | 
| 102   EXPECT_EQ(MinidumpModuleCrashpadInfo::kVersion, module->version); | 103   EXPECT_EQ(MinidumpModuleCrashpadInfo::kVersion, module->version); | 
| 103   EXPECT_EQ(kMinidumpModuleListIndex, module->minidump_module_list_index); | 104   EXPECT_EQ(kMinidumpModuleListIndex, module->minidump_module_list_index); | 
| 104   EXPECT_EQ(0u, module->simple_annotations.DataSize); | 105   EXPECT_EQ(0u, module->simple_annotations.DataSize); | 
| 105   EXPECT_EQ(0u, module->simple_annotations.Rva); | 106   EXPECT_EQ(0u, module->simple_annotations.Rva); | 
| 106 } | 107 } | 
| 107 | 108 | 
| 108 }  // namespace | 109 }  // namespace | 
| 109 }  // namespace test | 110 }  // namespace test | 
| 110 }  // namespace crashpad | 111 }  // namespace crashpad | 
| OLD | NEW | 
|---|