| OLD | NEW |
| 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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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; | 187 using IORestriction = SchedulerWorkerPoolParams::IORestriction; |
| 188 using StandbyThreadPolicy = SchedulerWorkerPoolParams::StandbyThreadPolicy; |
| 188 | 189 |
| 189 std::vector<SchedulerWorkerPoolParams> params_vector; | 190 std::vector<SchedulerWorkerPoolParams> params_vector; |
| 190 | 191 |
| 191 ASSERT_EQ(BACKGROUND_WORKER_POOL, params_vector.size()); | 192 ASSERT_EQ(BACKGROUND_WORKER_POOL, params_vector.size()); |
| 192 params_vector.emplace_back("Background", ThreadPriority::BACKGROUND, | 193 params_vector.emplace_back("Background", ThreadPriority::BACKGROUND, |
| 193 IORestriction::DISALLOWED, 1U, TimeDelta::Max()); | 194 IORestriction::DISALLOWED, |
| 195 StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max()); |
| 194 | 196 |
| 195 ASSERT_EQ(BACKGROUND_FILE_IO_WORKER_POOL, params_vector.size()); | 197 ASSERT_EQ(BACKGROUND_FILE_IO_WORKER_POOL, params_vector.size()); |
| 196 params_vector.emplace_back("BackgroundFileIO", ThreadPriority::BACKGROUND, | 198 params_vector.emplace_back("BackgroundFileIO", ThreadPriority::BACKGROUND, |
| 197 IORestriction::ALLOWED, 3U, TimeDelta::Max()); | 199 IORestriction::ALLOWED, |
| 200 StandbyThreadPolicy::LAZY, 3U, TimeDelta::Max()); |
| 198 | 201 |
| 199 ASSERT_EQ(FOREGROUND_WORKER_POOL, params_vector.size()); | 202 ASSERT_EQ(FOREGROUND_WORKER_POOL, params_vector.size()); |
| 200 params_vector.emplace_back("Foreground", ThreadPriority::NORMAL, | 203 params_vector.emplace_back("Foreground", ThreadPriority::NORMAL, |
| 201 IORestriction::DISALLOWED, 4U, TimeDelta::Max()); | 204 IORestriction::DISALLOWED, |
| 205 StandbyThreadPolicy::LAZY, 4U, TimeDelta::Max()); |
| 202 | 206 |
| 203 ASSERT_EQ(FOREGROUND_FILE_IO_WORKER_POOL, params_vector.size()); | 207 ASSERT_EQ(FOREGROUND_FILE_IO_WORKER_POOL, params_vector.size()); |
| 204 params_vector.emplace_back("ForegroundFileIO", ThreadPriority::NORMAL, | 208 params_vector.emplace_back( |
| 205 IORestriction::ALLOWED, 12U, TimeDelta::Max()); | 209 "ForegroundFileIO", ThreadPriority::NORMAL, IORestriction::ALLOWED, |
| 210 StandbyThreadPolicy::LAZY, 12U, TimeDelta::Max()); |
| 206 | 211 |
| 207 scheduler_ = TaskSchedulerImpl::Create(params_vector, | 212 scheduler_ = TaskSchedulerImpl::Create(params_vector, |
| 208 Bind(&GetThreadPoolIndexForTraits)); | 213 Bind(&GetThreadPoolIndexForTraits)); |
| 209 ASSERT_TRUE(scheduler_); | 214 ASSERT_TRUE(scheduler_); |
| 210 } | 215 } |
| 211 | 216 |
| 212 void TearDown() override { scheduler_->JoinForTesting(); } | 217 void TearDown() override { scheduler_->JoinForTesting(); } |
| 213 | 218 |
| 214 std::unique_ptr<TaskSchedulerImpl> scheduler_; | 219 std::unique_ptr<TaskSchedulerImpl> scheduler_; |
| 215 | 220 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 272 thread->WaitForAllTasksToRun(); | 277 thread->WaitForAllTasksToRun(); |
| 273 thread->Join(); | 278 thread->Join(); |
| 274 } | 279 } |
| 275 } | 280 } |
| 276 | 281 |
| 277 // TODO(fdoray): Add tests with Sequences that move around worker pools once | 282 // TODO(fdoray): Add tests with Sequences that move around worker pools once |
| 278 // child TaskRunners are supported. | 283 // child TaskRunners are supported. |
| 279 | 284 |
| 280 } // namespace internal | 285 } // namespace internal |
| 281 } // namespace base | 286 } // namespace base |
| OLD | NEW |