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

Side by Side Diff: base/synchronization/lock_unittest.cc

Issue 614103004: replace 'virtual ... OVERRIDE' with '... override' (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: process base/ Created 6 years, 2 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 "base/synchronization/lock.h" 5 #include "base/synchronization/lock.h"
6 6
7 #include <stdlib.h> 7 #include <stdlib.h>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/threading/platform_thread.h" 10 #include "base/threading/platform_thread.h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 namespace base { 13 namespace base {
14 14
15 // Basic test to make sure that Acquire()/Release()/Try() don't crash ---------- 15 // Basic test to make sure that Acquire()/Release()/Try() don't crash ----------
16 16
17 class BasicLockTestThread : public PlatformThread::Delegate { 17 class BasicLockTestThread : public PlatformThread::Delegate {
18 public: 18 public:
19 explicit BasicLockTestThread(Lock* lock) : lock_(lock), acquired_(0) {} 19 explicit BasicLockTestThread(Lock* lock) : lock_(lock), acquired_(0) {}
20 20
21 virtual void ThreadMain() OVERRIDE { 21 void ThreadMain() override {
22 for (int i = 0; i < 10; i++) { 22 for (int i = 0; i < 10; i++) {
23 lock_->Acquire(); 23 lock_->Acquire();
24 acquired_++; 24 acquired_++;
25 lock_->Release(); 25 lock_->Release();
26 } 26 }
27 for (int i = 0; i < 10; i++) { 27 for (int i = 0; i < 10; i++) {
28 lock_->Acquire(); 28 lock_->Acquire();
29 acquired_++; 29 acquired_++;
30 PlatformThread::Sleep(TimeDelta::FromMilliseconds(rand() % 20)); 30 PlatformThread::Sleep(TimeDelta::FromMilliseconds(rand() % 20));
31 lock_->Release(); 31 lock_->Release();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 EXPECT_GE(acquired, 20); 86 EXPECT_GE(acquired, 20);
87 EXPECT_GE(thread.acquired(), 20); 87 EXPECT_GE(thread.acquired(), 20);
88 } 88 }
89 89
90 // Test that Try() works as expected ------------------------------------------- 90 // Test that Try() works as expected -------------------------------------------
91 91
92 class TryLockTestThread : public PlatformThread::Delegate { 92 class TryLockTestThread : public PlatformThread::Delegate {
93 public: 93 public:
94 explicit TryLockTestThread(Lock* lock) : lock_(lock), got_lock_(false) {} 94 explicit TryLockTestThread(Lock* lock) : lock_(lock), got_lock_(false) {}
95 95
96 virtual void ThreadMain() OVERRIDE { 96 void ThreadMain() override {
97 got_lock_ = lock_->Try(); 97 got_lock_ = lock_->Try();
98 if (got_lock_) 98 if (got_lock_)
99 lock_->Release(); 99 lock_->Release();
100 } 100 }
101 101
102 bool got_lock() const { return got_lock_; } 102 bool got_lock() const { return got_lock_; }
103 103
104 private: 104 private:
105 Lock* lock_; 105 Lock* lock_;
106 bool got_lock_; 106 bool got_lock_;
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 static void DoStuff(Lock* lock, int* value) { 155 static void DoStuff(Lock* lock, int* value) {
156 for (int i = 0; i < 40; i++) { 156 for (int i = 0; i < 40; i++) {
157 lock->Acquire(); 157 lock->Acquire();
158 int v = *value; 158 int v = *value;
159 PlatformThread::Sleep(TimeDelta::FromMilliseconds(rand() % 10)); 159 PlatformThread::Sleep(TimeDelta::FromMilliseconds(rand() % 10));
160 *value = v + 1; 160 *value = v + 1;
161 lock->Release(); 161 lock->Release();
162 } 162 }
163 } 163 }
164 164
165 virtual void ThreadMain() OVERRIDE { 165 void ThreadMain() override { DoStuff(lock_, value_); }
166 DoStuff(lock_, value_);
167 }
168 166
169 private: 167 private:
170 Lock* lock_; 168 Lock* lock_;
171 int* value_; 169 int* value_;
172 170
173 DISALLOW_COPY_AND_ASSIGN(MutexLockTestThread); 171 DISALLOW_COPY_AND_ASSIGN(MutexLockTestThread);
174 }; 172 };
175 173
176 TEST(LockTest, MutexTwoThreads) { 174 TEST(LockTest, MutexTwoThreads) {
177 Lock lock; 175 Lock lock;
(...skipping 29 matching lines...) Expand all
207 MutexLockTestThread::DoStuff(&lock, &value); 205 MutexLockTestThread::DoStuff(&lock, &value);
208 206
209 PlatformThread::Join(handle1); 207 PlatformThread::Join(handle1);
210 PlatformThread::Join(handle2); 208 PlatformThread::Join(handle2);
211 PlatformThread::Join(handle3); 209 PlatformThread::Join(handle3);
212 210
213 EXPECT_EQ(4 * 40, value); 211 EXPECT_EQ(4 * 40, value);
214 } 212 }
215 213
216 } // namespace base 214 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698