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

Side by Side Diff: chrome/browser/metrics/thread_watcher_unittest.cc

Issue 1240183002: Update SplitString calls in chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <math.h> 5 #include <math.h>
6 6
7 #include "base/basictypes.h" 7 #include "base/basictypes.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/location.h" 9 #include "base/location.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 345
346 // Parse command_line arguments. 346 // Parse command_line arguments.
347 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads; 347 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
348 uint32 unresponsive_threshold; 348 uint32 unresponsive_threshold;
349 ThreadWatcherList::ParseCommandLine(command_line, 349 ThreadWatcherList::ParseCommandLine(command_line,
350 &unresponsive_threshold, 350 &unresponsive_threshold,
351 &crash_on_hang_threads); 351 &crash_on_hang_threads);
352 352
353 // Verify the data. 353 // Verify the data.
354 base::StringTokenizer tokens(crash_on_hang_thread_names, ","); 354 base::StringTokenizer tokens(crash_on_hang_thread_names, ",");
355 std::vector<std::string> values;
356 while (tokens.GetNext()) { 355 while (tokens.GetNext()) {
357 const std::string& token = tokens.token(); 356 std::vector<base::StringPiece> values = base::SplitStringPiece(
358 base::SplitString(token, ':', &values); 357 tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
359 std::string thread_name = values[0]; 358 std::string thread_name = values[0].as_string();
360 359
361 ThreadWatcherList::CrashOnHangThreadMap::iterator it = 360 ThreadWatcherList::CrashOnHangThreadMap::iterator it =
362 crash_on_hang_threads.find(thread_name); 361 crash_on_hang_threads.find(thread_name);
363 bool crash_on_hang = (it != crash_on_hang_threads.end()); 362 bool crash_on_hang = (it != crash_on_hang_threads.end());
364 EXPECT_TRUE(crash_on_hang); 363 EXPECT_TRUE(crash_on_hang);
365 EXPECT_LT(0u, it->second.live_threads_threshold); 364 EXPECT_LT(0u, it->second.live_threads_threshold);
366 EXPECT_LT(0u, it->second.unresponsive_threshold); 365 EXPECT_LT(0u, it->second.unresponsive_threshold);
367 } 366 }
368 } 367 }
369 368
370 TEST_F(ThreadWatcherTest, ThreadNamesAndLiveThresholdArgs) { 369 TEST_F(ThreadWatcherTest, ThreadNamesAndLiveThresholdArgs) {
371 // Setup command_line arguments. 370 // Setup command_line arguments.
372 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); 371 base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
373 command_line.AppendSwitchASCII(switches::kCrashOnHangThreads, 372 command_line.AppendSwitchASCII(switches::kCrashOnHangThreads,
374 thread_names_and_live_threshold); 373 thread_names_and_live_threshold);
375 374
376 // Parse command_line arguments. 375 // Parse command_line arguments.
377 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads; 376 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
378 uint32 unresponsive_threshold; 377 uint32 unresponsive_threshold;
379 ThreadWatcherList::ParseCommandLine(command_line, 378 ThreadWatcherList::ParseCommandLine(command_line,
380 &unresponsive_threshold, 379 &unresponsive_threshold,
381 &crash_on_hang_threads); 380 &crash_on_hang_threads);
382 381
383 // Verify the data. 382 // Verify the data.
384 base::StringTokenizer tokens(thread_names_and_live_threshold, ","); 383 base::StringTokenizer tokens(thread_names_and_live_threshold, ",");
385 std::vector<std::string> values;
386 while (tokens.GetNext()) { 384 while (tokens.GetNext()) {
387 const std::string& token = tokens.token(); 385 std::vector<base::StringPiece> values = base::SplitStringPiece(
388 base::SplitString(token, ':', &values); 386 tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
389 std::string thread_name = values[0]; 387 std::string thread_name = values[0].as_string();
390 388
391 ThreadWatcherList::CrashOnHangThreadMap::iterator it = 389 ThreadWatcherList::CrashOnHangThreadMap::iterator it =
392 crash_on_hang_threads.find(thread_name); 390 crash_on_hang_threads.find(thread_name);
393 bool crash_on_hang = (it != crash_on_hang_threads.end()); 391 bool crash_on_hang = (it != crash_on_hang_threads.end());
394 EXPECT_TRUE(crash_on_hang); 392 EXPECT_TRUE(crash_on_hang);
395 EXPECT_EQ(4u, it->second.live_threads_threshold); 393 EXPECT_EQ(4u, it->second.live_threads_threshold);
396 EXPECT_LT(0u, it->second.unresponsive_threshold); 394 EXPECT_LT(0u, it->second.unresponsive_threshold);
397 } 395 }
398 } 396 }
399 397
400 TEST_F(ThreadWatcherTest, CrashOnHangThreadsAllArgs) { 398 TEST_F(ThreadWatcherTest, CrashOnHangThreadsAllArgs) {
401 // Setup command_line arguments. 399 // Setup command_line arguments.
402 base::CommandLine command_line(base::CommandLine::NO_PROGRAM); 400 base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
403 command_line.AppendSwitchASCII(switches::kCrashOnHangThreads, 401 command_line.AppendSwitchASCII(switches::kCrashOnHangThreads,
404 crash_on_hang_thread_data); 402 crash_on_hang_thread_data);
405 403
406 // Parse command_line arguments. 404 // Parse command_line arguments.
407 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads; 405 ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
408 uint32 unresponsive_threshold; 406 uint32 unresponsive_threshold;
409 ThreadWatcherList::ParseCommandLine(command_line, 407 ThreadWatcherList::ParseCommandLine(command_line,
410 &unresponsive_threshold, 408 &unresponsive_threshold,
411 &crash_on_hang_threads); 409 &crash_on_hang_threads);
412 410
413 // Verify the data. 411 // Verify the data.
414 base::StringTokenizer tokens(crash_on_hang_thread_data, ","); 412 base::StringTokenizer tokens(crash_on_hang_thread_data, ",");
415 std::vector<std::string> values;
416 while (tokens.GetNext()) { 413 while (tokens.GetNext()) {
417 const std::string& token = tokens.token(); 414 std::vector<base::StringPiece> values = base::SplitStringPiece(
418 base::SplitString(token, ':', &values); 415 tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
419 std::string thread_name = values[0]; 416 std::string thread_name = values[0].as_string();
420 417
421 ThreadWatcherList::CrashOnHangThreadMap::iterator it = 418 ThreadWatcherList::CrashOnHangThreadMap::iterator it =
422 crash_on_hang_threads.find(thread_name); 419 crash_on_hang_threads.find(thread_name);
423 420
424 bool crash_on_hang = (it != crash_on_hang_threads.end()); 421 bool crash_on_hang = (it != crash_on_hang_threads.end());
425 EXPECT_TRUE(crash_on_hang); 422 EXPECT_TRUE(crash_on_hang);
426 423
427 uint32 crash_live_threads_threshold = it->second.live_threads_threshold; 424 uint32 crash_live_threads_threshold = it->second.live_threads_threshold;
428 EXPECT_EQ(5u, crash_live_threads_threshold); 425 EXPECT_EQ(5u, crash_live_threads_threshold);
429 426
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after
728 message_loop_for_ui.task_runner()->PostDelayedTask( 725 message_loop_for_ui.task_runner()->PostDelayedTask(
729 FROM_HERE, message_loop_for_ui.QuitClosure(), 726 FROM_HERE, message_loop_for_ui.QuitClosure(),
730 base::TimeDelta::FromSeconds( 727 base::TimeDelta::FromSeconds(
731 ThreadWatcherList::g_initialize_delay_seconds)); 728 ThreadWatcherList::g_initialize_delay_seconds));
732 message_loop_for_ui.Run(); 729 message_loop_for_ui.Run();
733 730
734 CheckState(false /* has_thread_watcher_list */, 731 CheckState(false /* has_thread_watcher_list */,
735 true /* stopped */, 732 true /* stopped */,
736 "Stopped"); 733 "Stopped");
737 } 734 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/thread_watcher.cc ('k') | chrome/browser/metrics/variations/variations_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698