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

Side by Side Diff: base/simple_thread_unittest.cc

Issue 3056029: Move the number conversions from string_util to a new file.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « base/simple_thread.cc ('k') | base/string_number_conversions.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "base/atomic_sequence_num.h" 5 #include "base/atomic_sequence_num.h"
6 #include "base/lock.h" 6 #include "base/lock.h"
7 #include "base/simple_thread.h" 7 #include "base/simple_thread.h"
8 #include "base/string_number_conversions.h"
8 #include "base/string_util.h" 9 #include "base/string_util.h"
9 #include "base/waitable_event.h" 10 #include "base/waitable_event.h"
10 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
11 12
12 namespace { 13 namespace {
13 14
14 class SetIntRunner : public base::DelegateSimpleThread::Delegate { 15 class SetIntRunner : public base::DelegateSimpleThread::Delegate {
15 public: 16 public:
16 SetIntRunner(int* ptr, int val) : ptr_(ptr), val_(val) { } 17 SetIntRunner(int* ptr, int val) : ptr_(ptr), val_(val) { }
17 ~SetIntRunner() { } 18 ~SetIntRunner() { }
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 base::WaitableEvent event(true, false); 115 base::WaitableEvent event(true, false);
115 116
116 WaitEventRunner runner(&event); 117 WaitEventRunner runner(&event);
117 base::SimpleThread::Options options; 118 base::SimpleThread::Options options;
118 base::DelegateSimpleThread thread(&runner, "event_waiter", options); 119 base::DelegateSimpleThread thread(&runner, "event_waiter", options);
119 EXPECT_EQ(thread.name_prefix(), "event_waiter"); 120 EXPECT_EQ(thread.name_prefix(), "event_waiter");
120 EXPECT_FALSE(event.IsSignaled()); 121 EXPECT_FALSE(event.IsSignaled());
121 122
122 thread.Start(); 123 thread.Start();
123 EXPECT_EQ(thread.name_prefix(), "event_waiter"); 124 EXPECT_EQ(thread.name_prefix(), "event_waiter");
124 EXPECT_EQ(thread.name(), std::string("event_waiter/") + 125 EXPECT_EQ(thread.name(),
125 IntToString(thread.tid())); 126 std::string("event_waiter/") + base::IntToString(thread.tid()));
126 event.Wait(); 127 event.Wait();
127 128
128 EXPECT_TRUE(event.IsSignaled()); 129 EXPECT_TRUE(event.IsSignaled());
129 thread.Join(); 130 thread.Join();
130 131
131 // We keep the name and tid, even after the thread is gone. 132 // We keep the name and tid, even after the thread is gone.
132 EXPECT_EQ(thread.name_prefix(), "event_waiter"); 133 EXPECT_EQ(thread.name_prefix(), "event_waiter");
133 EXPECT_EQ(thread.name(), std::string("event_waiter/") + 134 EXPECT_EQ(thread.name(),
134 IntToString(thread.tid())); 135 std::string("event_waiter/") + base::IntToString(thread.tid()));
135 } 136 }
136 137
137 TEST(SimpleThreadTest, ThreadPool) { 138 TEST(SimpleThreadTest, ThreadPool) {
138 base::AtomicSequenceNumber seq; 139 base::AtomicSequenceNumber seq;
139 SeqRunner runner(&seq); 140 SeqRunner runner(&seq);
140 base::DelegateSimpleThreadPool pool("seq_runner", 10); 141 base::DelegateSimpleThreadPool pool("seq_runner", 10);
141 142
142 // Add work before we're running. 143 // Add work before we're running.
143 pool.AddWork(&runner, 300); 144 pool.AddWork(&runner, 300);
144 145
(...skipping 13 matching lines...) Expand all
158 base::WaitableEvent event(true, false); 159 base::WaitableEvent event(true, false);
159 // Changing 9 to 10, for example, would cause us JoinAll() to never return. 160 // Changing 9 to 10, for example, would cause us JoinAll() to never return.
160 VerifyPoolRunner verifier(&seq2, 9, &event); 161 VerifyPoolRunner verifier(&seq2, 9, &event);
161 pool.Start(); 162 pool.Start();
162 163
163 pool.AddWork(&verifier, 10); 164 pool.AddWork(&verifier, 10);
164 165
165 pool.JoinAll(); 166 pool.JoinAll();
166 EXPECT_EQ(seq2.GetNext(), 10); 167 EXPECT_EQ(seq2.GetNext(), 10);
167 } 168 }
OLDNEW
« no previous file with comments | « base/simple_thread.cc ('k') | base/string_number_conversions.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698