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

Side by Side Diff: base/task_scheduler/task_scheduler_impl_unittest.cc

Issue 2531883002: TaskScheduler: Set the IO allowed bit in TaskTracker::RunTask(). (Closed)
Patch Set: CR robliao #22 (reorder reset) Created 4 years 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/task_scheduler/task_scheduler_impl.h" 5 #include "base/task_scheduler/task_scheduler_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 return traits.priority() == TaskPriority::BACKGROUND ? BACKGROUND_WORKER_POOL 177 return traits.priority() == TaskPriority::BACKGROUND ? BACKGROUND_WORKER_POOL
178 : FOREGROUND_WORKER_POOL; 178 : FOREGROUND_WORKER_POOL;
179 } 179 }
180 180
181 class TaskSchedulerImplTest 181 class TaskSchedulerImplTest
182 : public testing::TestWithParam<TraitsExecutionModePair> { 182 : public testing::TestWithParam<TraitsExecutionModePair> {
183 protected: 183 protected:
184 TaskSchedulerImplTest() = default; 184 TaskSchedulerImplTest() = default;
185 185
186 void SetUp() override { 186 void SetUp() override {
187 using IORestriction = SchedulerWorkerPoolParams::IORestriction;
188 using StandbyThreadPolicy = SchedulerWorkerPoolParams::StandbyThreadPolicy; 187 using StandbyThreadPolicy = SchedulerWorkerPoolParams::StandbyThreadPolicy;
189 188
190 std::vector<SchedulerWorkerPoolParams> params_vector; 189 std::vector<SchedulerWorkerPoolParams> params_vector;
191 190
192 ASSERT_EQ(BACKGROUND_WORKER_POOL, params_vector.size()); 191 ASSERT_EQ(BACKGROUND_WORKER_POOL, params_vector.size());
193 params_vector.emplace_back("Background", ThreadPriority::BACKGROUND, 192 params_vector.emplace_back("Background", ThreadPriority::BACKGROUND,
194 IORestriction::DISALLOWED,
195 StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max()); 193 StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max());
196 194
197 ASSERT_EQ(BACKGROUND_FILE_IO_WORKER_POOL, params_vector.size()); 195 ASSERT_EQ(BACKGROUND_FILE_IO_WORKER_POOL, params_vector.size());
198 params_vector.emplace_back("BackgroundFileIO", ThreadPriority::BACKGROUND, 196 params_vector.emplace_back("BackgroundFileIO", ThreadPriority::BACKGROUND,
199 IORestriction::ALLOWED,
200 StandbyThreadPolicy::LAZY, 3U, TimeDelta::Max()); 197 StandbyThreadPolicy::LAZY, 3U, TimeDelta::Max());
201 198
202 ASSERT_EQ(FOREGROUND_WORKER_POOL, params_vector.size()); 199 ASSERT_EQ(FOREGROUND_WORKER_POOL, params_vector.size());
203 params_vector.emplace_back("Foreground", ThreadPriority::NORMAL, 200 params_vector.emplace_back("Foreground", ThreadPriority::NORMAL,
204 IORestriction::DISALLOWED,
205 StandbyThreadPolicy::LAZY, 4U, TimeDelta::Max()); 201 StandbyThreadPolicy::LAZY, 4U, TimeDelta::Max());
206 202
207 ASSERT_EQ(FOREGROUND_FILE_IO_WORKER_POOL, params_vector.size()); 203 ASSERT_EQ(FOREGROUND_FILE_IO_WORKER_POOL, params_vector.size());
208 params_vector.emplace_back( 204 params_vector.emplace_back("ForegroundFileIO", ThreadPriority::NORMAL,
209 "ForegroundFileIO", ThreadPriority::NORMAL, IORestriction::ALLOWED, 205 StandbyThreadPolicy::LAZY, 12U,
210 StandbyThreadPolicy::LAZY, 12U, TimeDelta::Max()); 206 TimeDelta::Max());
211 207
212 scheduler_ = TaskSchedulerImpl::Create(params_vector, 208 scheduler_ = TaskSchedulerImpl::Create(params_vector,
213 Bind(&GetThreadPoolIndexForTraits)); 209 Bind(&GetThreadPoolIndexForTraits));
214 ASSERT_TRUE(scheduler_); 210 ASSERT_TRUE(scheduler_);
215 } 211 }
216 212
217 void TearDown() override { scheduler_->JoinForTesting(); } 213 void TearDown() override { scheduler_->JoinForTesting(); }
218 214
219 std::unique_ptr<TaskSchedulerImpl> scheduler_; 215 std::unique_ptr<TaskSchedulerImpl> scheduler_;
220 216
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 thread->WaitForAllTasksToRun(); 273 thread->WaitForAllTasksToRun();
278 thread->Join(); 274 thread->Join();
279 } 275 }
280 } 276 }
281 277
282 // TODO(fdoray): Add tests with Sequences that move around worker pools once 278 // TODO(fdoray): Add tests with Sequences that move around worker pools once
283 // child TaskRunners are supported. 279 // child TaskRunners are supported.
284 280
285 } // namespace internal 281 } // namespace internal
286 } // namespace base 282 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698