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

Unified Diff: chrome/browser/metrics/thread_watcher_unittest.cc

Issue 2034713002: Migrate WaitableEvent to enum-based constructor in thread_watcher_unittest.cc (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@chrome
Patch Set: strlen = arraysize-1 + don't use constexpr for static class members Created 4 years, 7 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/metrics/thread_watcher_unittest.cc
diff --git a/chrome/browser/metrics/thread_watcher_unittest.cc b/chrome/browser/metrics/thread_watcher_unittest.cc
index fbe49751eff2462d3f146d1e58f9908834e92864..dbe6a5c6d97a2ca2b00b9cdd66175933cdd098ae 100644
--- a/chrome/browser/metrics/thread_watcher_unittest.cc
+++ b/chrome/browser/metrics/thread_watcher_unittest.cc
@@ -245,14 +245,12 @@ class ThreadWatcherTest : public ::testing::Test {
public:
static const TimeDelta kSleepTime;
static const TimeDelta kUnresponsiveTime;
- static const BrowserThread::ID io_thread_id;
- static const std::string io_thread_name;
- static const BrowserThread::ID db_thread_id;
- static const std::string db_thread_name;
- static const std::string crash_on_hang_seconds;
- static const std::string crash_on_hang_thread_names;
- static const std::string thread_names_and_live_threshold;
- static const std::string crash_on_hang_thread_data;
+ static const char kIOThreadName[];
+ static const char kDBThreadName[];
+ static const char kCrashOnHangThreadNames[];
+ static const char kThreadNamesAndLiveThreshold[];
+ static const char kCrashOnHangThreadData[];
+
CustomThreadWatcher* io_watcher_;
CustomThreadWatcher* db_watcher_;
ThreadWatcherList* thread_watcher_list_;
@@ -281,14 +279,14 @@ class ThreadWatcherTest : public ::testing::Test {
thread_watcher_list_ = new ThreadWatcherList();
// Create thread watcher object for the IO thread.
- io_watcher_ = new CustomThreadWatcher(io_thread_id, io_thread_name,
+ io_watcher_ = new CustomThreadWatcher(BrowserThread::IO, kIOThreadName,
kSleepTime, kUnresponsiveTime);
- EXPECT_EQ(io_watcher_, thread_watcher_list_->Find(io_thread_id));
+ EXPECT_EQ(io_watcher_, thread_watcher_list_->Find(BrowserThread::IO));
// Create thread watcher object for the DB thread.
- db_watcher_ = new CustomThreadWatcher(
- db_thread_id, db_thread_name, kSleepTime, kUnresponsiveTime);
- EXPECT_EQ(db_watcher_, thread_watcher_list_->Find(db_thread_id));
+ db_watcher_ = new CustomThreadWatcher(BrowserThread::DB, kDBThreadName,
+ kSleepTime, kUnresponsiveTime);
+ EXPECT_EQ(db_watcher_, thread_watcher_list_->Find(BrowserThread::DB));
{
base::AutoLock lock(lock_);
@@ -325,28 +323,26 @@ class ThreadWatcherTest : public ::testing::Test {
std::unique_ptr<content::TestBrowserThread> db_thread_;
std::unique_ptr<content::TestBrowserThread> io_thread_;
std::unique_ptr<WatchDogThread> watchdog_thread_;
+
+ DISALLOW_COPY_AND_ASSIGN(ThreadWatcherTest);
};
// Define static constants.
-const TimeDelta ThreadWatcherTest::kSleepTime =
- TimeDelta::FromMilliseconds(50);
+const TimeDelta ThreadWatcherTest::kSleepTime = TimeDelta::FromMilliseconds(50);
const TimeDelta ThreadWatcherTest::kUnresponsiveTime =
TimeDelta::FromMilliseconds(500);
-const BrowserThread::ID ThreadWatcherTest::io_thread_id = BrowserThread::IO;
-const std::string ThreadWatcherTest::io_thread_name = "IO";
-const BrowserThread::ID ThreadWatcherTest::db_thread_id = BrowserThread::DB;
-const std::string ThreadWatcherTest::db_thread_name = "DB";
-const std::string ThreadWatcherTest::crash_on_hang_thread_names = "UI,IO";
-const std::string ThreadWatcherTest::thread_names_and_live_threshold =
- "UI:4,IO:4";
-const std::string ThreadWatcherTest::crash_on_hang_thread_data =
+const char ThreadWatcherTest::kIOThreadName[] = "IO";
+const char ThreadWatcherTest::kDBThreadName[] = "DB";
+const char ThreadWatcherTest::kCrashOnHangThreadNames[] = "UI,IO";
+const char ThreadWatcherTest::kThreadNamesAndLiveThreshold[] = "UI:4,IO:4";
+const char ThreadWatcherTest::kCrashOnHangThreadData[] =
"UI:5:12,IO:5:12,FILE:5:12";
TEST_F(ThreadWatcherTest, ThreadNamesOnlyArgs) {
// Setup command_line arguments.
base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
command_line.AppendSwitchASCII(switches::kCrashOnHangThreads,
- crash_on_hang_thread_names);
+ kCrashOnHangThreadNames);
// Parse command_line arguments.
ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
@@ -356,7 +352,9 @@ TEST_F(ThreadWatcherTest, ThreadNamesOnlyArgs) {
&crash_on_hang_threads);
// Verify the data.
- base::StringTokenizer tokens(crash_on_hang_thread_names, ",");
+ base::CStringTokenizer tokens(
+ kCrashOnHangThreadNames,
+ kCrashOnHangThreadNames + (arraysize(kCrashOnHangThreadNames) - 1), ",");
while (tokens.GetNext()) {
std::vector<base::StringPiece> values = base::SplitStringPiece(
tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
@@ -375,7 +373,7 @@ TEST_F(ThreadWatcherTest, ThreadNamesAndLiveThresholdArgs) {
// Setup command_line arguments.
base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
command_line.AppendSwitchASCII(switches::kCrashOnHangThreads,
- thread_names_and_live_threshold);
+ kThreadNamesAndLiveThreshold);
// Parse command_line arguments.
ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
@@ -385,7 +383,11 @@ TEST_F(ThreadWatcherTest, ThreadNamesAndLiveThresholdArgs) {
&crash_on_hang_threads);
// Verify the data.
- base::StringTokenizer tokens(thread_names_and_live_threshold, ",");
+ base::CStringTokenizer tokens(
+ kThreadNamesAndLiveThreshold,
+ kThreadNamesAndLiveThreshold +
+ (arraysize(kThreadNamesAndLiveThreshold) - 1),
+ ",");
while (tokens.GetNext()) {
std::vector<base::StringPiece> values = base::SplitStringPiece(
tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
@@ -404,7 +406,7 @@ TEST_F(ThreadWatcherTest, CrashOnHangThreadsAllArgs) {
// Setup command_line arguments.
base::CommandLine command_line(base::CommandLine::NO_PROGRAM);
command_line.AppendSwitchASCII(switches::kCrashOnHangThreads,
- crash_on_hang_thread_data);
+ kCrashOnHangThreadData);
// Parse command_line arguments.
ThreadWatcherList::CrashOnHangThreadMap crash_on_hang_threads;
@@ -414,7 +416,9 @@ TEST_F(ThreadWatcherTest, CrashOnHangThreadsAllArgs) {
&crash_on_hang_threads);
// Verify the data.
- base::StringTokenizer tokens(crash_on_hang_thread_data, ",");
+ base::CStringTokenizer tokens(
+ kCrashOnHangThreadData,
+ kCrashOnHangThreadData + (arraysize(kCrashOnHangThreadData) - 1), ",");
while (tokens.GetNext()) {
std::vector<base::StringPiece> values = base::SplitStringPiece(
tokens.token_piece(), ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
@@ -440,15 +444,15 @@ TEST_F(ThreadWatcherTest, CrashOnHangThreadsAllArgs) {
// TearDown, all thread watcher objects will be deleted.
TEST_F(ThreadWatcherTest, Registration) {
// Check ThreadWatcher object has all correct parameters.
- EXPECT_EQ(io_thread_id, io_watcher_->thread_id());
- EXPECT_EQ(io_thread_name, io_watcher_->thread_name());
+ EXPECT_EQ(BrowserThread::IO, io_watcher_->thread_id());
+ EXPECT_EQ(kIOThreadName, io_watcher_->thread_name());
EXPECT_EQ(kSleepTime, io_watcher_->sleep_time());
EXPECT_EQ(kUnresponsiveTime, io_watcher_->unresponsive_time());
EXPECT_FALSE(io_watcher_->active());
// Check ThreadWatcher object of watched DB thread has correct data.
- EXPECT_EQ(db_thread_id, db_watcher_->thread_id());
- EXPECT_EQ(db_thread_name, db_watcher_->thread_name());
+ EXPECT_EQ(BrowserThread::DB, db_watcher_->thread_id());
+ EXPECT_EQ(kDBThreadName, db_watcher_->thread_name());
EXPECT_EQ(kSleepTime, db_watcher_->sleep_time());
EXPECT_EQ(kUnresponsiveTime, db_watcher_->unresponsive_time());
EXPECT_FALSE(db_watcher_->active());
@@ -502,11 +506,9 @@ TEST_F(ThreadWatcherTest, ThreadNotResponding) {
// It is safe to use base::Unretained because test is waiting for the method
// to finish.
BrowserThread::PostTask(
- io_thread_id,
- FROM_HERE,
+ BrowserThread::IO, FROM_HERE,
base::Bind(&CustomThreadWatcher::VeryLongMethod,
- base::Unretained(io_watcher_),
- kUnresponsiveTime * 10));
+ base::Unretained(io_watcher_), kUnresponsiveTime * 10));
// Activate thread watching.
WatchDogThread::PostTask(
@@ -587,11 +589,9 @@ TEST_F(ThreadWatcherTest, MultipleThreadsNotResponding) {
// It is safe ot use base::Unretained because test is waiting for the method
// to finish.
BrowserThread::PostTask(
- io_thread_id,
- FROM_HERE,
+ BrowserThread::IO, FROM_HERE,
base::Bind(&CustomThreadWatcher::VeryLongMethod,
- base::Unretained(io_watcher_),
- kUnresponsiveTime * 10));
+ base::Unretained(io_watcher_), kUnresponsiveTime * 10));
// Activate watching of DB thread.
WatchDogThread::PostTask(
@@ -778,7 +778,9 @@ class JankTimeBombTest : public ::testing::Test {
}
static void WaitForWatchDogThreadPostTask() {
- base::WaitableEvent watchdog_thread_event(false, false);
+ base::WaitableEvent watchdog_thread_event(
+ base::WaitableEvent::ResetPolicy::AUTOMATIC,
+ base::WaitableEvent::InitialState::NOT_SIGNALED);
PostAndWaitForWatchdogThread(&watchdog_thread_event);
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698