Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1340)

Unified Diff: minidump/minidump_module_writer_test.cc

Issue 670853002: minidump: Migrate the rest of the tests to MinidumpWritableAtLocationDescriptor<>() (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Address review feedback Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: minidump/minidump_module_writer_test.cc
diff --git a/minidump/minidump_module_writer_test.cc b/minidump/minidump_module_writer_test.cc
index 6aba549cdffd0617a67676d3e03d3cd282f4769a..1aef0f16aab00230125939119b99525139133eb5 100644
--- a/minidump/minidump_module_writer_test.cc
+++ b/minidump/minidump_module_writer_test.cc
@@ -24,6 +24,7 @@
#include "minidump/minidump_file_writer.h"
#include "minidump/test/minidump_file_writer_test_util.h"
#include "minidump/test/minidump_string_writer_test_util.h"
+#include "minidump/test/minidump_writable_test_util.h"
#include "util/file/string_file_writer.h"
#include "util/misc/uuid.h"
@@ -48,15 +49,11 @@ void GetModuleListStream(const std::string& file_contents,
ASSERT_TRUE(directory);
ASSERT_EQ(kMinidumpStreamTypeModuleList, directory[0].StreamType);
- ASSERT_GE(directory[0].Location.DataSize, sizeof(MINIDUMP_MODULE_LIST));
- ASSERT_EQ(kModuleListStreamOffset, directory[0].Location.Rva);
+ EXPECT_EQ(kModuleListStreamOffset, directory[0].Location.Rva);
- *module_list = reinterpret_cast<const MINIDUMP_MODULE_LIST*>(
- &file_contents[kModuleListStreamOffset]);
-
- ASSERT_EQ(sizeof(MINIDUMP_MODULE_LIST) +
- (*module_list)->NumberOfModules * sizeof(MINIDUMP_MODULE),
- directory[0].Location.DataSize);
+ *module_list = MinidumpWritableAtLocationDescriptor<MINIDUMP_MODULE_LIST>(
+ file_contents, directory[0].Location);
+ ASSERT_TRUE(module_list);
}
TEST(MinidumpModuleWriter, EmptyModuleList) {
@@ -92,19 +89,15 @@ void ExpectCodeViewRecord(const MINIDUMP_LOCATION_DESCRIPTOR* codeview_record,
uint32_t expected_pdb_age) {
if (expected_pdb_name) {
EXPECT_NE(0u, codeview_record->Rva);
- ASSERT_LE(codeview_record->Rva + codeview_record->DataSize,
- file_contents.size());
std::string observed_pdb_name;
if (expected_pdb_uuid) {
// The CodeView record should be a PDB 7.0 link.
- EXPECT_GE(codeview_record->DataSize,
- sizeof(MinidumpModuleCodeViewRecordPDB70));
const MinidumpModuleCodeViewRecordPDB70* codeview_pdb70_record =
- reinterpret_cast<const MinidumpModuleCodeViewRecordPDB70*>(
- &file_contents[codeview_record->Rva]);
- EXPECT_EQ(MinidumpModuleCodeViewRecordPDB70::kSignature,
- codeview_pdb70_record->signature);
+ MinidumpWritableAtLocationDescriptor<
+ MinidumpModuleCodeViewRecordPDB70>(file_contents,
+ *codeview_record);
+ ASSERT_TRUE(codeview_pdb70_record);
EXPECT_EQ(0,
memcmp(expected_pdb_uuid,
&codeview_pdb70_record->uuid,
@@ -117,13 +110,11 @@ void ExpectCodeViewRecord(const MINIDUMP_LOCATION_DESCRIPTOR* codeview_record,
offsetof(MinidumpModuleCodeViewRecordPDB70, pdb_name));
} else {
// The CodeView record should be a PDB 2.0 link.
- EXPECT_GE(codeview_record->DataSize,
- sizeof(MinidumpModuleCodeViewRecordPDB20));
const MinidumpModuleCodeViewRecordPDB20* codeview_pdb20_record =
- reinterpret_cast<const MinidumpModuleCodeViewRecordPDB20*>(
- &file_contents[codeview_record->Rva]);
- EXPECT_EQ(MinidumpModuleCodeViewRecordPDB20::kSignature,
- codeview_pdb20_record->signature);
+ MinidumpWritableAtLocationDescriptor<
+ MinidumpModuleCodeViewRecordPDB20>(file_contents,
+ *codeview_record);
+ ASSERT_TRUE(codeview_pdb20_record);
EXPECT_EQ(static_cast<uint32_t>(expected_pdb_timestamp),
codeview_pdb20_record->timestamp);
EXPECT_EQ(expected_pdb_age, codeview_pdb20_record->age);
@@ -157,14 +148,12 @@ void ExpectMiscellaneousDebugRecord(
uint32_t expected_debug_type,
bool expected_debug_utf16) {
if (expected_debug_name) {
- EXPECT_GE(misc_record->DataSize, sizeof(IMAGE_DEBUG_MISC));
EXPECT_NE(0u, misc_record->Rva);
- ASSERT_LE(misc_record->Rva + misc_record->DataSize, file_contents.size());
const IMAGE_DEBUG_MISC* misc_debug_record =
- reinterpret_cast<const IMAGE_DEBUG_MISC*>(
- &file_contents[misc_record->Rva]);
+ MinidumpWritableAtLocationDescriptor<IMAGE_DEBUG_MISC>(file_contents,
+ *misc_record);
+ ASSERT_TRUE(misc_debug_record);
EXPECT_EQ(expected_debug_type, misc_debug_record->DataType);
- EXPECT_EQ(misc_record->DataSize, misc_debug_record->Length);
EXPECT_EQ(expected_debug_utf16, misc_debug_record->Unicode);
EXPECT_EQ(0u, misc_debug_record->Reserved[0]);
EXPECT_EQ(0u, misc_debug_record->Reserved[1]);
« no previous file with comments | « minidump/minidump_misc_info_writer_test.cc ('k') | minidump/minidump_simple_string_dictionary_writer_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698