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

Unified Diff: third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc

Issue 2710663006: Update Crashpad to 4a2043ea65e2641ef1a921801c0aaa15ada02fc7 (Closed)
Patch Set: Update Crashpad to 4a2043ea65e2 Created 3 years, 10 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: third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
diff --git a/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc b/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
index 730c2b799a64482ab228c24f6676e80471f55bad..8999abe0661979655e1980a97f2aed01c4aa932e 100644
--- a/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
+++ b/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc
@@ -23,6 +23,7 @@
#include "gtest/gtest.h"
#include "snapshot/cpu_context.h"
#include "snapshot/test/test_cpu_context.h"
+#include "test/hex_string.h"
namespace crashpad {
namespace test {
@@ -56,6 +57,7 @@ void InitializeMinidumpContextX86(MinidumpContextX86* context, uint32_t seed) {
context->ss = value++ & 0xffff;
InitializeCPUContextX86Fxsave(&context->fxsave, &value);
+ CPUContextX86::FxsaveToFsave(context->fxsave, &context->fsave);
context->dr0 = value++;
context->dr1 = value++;
@@ -65,30 +67,6 @@ void InitializeMinidumpContextX86(MinidumpContextX86* context, uint32_t seed) {
context->dr6 = value++;
context->dr7 = value++;
- // Copy the values that are aliased between the fxsave area
- // (context->extended_registers) and the floating-point save area
- // (context->float_save).
- context->float_save.control_word = context->fxsave.fcw;
- context->float_save.status_word = context->fxsave.fsw;
- context->float_save.tag_word = CPUContextX86::FxsaveToFsaveTagWord(
- context->fxsave.fsw, context->fxsave.ftw, context->fxsave.st_mm);
- context->float_save.error_offset = context->fxsave.fpu_ip;
- context->float_save.error_selector = context->fxsave.fpu_cs;
- context->float_save.data_offset = context->fxsave.fpu_dp;
- context->float_save.data_selector = context->fxsave.fpu_ds;
- for (size_t st_mm_index = 0;
- st_mm_index < arraysize(context->fxsave.st_mm);
- ++st_mm_index) {
- for (size_t byte = 0;
- byte < arraysize(context->fxsave.st_mm[st_mm_index].st);
- ++byte) {
- size_t st_index =
- st_mm_index * arraysize(context->fxsave.st_mm[st_mm_index].st) + byte;
- context->float_save.register_area[st_index] =
- context->fxsave.st_mm[st_mm_index].st[byte];
- }
- }
-
// Set this field last, because it has no analogue in CPUContextX86.
context->float_save.spare_0 = value++;
}
@@ -188,37 +166,31 @@ void ExpectMinidumpContextFxsave(const FxsaveType* expected,
st_mm_index < arraysize(expected->st_mm);
++st_mm_index) {
SCOPED_TRACE(base::StringPrintf("st_mm_index %" PRIuS, st_mm_index));
- for (size_t byte = 0;
- byte < arraysize(expected->st_mm[st_mm_index].st);
- ++byte) {
- EXPECT_EQ(expected->st_mm[st_mm_index].st[byte],
- observed->st_mm[st_mm_index].st[byte]) << "byte " << byte;
- }
- for (size_t byte = 0;
- byte < arraysize(expected->st_mm[st_mm_index].st_reserved);
- ++byte) {
- EXPECT_EQ(expected->st_mm[st_mm_index].st_reserved[byte],
- observed->st_mm[st_mm_index].st_reserved[byte])
- << "byte " << byte;
- }
+ EXPECT_EQ(BytesToHexString(expected->st_mm[st_mm_index].st,
+ arraysize(expected->st_mm[st_mm_index].st)),
+ BytesToHexString(observed->st_mm[st_mm_index].st,
+ arraysize(observed->st_mm[st_mm_index].st)));
+ EXPECT_EQ(
+ BytesToHexString(expected->st_mm[st_mm_index].st_reserved,
+ arraysize(expected->st_mm[st_mm_index].st_reserved)),
+ BytesToHexString(observed->st_mm[st_mm_index].st_reserved,
+ arraysize(observed->st_mm[st_mm_index].st_reserved)));
}
for (size_t xmm_index = 0;
xmm_index < arraysize(expected->xmm);
++xmm_index) {
- SCOPED_TRACE(base::StringPrintf("xmm_index %" PRIuS, xmm_index));
- for (size_t byte = 0; byte < arraysize(expected->xmm[xmm_index]); ++byte) {
- EXPECT_EQ(expected->xmm[xmm_index][byte], observed->xmm[xmm_index][byte])
- << "byte " << byte;
- }
- }
- for (size_t byte = 0; byte < arraysize(expected->reserved_4); ++byte) {
- EXPECT_EQ(expected->reserved_4[byte], observed->reserved_4[byte])
- << "byte " << byte;
- }
- for (size_t byte = 0; byte < arraysize(expected->available); ++byte) {
- EXPECT_EQ(expected->available[byte], observed->available[byte])
- << "byte " << byte;
+ EXPECT_EQ(BytesToHexString(expected->xmm[xmm_index],
+ arraysize(expected->xmm[xmm_index])),
+ BytesToHexString(observed->xmm[xmm_index],
+ arraysize(observed->xmm[xmm_index])))
+ << "xmm_index " << xmm_index;
}
+ EXPECT_EQ(
+ BytesToHexString(expected->reserved_4, arraysize(expected->reserved_4)),
+ BytesToHexString(observed->reserved_4, arraysize(observed->reserved_4)));
+ EXPECT_EQ(
+ BytesToHexString(expected->available, arraysize(expected->available)),
+ BytesToHexString(observed->available, arraysize(observed->available)));
}
} // namespace
@@ -236,22 +208,19 @@ void ExpectMinidumpContextX86(
EXPECT_EQ(expected.dr6, observed->dr6);
EXPECT_EQ(expected.dr7, observed->dr7);
- EXPECT_EQ(expected.float_save.control_word,
- observed->float_save.control_word);
- EXPECT_EQ(expected.float_save.status_word, observed->float_save.status_word);
- EXPECT_EQ(expected.float_save.tag_word, observed->float_save.tag_word);
- EXPECT_EQ(expected.float_save.error_offset,
- observed->float_save.error_offset);
- EXPECT_EQ(expected.float_save.error_selector,
- observed->float_save.error_selector);
- EXPECT_EQ(expected.float_save.data_offset, observed->float_save.data_offset);
- EXPECT_EQ(expected.float_save.data_selector,
- observed->float_save.data_selector);
- for (size_t index = 0;
- index < arraysize(expected.float_save.register_area);
- ++index) {
- EXPECT_EQ(expected.float_save.register_area[index],
- observed->float_save.register_area[index]) << "index " << index;
+ EXPECT_EQ(expected.fsave.fcw, observed->fsave.fcw);
+ EXPECT_EQ(expected.fsave.fsw, observed->fsave.fsw);
+ EXPECT_EQ(expected.fsave.ftw, observed->fsave.ftw);
+ EXPECT_EQ(expected.fsave.fpu_ip, observed->fsave.fpu_ip);
+ EXPECT_EQ(expected.fsave.fpu_cs, observed->fsave.fpu_cs);
+ EXPECT_EQ(expected.fsave.fpu_dp, observed->fsave.fpu_dp);
+ EXPECT_EQ(expected.fsave.fpu_ds, observed->fsave.fpu_ds);
+ for (size_t index = 0; index < arraysize(expected.fsave.st); ++index) {
+ EXPECT_EQ(BytesToHexString(expected.fsave.st[index],
+ arraysize(expected.fsave.st[index])),
+ BytesToHexString(observed->fsave.st[index],
+ arraysize(observed->fsave.st[index])))
+ << "index " << index;
}
if (snapshot) {
EXPECT_EQ(0u, observed->float_save.spare_0);

Powered by Google App Engine
This is Rietveld 408576698