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 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
165 | 165 |
166 TEST(MinidumpMiscInfoWriter, Empty) { | 166 TEST(MinidumpMiscInfoWriter, Empty) { |
167 MinidumpFileWriter minidump_file_writer; | 167 MinidumpFileWriter minidump_file_writer; |
168 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 168 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
169 | 169 |
170 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 170 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
171 | 171 |
172 StringFileWriter file_writer; | 172 StringFileWriter file_writer; |
173 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 173 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
174 | 174 |
175 const MINIDUMP_MISC_INFO* observed; | 175 const MINIDUMP_MISC_INFO* observed = nullptr; |
176 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 176 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
177 | 177 |
178 MINIDUMP_MISC_INFO expected = {}; | 178 MINIDUMP_MISC_INFO expected = {}; |
179 | 179 |
180 ExpectMiscInfoEqual(&expected, observed); | 180 ExpectMiscInfoEqual(&expected, observed); |
181 } | 181 } |
182 | 182 |
183 TEST(MinidumpMiscInfoWriter, ProcessId) { | 183 TEST(MinidumpMiscInfoWriter, ProcessId) { |
184 MinidumpFileWriter minidump_file_writer; | 184 MinidumpFileWriter minidump_file_writer; |
185 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 185 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
186 | 186 |
187 const uint32_t kProcessId = 12345; | 187 const uint32_t kProcessId = 12345; |
188 | 188 |
189 misc_info_writer->SetProcessID(kProcessId); | 189 misc_info_writer->SetProcessID(kProcessId); |
190 | 190 |
191 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 191 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
192 | 192 |
193 StringFileWriter file_writer; | 193 StringFileWriter file_writer; |
194 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 194 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
195 | 195 |
196 const MINIDUMP_MISC_INFO* observed; | 196 const MINIDUMP_MISC_INFO* observed = nullptr; |
197 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 197 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
198 | 198 |
199 MINIDUMP_MISC_INFO expected = {}; | 199 MINIDUMP_MISC_INFO expected = {}; |
200 expected.Flags1 = MINIDUMP_MISC1_PROCESS_ID; | 200 expected.Flags1 = MINIDUMP_MISC1_PROCESS_ID; |
201 expected.ProcessId = kProcessId; | 201 expected.ProcessId = kProcessId; |
202 | 202 |
203 ExpectMiscInfoEqual(&expected, observed); | 203 ExpectMiscInfoEqual(&expected, observed); |
204 } | 204 } |
205 | 205 |
206 TEST(MinidumpMiscInfoWriter, ProcessTimes) { | 206 TEST(MinidumpMiscInfoWriter, ProcessTimes) { |
207 MinidumpFileWriter minidump_file_writer; | 207 MinidumpFileWriter minidump_file_writer; |
208 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 208 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
209 | 209 |
210 const time_t kProcessCreateTime = 0x15252f00; | 210 const time_t kProcessCreateTime = 0x15252f00; |
211 const uint32_t kProcessUserTime = 10; | 211 const uint32_t kProcessUserTime = 10; |
212 const uint32_t kProcessKernelTime = 5; | 212 const uint32_t kProcessKernelTime = 5; |
213 | 213 |
214 misc_info_writer->SetProcessTimes( | 214 misc_info_writer->SetProcessTimes( |
215 kProcessCreateTime, kProcessUserTime, kProcessKernelTime); | 215 kProcessCreateTime, kProcessUserTime, kProcessKernelTime); |
216 | 216 |
217 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 217 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
218 | 218 |
219 StringFileWriter file_writer; | 219 StringFileWriter file_writer; |
220 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 220 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
221 | 221 |
222 const MINIDUMP_MISC_INFO* observed; | 222 const MINIDUMP_MISC_INFO* observed = nullptr; |
223 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 223 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
224 | 224 |
225 MINIDUMP_MISC_INFO expected = {}; | 225 MINIDUMP_MISC_INFO expected = {}; |
226 expected.Flags1 = MINIDUMP_MISC1_PROCESS_TIMES; | 226 expected.Flags1 = MINIDUMP_MISC1_PROCESS_TIMES; |
227 expected.ProcessCreateTime = kProcessCreateTime; | 227 expected.ProcessCreateTime = kProcessCreateTime; |
228 expected.ProcessUserTime = kProcessUserTime; | 228 expected.ProcessUserTime = kProcessUserTime; |
229 expected.ProcessKernelTime = kProcessKernelTime; | 229 expected.ProcessKernelTime = kProcessKernelTime; |
230 | 230 |
231 ExpectMiscInfoEqual(&expected, observed); | 231 ExpectMiscInfoEqual(&expected, observed); |
232 } | 232 } |
(...skipping 12 matching lines...) Expand all Loading... |
245 kProcessorCurrentMhz, | 245 kProcessorCurrentMhz, |
246 kProcessorMhzLimit, | 246 kProcessorMhzLimit, |
247 kProcessorMaxIdleState, | 247 kProcessorMaxIdleState, |
248 kProcessorCurrentIdleState); | 248 kProcessorCurrentIdleState); |
249 | 249 |
250 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 250 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
251 | 251 |
252 StringFileWriter file_writer; | 252 StringFileWriter file_writer; |
253 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 253 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
254 | 254 |
255 const MINIDUMP_MISC_INFO_2* observed; | 255 const MINIDUMP_MISC_INFO_2* observed = nullptr; |
256 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 256 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
257 | 257 |
258 MINIDUMP_MISC_INFO_2 expected = {}; | 258 MINIDUMP_MISC_INFO_2 expected = {}; |
259 expected.Flags1 = MINIDUMP_MISC1_PROCESSOR_POWER_INFO; | 259 expected.Flags1 = MINIDUMP_MISC1_PROCESSOR_POWER_INFO; |
260 expected.ProcessorMaxMhz = kProcessorMaxMhz; | 260 expected.ProcessorMaxMhz = kProcessorMaxMhz; |
261 expected.ProcessorCurrentMhz = kProcessorCurrentMhz; | 261 expected.ProcessorCurrentMhz = kProcessorCurrentMhz; |
262 expected.ProcessorMhzLimit = kProcessorMhzLimit; | 262 expected.ProcessorMhzLimit = kProcessorMhzLimit; |
263 expected.ProcessorMaxIdleState = kProcessorMaxIdleState; | 263 expected.ProcessorMaxIdleState = kProcessorMaxIdleState; |
264 expected.ProcessorCurrentIdleState = kProcessorCurrentIdleState; | 264 expected.ProcessorCurrentIdleState = kProcessorCurrentIdleState; |
265 | 265 |
266 ExpectMiscInfoEqual(&expected, observed); | 266 ExpectMiscInfoEqual(&expected, observed); |
267 } | 267 } |
268 | 268 |
269 TEST(MinidumpMiscInfoWriter, ProcessIntegrityLevel) { | 269 TEST(MinidumpMiscInfoWriter, ProcessIntegrityLevel) { |
270 MinidumpFileWriter minidump_file_writer; | 270 MinidumpFileWriter minidump_file_writer; |
271 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 271 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
272 | 272 |
273 const uint32_t kProcessIntegrityLevel = 0x2000; | 273 const uint32_t kProcessIntegrityLevel = 0x2000; |
274 | 274 |
275 misc_info_writer->SetProcessIntegrityLevel(kProcessIntegrityLevel); | 275 misc_info_writer->SetProcessIntegrityLevel(kProcessIntegrityLevel); |
276 | 276 |
277 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 277 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
278 | 278 |
279 StringFileWriter file_writer; | 279 StringFileWriter file_writer; |
280 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 280 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
281 | 281 |
282 const MINIDUMP_MISC_INFO_3* observed; | 282 const MINIDUMP_MISC_INFO_3* observed = nullptr; |
283 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 283 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
284 | 284 |
285 MINIDUMP_MISC_INFO_3 expected = {}; | 285 MINIDUMP_MISC_INFO_3 expected = {}; |
286 expected.Flags1 = MINIDUMP_MISC3_PROCESS_INTEGRITY; | 286 expected.Flags1 = MINIDUMP_MISC3_PROCESS_INTEGRITY; |
287 expected.ProcessIntegrityLevel = kProcessIntegrityLevel; | 287 expected.ProcessIntegrityLevel = kProcessIntegrityLevel; |
288 | 288 |
289 ExpectMiscInfoEqual(&expected, observed); | 289 ExpectMiscInfoEqual(&expected, observed); |
290 } | 290 } |
291 | 291 |
292 TEST(MinidumpMiscInfoWriter, ProcessExecuteFlags) { | 292 TEST(MinidumpMiscInfoWriter, ProcessExecuteFlags) { |
293 MinidumpFileWriter minidump_file_writer; | 293 MinidumpFileWriter minidump_file_writer; |
294 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 294 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
295 | 295 |
296 const uint32_t kProcessExecuteFlags = 0x13579bdf; | 296 const uint32_t kProcessExecuteFlags = 0x13579bdf; |
297 | 297 |
298 misc_info_writer->SetProcessExecuteFlags(kProcessExecuteFlags); | 298 misc_info_writer->SetProcessExecuteFlags(kProcessExecuteFlags); |
299 | 299 |
300 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 300 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
301 | 301 |
302 StringFileWriter file_writer; | 302 StringFileWriter file_writer; |
303 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 303 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
304 | 304 |
305 const MINIDUMP_MISC_INFO_3* observed; | 305 const MINIDUMP_MISC_INFO_3* observed = nullptr; |
306 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 306 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
307 | 307 |
308 MINIDUMP_MISC_INFO_3 expected = {}; | 308 MINIDUMP_MISC_INFO_3 expected = {}; |
309 expected.Flags1 = MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS; | 309 expected.Flags1 = MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS; |
310 expected.ProcessExecuteFlags = kProcessExecuteFlags; | 310 expected.ProcessExecuteFlags = kProcessExecuteFlags; |
311 | 311 |
312 ExpectMiscInfoEqual(&expected, observed); | 312 ExpectMiscInfoEqual(&expected, observed); |
313 } | 313 } |
314 | 314 |
315 TEST(MinidumpMiscInfoWriter, ProtectedProcess) { | 315 TEST(MinidumpMiscInfoWriter, ProtectedProcess) { |
316 MinidumpFileWriter minidump_file_writer; | 316 MinidumpFileWriter minidump_file_writer; |
317 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 317 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
318 | 318 |
319 const uint32_t kProtectedProcess = 1; | 319 const uint32_t kProtectedProcess = 1; |
320 | 320 |
321 misc_info_writer->SetProtectedProcess(kProtectedProcess); | 321 misc_info_writer->SetProtectedProcess(kProtectedProcess); |
322 | 322 |
323 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 323 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
324 | 324 |
325 StringFileWriter file_writer; | 325 StringFileWriter file_writer; |
326 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 326 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
327 | 327 |
328 const MINIDUMP_MISC_INFO_3* observed; | 328 const MINIDUMP_MISC_INFO_3* observed = nullptr; |
329 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 329 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
330 | 330 |
331 MINIDUMP_MISC_INFO_3 expected = {}; | 331 MINIDUMP_MISC_INFO_3 expected = {}; |
332 expected.Flags1 = MINIDUMP_MISC3_PROTECTED_PROCESS; | 332 expected.Flags1 = MINIDUMP_MISC3_PROTECTED_PROCESS; |
333 expected.ProtectedProcess = kProtectedProcess; | 333 expected.ProtectedProcess = kProtectedProcess; |
334 | 334 |
335 ExpectMiscInfoEqual(&expected, observed); | 335 ExpectMiscInfoEqual(&expected, observed); |
336 } | 336 } |
337 | 337 |
338 TEST(MinidumpMiscInfoWriter, TimeZone) { | 338 TEST(MinidumpMiscInfoWriter, TimeZone) { |
(...skipping 16 matching lines...) Expand all Loading... |
355 kStandardBias, | 355 kStandardBias, |
356 kDaylightName, | 356 kDaylightName, |
357 kDaylightDate, | 357 kDaylightDate, |
358 kDaylightBias); | 358 kDaylightBias); |
359 | 359 |
360 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 360 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
361 | 361 |
362 StringFileWriter file_writer; | 362 StringFileWriter file_writer; |
363 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 363 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
364 | 364 |
365 const MINIDUMP_MISC_INFO_3* observed; | 365 const MINIDUMP_MISC_INFO_3* observed = nullptr; |
366 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 366 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
367 | 367 |
368 MINIDUMP_MISC_INFO_3 expected = {}; | 368 MINIDUMP_MISC_INFO_3 expected = {}; |
369 expected.Flags1 = MINIDUMP_MISC3_TIMEZONE; | 369 expected.Flags1 = MINIDUMP_MISC3_TIMEZONE; |
370 expected.TimeZoneId = kTimeZoneId; | 370 expected.TimeZoneId = kTimeZoneId; |
371 expected.TimeZone.Bias = kBias; | 371 expected.TimeZone.Bias = kBias; |
372 base::string16 standard_name_utf16 = base::UTF8ToUTF16(kStandardName); | 372 base::string16 standard_name_utf16 = base::UTF8ToUTF16(kStandardName); |
373 c16lcpy(expected.TimeZone.StandardName, | 373 c16lcpy(expected.TimeZone.StandardName, |
374 standard_name_utf16.c_str(), | 374 standard_name_utf16.c_str(), |
375 arraysize(expected.TimeZone.StandardName)); | 375 arraysize(expected.TimeZone.StandardName)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
415 kStandardBias, | 415 kStandardBias, |
416 daylight_name, | 416 daylight_name, |
417 kSystemTimeZero, | 417 kSystemTimeZero, |
418 kDaylightBias); | 418 kDaylightBias); |
419 | 419 |
420 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 420 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
421 | 421 |
422 StringFileWriter file_writer; | 422 StringFileWriter file_writer; |
423 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 423 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
424 | 424 |
425 const MINIDUMP_MISC_INFO_3* observed; | 425 const MINIDUMP_MISC_INFO_3* observed = nullptr; |
426 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 426 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
427 | 427 |
428 MINIDUMP_MISC_INFO_3 expected = {}; | 428 MINIDUMP_MISC_INFO_3 expected = {}; |
429 expected.Flags1 = MINIDUMP_MISC3_TIMEZONE; | 429 expected.Flags1 = MINIDUMP_MISC3_TIMEZONE; |
430 expected.TimeZoneId = kTimeZoneId; | 430 expected.TimeZoneId = kTimeZoneId; |
431 expected.TimeZone.Bias = kBias; | 431 expected.TimeZone.Bias = kBias; |
432 base::string16 standard_name_utf16 = base::UTF8ToUTF16(standard_name); | 432 base::string16 standard_name_utf16 = base::UTF8ToUTF16(standard_name); |
433 c16lcpy(expected.TimeZone.StandardName, | 433 c16lcpy(expected.TimeZone.StandardName, |
434 standard_name_utf16.c_str(), | 434 standard_name_utf16.c_str(), |
435 arraysize(expected.TimeZone.StandardName)); | 435 arraysize(expected.TimeZone.StandardName)); |
(...skipping 20 matching lines...) Expand all Loading... |
456 const char kBuildString[] = "build string"; | 456 const char kBuildString[] = "build string"; |
457 const char kDebugBuildString[] = "debug build string"; | 457 const char kDebugBuildString[] = "debug build string"; |
458 | 458 |
459 misc_info_writer->SetBuildString(kBuildString, kDebugBuildString); | 459 misc_info_writer->SetBuildString(kBuildString, kDebugBuildString); |
460 | 460 |
461 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 461 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
462 | 462 |
463 StringFileWriter file_writer; | 463 StringFileWriter file_writer; |
464 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 464 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
465 | 465 |
466 const MINIDUMP_MISC_INFO_4* observed; | 466 const MINIDUMP_MISC_INFO_4* observed = nullptr; |
467 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 467 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
468 | 468 |
469 MINIDUMP_MISC_INFO_4 expected = {}; | 469 MINIDUMP_MISC_INFO_4 expected = {}; |
470 expected.Flags1 = MINIDUMP_MISC4_BUILDSTRING; | 470 expected.Flags1 = MINIDUMP_MISC4_BUILDSTRING; |
471 base::string16 build_string_utf16 = base::UTF8ToUTF16(kBuildString); | 471 base::string16 build_string_utf16 = base::UTF8ToUTF16(kBuildString); |
472 c16lcpy(expected.BuildString, | 472 c16lcpy(expected.BuildString, |
473 build_string_utf16.c_str(), | 473 build_string_utf16.c_str(), |
474 arraysize(expected.BuildString)); | 474 arraysize(expected.BuildString)); |
475 base::string16 debug_build_string_utf16 = | 475 base::string16 debug_build_string_utf16 = |
476 base::UTF8ToUTF16(kDebugBuildString); | 476 base::UTF8ToUTF16(kDebugBuildString); |
(...skipping 15 matching lines...) Expand all Loading... |
492 std::string build_string(arraysize(tmp.BuildString) + 1, 'B'); | 492 std::string build_string(arraysize(tmp.BuildString) + 1, 'B'); |
493 std::string debug_build_string(arraysize(tmp.DbgBldStr), 'D'); | 493 std::string debug_build_string(arraysize(tmp.DbgBldStr), 'D'); |
494 | 494 |
495 misc_info_writer->SetBuildString(build_string, debug_build_string); | 495 misc_info_writer->SetBuildString(build_string, debug_build_string); |
496 | 496 |
497 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 497 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
498 | 498 |
499 StringFileWriter file_writer; | 499 StringFileWriter file_writer; |
500 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 500 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
501 | 501 |
502 const MINIDUMP_MISC_INFO_4* observed; | 502 const MINIDUMP_MISC_INFO_4* observed = nullptr; |
503 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 503 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
504 | 504 |
505 MINIDUMP_MISC_INFO_4 expected = {}; | 505 MINIDUMP_MISC_INFO_4 expected = {}; |
506 expected.Flags1 = MINIDUMP_MISC4_BUILDSTRING; | 506 expected.Flags1 = MINIDUMP_MISC4_BUILDSTRING; |
507 base::string16 build_string_utf16 = base::UTF8ToUTF16(build_string); | 507 base::string16 build_string_utf16 = base::UTF8ToUTF16(build_string); |
508 c16lcpy(expected.BuildString, | 508 c16lcpy(expected.BuildString, |
509 build_string_utf16.c_str(), | 509 build_string_utf16.c_str(), |
510 arraysize(expected.BuildString)); | 510 arraysize(expected.BuildString)); |
511 base::string16 debug_build_string_utf16 = | 511 base::string16 debug_build_string_utf16 = |
512 base::UTF8ToUTF16(debug_build_string); | 512 base::UTF8ToUTF16(debug_build_string); |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 kDaylightName, | 562 kDaylightName, |
563 kSystemTimeZero, | 563 kSystemTimeZero, |
564 kDaylightBias); | 564 kDaylightBias); |
565 misc_info_writer->SetBuildString(kBuildString, kDebugBuildString); | 565 misc_info_writer->SetBuildString(kBuildString, kDebugBuildString); |
566 | 566 |
567 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 567 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
568 | 568 |
569 StringFileWriter file_writer; | 569 StringFileWriter file_writer; |
570 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 570 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
571 | 571 |
572 const MINIDUMP_MISC_INFO_4* observed; | 572 const MINIDUMP_MISC_INFO_4* observed = nullptr; |
573 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); | 573 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &observed)); |
574 | 574 |
575 MINIDUMP_MISC_INFO_4 expected = {}; | 575 MINIDUMP_MISC_INFO_4 expected = {}; |
576 expected.Flags1 = | 576 expected.Flags1 = |
577 MINIDUMP_MISC1_PROCESS_ID | MINIDUMP_MISC1_PROCESS_TIMES | | 577 MINIDUMP_MISC1_PROCESS_ID | MINIDUMP_MISC1_PROCESS_TIMES | |
578 MINIDUMP_MISC1_PROCESSOR_POWER_INFO | MINIDUMP_MISC3_PROCESS_INTEGRITY | | 578 MINIDUMP_MISC1_PROCESSOR_POWER_INFO | MINIDUMP_MISC3_PROCESS_INTEGRITY | |
579 MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS | MINIDUMP_MISC3_PROTECTED_PROCESS | | 579 MINIDUMP_MISC3_PROCESS_EXECUTE_FLAGS | MINIDUMP_MISC3_PROTECTED_PROCESS | |
580 MINIDUMP_MISC3_TIMEZONE | MINIDUMP_MISC4_BUILDSTRING; | 580 MINIDUMP_MISC3_TIMEZONE | MINIDUMP_MISC4_BUILDSTRING; |
581 expected.ProcessId = kProcessId; | 581 expected.ProcessId = kProcessId; |
582 expected.ProcessCreateTime = kProcessCreateTime; | 582 expected.ProcessCreateTime = kProcessCreateTime; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
702 | 702 |
703 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); | 703 auto misc_info_writer = make_scoped_ptr(new MinidumpMiscInfoWriter()); |
704 misc_info_writer->InitializeFromSnapshot(&process_snapshot); | 704 misc_info_writer->InitializeFromSnapshot(&process_snapshot); |
705 | 705 |
706 MinidumpFileWriter minidump_file_writer; | 706 MinidumpFileWriter minidump_file_writer; |
707 minidump_file_writer.AddStream(misc_info_writer.Pass()); | 707 minidump_file_writer.AddStream(misc_info_writer.Pass()); |
708 | 708 |
709 StringFileWriter file_writer; | 709 StringFileWriter file_writer; |
710 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); | 710 ASSERT_TRUE(minidump_file_writer.WriteEverything(&file_writer)); |
711 | 711 |
712 const MINIDUMP_MISC_INFO_4* misc_info; | 712 const MINIDUMP_MISC_INFO_4* misc_info = nullptr; |
713 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &misc_info)); | 713 ASSERT_NO_FATAL_FAILURE(GetMiscInfoStream(file_writer.string(), &misc_info)); |
714 | 714 |
715 ExpectMiscInfoEqual(&expect_misc_info, misc_info); | 715 ExpectMiscInfoEqual(&expect_misc_info, misc_info); |
716 } | 716 } |
717 | 717 |
718 } // namespace | 718 } // namespace |
719 } // namespace test | 719 } // namespace test |
720 } // namespace crashpad | 720 } // namespace crashpad |
OLD | NEW |