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

Side by Side Diff: third_party/crashpad/crashpad/snapshot/win/exception_snapshot_win_test.cc

Issue 2773813002: Update Crashpad to 8e37886d418dd042c3c7bfadac99214739ee4d98 (Closed)
Patch Set: Update Crashpad to 8e37886d418dd042c3c7bfadac99214739ee4d98 Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Crashpad Authors. All rights reserved. 1 // Copyright 2015 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 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 test_executable.DirName() 141 test_executable.DirName()
142 .Append(directory_modification) 142 .Append(directory_modification)
143 .Append(test_executable.BaseName().RemoveFinalExtension().value() + 143 .Append(test_executable.BaseName().RemoveFinalExtension().value() +
144 L"_crashing_child.exe") 144 L"_crashing_child.exe")
145 .value(); 145 .value();
146 ChildLauncher child(child_test_executable, pipe_name); 146 ChildLauncher child(child_test_executable, pipe_name);
147 child.Start(); 147 child.Start();
148 148
149 // The child tells us (approximately) where it will crash. 149 // The child tells us (approximately) where it will crash.
150 WinVMAddress break_near_address; 150 WinVMAddress break_near_address;
151 LoggingReadFile(child.stdout_read_handle(), 151 LoggingReadFileExactly(child.stdout_read_handle(),
152 &break_near_address, 152 &break_near_address,
153 sizeof(break_near_address)); 153 sizeof(break_near_address));
154 delegate.set_break_near(break_near_address); 154 delegate.set_break_near(break_near_address);
155 155
156 // Wait for the child to crash and the exception information to be validated. 156 // Wait for the child to crash and the exception information to be validated.
157 WaitForSingleObject(completed.get(), INFINITE); 157 WaitForSingleObject(completed.get(), INFINITE);
158 } 158 }
159 159
160 TEST(ExceptionSnapshotWinTest, ChildCrash) { 160 TEST(ExceptionSnapshotWinTest, ChildCrash) {
161 TestCrashingChild(FILE_PATH_LITERAL(".")); 161 TestCrashingChild(FILE_PATH_LITERAL("."));
162 } 162 }
163 163
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 test_executable.DirName() 243 test_executable.DirName()
244 .Append(directory_modification) 244 .Append(directory_modification)
245 .Append(test_executable.BaseName().RemoveFinalExtension().value() + 245 .Append(test_executable.BaseName().RemoveFinalExtension().value() +
246 L"_dump_without_crashing.exe") 246 L"_dump_without_crashing.exe")
247 .value(); 247 .value();
248 ChildLauncher child(child_test_executable, pipe_name); 248 ChildLauncher child(child_test_executable, pipe_name);
249 child.Start(); 249 child.Start();
250 250
251 // The child tells us (approximately) where it will capture a dump. 251 // The child tells us (approximately) where it will capture a dump.
252 WinVMAddress dump_near_address; 252 WinVMAddress dump_near_address;
253 LoggingReadFile(child.stdout_read_handle(), 253 LoggingReadFileExactly(child.stdout_read_handle(),
254 &dump_near_address, 254 &dump_near_address,
255 sizeof(dump_near_address)); 255 sizeof(dump_near_address));
256 delegate.set_dump_near(dump_near_address); 256 delegate.set_dump_near(dump_near_address);
257 257
258 // Wait for the child to crash and the exception information to be validated. 258 // Wait for the child to crash and the exception information to be validated.
259 WaitForSingleObject(completed.get(), INFINITE); 259 WaitForSingleObject(completed.get(), INFINITE);
260 } 260 }
261 261
262 TEST(SimulateCrash, ChildDumpWithoutCrashing) { 262 TEST(SimulateCrash, ChildDumpWithoutCrashing) {
263 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL(".")); 263 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL("."));
264 } 264 }
265 265
266 #if defined(ARCH_CPU_64_BITS) 266 #if defined(ARCH_CPU_64_BITS)
267 TEST(SimulateCrash, ChildDumpWithoutCrashingWOW64) { 267 TEST(SimulateCrash, ChildDumpWithoutCrashingWOW64) {
268 #ifndef NDEBUG 268 #ifndef NDEBUG
269 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL("..\\..\\out\\Debug")); 269 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL("..\\..\\out\\Debug"));
270 #else 270 #else
271 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL("..\\..\\out\\Release")); 271 TestDumpWithoutCrashingChild(FILE_PATH_LITERAL("..\\..\\out\\Release"));
272 #endif 272 #endif
273 } 273 }
274 #endif // ARCH_CPU_64_BITS 274 #endif // ARCH_CPU_64_BITS
275 275
276 } // namespace 276 } // namespace
277 } // namespace test 277 } // namespace test
278 } // namespace crashpad 278 } // namespace crashpad
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698