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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl_unittest.cc

Issue 2068853002: Rename SchedulerThreadPool* to SchedulerWorkerPool* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@rename1
Patch Set: CR Feedback fdoray@ Created 4 years, 6 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 | « base/task_scheduler/scheduler_worker_pool_impl.cc ('k') | base/task_scheduler/sequence.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
diff --git a/base/task_scheduler/scheduler_thread_pool_impl_unittest.cc b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
similarity index 77%
rename from base/task_scheduler/scheduler_thread_pool_impl_unittest.cc
rename to base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
index 15777400e6f3368c620485dfc7d71a91490cf8c5..81eead0e584f9d9e1fa81446a614adab0e589a23 100644
--- a/base/task_scheduler/scheduler_thread_pool_impl_unittest.cc
+++ b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/task_scheduler/scheduler_thread_pool_impl.h"
+#include "base/task_scheduler/scheduler_worker_pool_impl.h"
#include <stddef.h>
@@ -35,11 +35,11 @@ namespace base {
namespace internal {
namespace {
-const size_t kNumThreadsInThreadPool = 4;
+const size_t kNumWorkersInWorkerPool = 4;
const size_t kNumThreadsPostingTasks = 4;
const size_t kNumTasksPostedPerThread = 150;
-using IORestriction = SchedulerThreadPoolImpl::IORestriction;
+using IORestriction = SchedulerWorkerPoolImpl::IORestriction;
class TestDelayedTaskManager : public DelayedTaskManager {
public:
@@ -56,27 +56,27 @@ class TestDelayedTaskManager : public DelayedTaskManager {
DISALLOW_COPY_AND_ASSIGN(TestDelayedTaskManager);
};
-class TaskSchedulerThreadPoolImplTest
+class TaskSchedulerWorkerPoolImplTest
: public testing::TestWithParam<ExecutionMode> {
protected:
- TaskSchedulerThreadPoolImplTest() = default;
+ TaskSchedulerWorkerPoolImplTest() = default;
void SetUp() override {
- thread_pool_ = SchedulerThreadPoolImpl::Create(
- "TestThreadPoolWithFileIO", ThreadPriority::NORMAL,
- kNumThreadsInThreadPool, IORestriction::ALLOWED,
- Bind(&TaskSchedulerThreadPoolImplTest::ReEnqueueSequenceCallback,
+ worker_pool_ = SchedulerWorkerPoolImpl::Create(
+ "TestWorkerPoolWithFileIO", ThreadPriority::NORMAL,
+ kNumWorkersInWorkerPool, IORestriction::ALLOWED,
+ Bind(&TaskSchedulerWorkerPoolImplTest::ReEnqueueSequenceCallback,
Unretained(this)),
&task_tracker_, &delayed_task_manager_);
- ASSERT_TRUE(thread_pool_);
+ ASSERT_TRUE(worker_pool_);
}
void TearDown() override {
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
- thread_pool_->JoinForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
+ worker_pool_->JoinForTesting();
}
- std::unique_ptr<SchedulerThreadPoolImpl> thread_pool_;
+ std::unique_ptr<SchedulerWorkerPoolImpl> worker_pool_;
TaskTracker task_tracker_;
TestDelayedTaskManager delayed_task_manager_;
@@ -87,10 +87,10 @@ class TaskSchedulerThreadPoolImplTest
// TaskScheduler which would first determine which PriorityQueue the
// sequence must be re-enqueued.
const SequenceSortKey sort_key(sequence->GetSortKey());
- thread_pool_->ReEnqueueSequence(std::move(sequence), sort_key);
+ worker_pool_->ReEnqueueSequence(std::move(sequence), sort_key);
}
- DISALLOW_COPY_AND_ASSIGN(TaskSchedulerThreadPoolImplTest);
+ DISALLOW_COPY_AND_ASSIGN(TaskSchedulerWorkerPoolImplTest);
};
using PostNestedTask = test::TestTaskFactory::PostNestedTask;
@@ -102,23 +102,23 @@ class ThreadPostingTasks : public SimpleThread {
WAIT_FOR_ALL_THREADS_IDLE,
};
- // Constructs a thread that posts tasks to |thread_pool| through an
+ // Constructs a thread that posts tasks to |worker_pool| through an
// |execution_mode| task runner. If |wait_before_post_task| is
// WAIT_FOR_ALL_THREADS_IDLE, the thread waits until all worker threads in
- // |thread_pool| are idle before posting a new task. If |post_nested_task| is
+ // |worker_pool| are idle before posting a new task. If |post_nested_task| is
// YES, each task posted by this thread posts another task when it runs.
- ThreadPostingTasks(SchedulerThreadPoolImpl* thread_pool,
+ ThreadPostingTasks(SchedulerWorkerPoolImpl* worker_pool,
ExecutionMode execution_mode,
WaitBeforePostTask wait_before_post_task,
PostNestedTask post_nested_task)
: SimpleThread("ThreadPostingTasks"),
- thread_pool_(thread_pool),
+ worker_pool_(worker_pool),
wait_before_post_task_(wait_before_post_task),
post_nested_task_(post_nested_task),
- factory_(thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(),
+ factory_(worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(),
execution_mode),
execution_mode) {
- DCHECK(thread_pool_);
+ DCHECK(worker_pool_);
}
const test::TestTaskFactory* factory() const { return &factory_; }
@@ -130,13 +130,13 @@ class ThreadPostingTasks : public SimpleThread {
for (size_t i = 0; i < kNumTasksPostedPerThread; ++i) {
if (wait_before_post_task_ ==
WaitBeforePostTask::WAIT_FOR_ALL_THREADS_IDLE) {
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
EXPECT_TRUE(factory_.PostTask(post_nested_task_, Closure()));
}
}
- SchedulerThreadPoolImpl* const thread_pool_;
+ SchedulerWorkerPoolImpl* const worker_pool_;
const scoped_refptr<TaskRunner> task_runner_;
const WaitBeforePostTask wait_before_post_task_;
const PostNestedTask post_nested_task_;
@@ -153,12 +153,12 @@ void ShouldNotRunCallback() {
} // namespace
-TEST_P(TaskSchedulerThreadPoolImplTest, PostTasks) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, PostTasks) {
// Create threads to post tasks.
std::vector<std::unique_ptr<ThreadPostingTasks>> threads_posting_tasks;
for (size_t i = 0; i < kNumThreadsPostingTasks; ++i) {
threads_posting_tasks.push_back(WrapUnique(new ThreadPostingTasks(
- thread_pool_.get(), GetParam(), WaitBeforePostTask::NO_WAIT,
+ worker_pool_.get(), GetParam(), WaitBeforePostTask::NO_WAIT,
PostNestedTask::NO)));
threads_posting_tasks.back()->Start();
}
@@ -171,17 +171,17 @@ TEST_P(TaskSchedulerThreadPoolImplTest, PostTasks) {
// Wait until all worker threads are idle to be sure that no task accesses
// its TestTaskFactory after |thread_posting_tasks| is destroyed.
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
-TEST_P(TaskSchedulerThreadPoolImplTest, PostTasksWaitAllThreadsIdle) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, PostTasksWaitAllThreadsIdle) {
// Create threads to post tasks. To verify that worker threads can sleep and
// be woken up when new tasks are posted, wait for all threads to become idle
// before posting a new task.
std::vector<std::unique_ptr<ThreadPostingTasks>> threads_posting_tasks;
for (size_t i = 0; i < kNumThreadsPostingTasks; ++i) {
threads_posting_tasks.push_back(WrapUnique(new ThreadPostingTasks(
- thread_pool_.get(), GetParam(),
+ worker_pool_.get(), GetParam(),
WaitBeforePostTask::WAIT_FOR_ALL_THREADS_IDLE, PostNestedTask::NO)));
threads_posting_tasks.back()->Start();
}
@@ -194,16 +194,16 @@ TEST_P(TaskSchedulerThreadPoolImplTest, PostTasksWaitAllThreadsIdle) {
// Wait until all worker threads are idle to be sure that no task accesses
// its TestTaskFactory after |thread_posting_tasks| is destroyed.
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
-TEST_P(TaskSchedulerThreadPoolImplTest, NestedPostTasks) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, NestedPostTasks) {
// Create threads to post tasks. Each task posted by these threads will post
// another task when it runs.
std::vector<std::unique_ptr<ThreadPostingTasks>> threads_posting_tasks;
for (size_t i = 0; i < kNumThreadsPostingTasks; ++i) {
threads_posting_tasks.push_back(WrapUnique(new ThreadPostingTasks(
- thread_pool_.get(), GetParam(), WaitBeforePostTask::NO_WAIT,
+ worker_pool_.get(), GetParam(), WaitBeforePostTask::NO_WAIT,
PostNestedTask::YES)));
threads_posting_tasks.back()->Start();
}
@@ -216,19 +216,19 @@ TEST_P(TaskSchedulerThreadPoolImplTest, NestedPostTasks) {
// Wait until all worker threads are idle to be sure that no task accesses
// its TestTaskFactory after |thread_posting_tasks| is destroyed.
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
-TEST_P(TaskSchedulerThreadPoolImplTest, PostTasksWithOneAvailableThread) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, PostTasksWithOneAvailableThread) {
// Post blocking tasks to keep all threads busy except one until |event| is
// signaled. Use different factories so that tasks are added to different
// sequences and can run simultaneously when the execution mode is SEQUENCED.
WaitableEvent event(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
std::vector<std::unique_ptr<test::TestTaskFactory>> blocked_task_factories;
- for (size_t i = 0; i < (kNumThreadsInThreadPool - 1); ++i) {
+ for (size_t i = 0; i < (kNumWorkersInWorkerPool - 1); ++i) {
blocked_task_factories.push_back(WrapUnique(new test::TestTaskFactory(
- thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
GetParam())));
EXPECT_TRUE(blocked_task_factories.back()->PostTask(
PostNestedTask::NO, Bind(&WaitableEvent::Wait, Unretained(&event))));
@@ -236,9 +236,9 @@ TEST_P(TaskSchedulerThreadPoolImplTest, PostTasksWithOneAvailableThread) {
}
// Post |kNumTasksPostedPerThread| tasks that should all run despite the fact
- // that only one thread in |thread_pool_| isn't busy.
+ // that only one thread in |worker_pool_| isn't busy.
test::TestTaskFactory short_task_factory(
- thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
GetParam());
for (size_t i = 0; i < kNumTasksPostedPerThread; ++i)
EXPECT_TRUE(short_task_factory.PostTask(PostNestedTask::NO, Closure()));
@@ -249,20 +249,20 @@ TEST_P(TaskSchedulerThreadPoolImplTest, PostTasksWithOneAvailableThread) {
// Wait until all worker threads are idle to be sure that no task accesses
// its TestTaskFactory after it is destroyed.
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
-TEST_P(TaskSchedulerThreadPoolImplTest, Saturate) {
- // Verify that it is possible to have |kNumThreadsInThreadPool|
+TEST_P(TaskSchedulerWorkerPoolImplTest, Saturate) {
+ // Verify that it is possible to have |kNumWorkersInWorkerPool|
// tasks/sequences running simultaneously. Use different factories so that the
// blocking tasks are added to different sequences and can run simultaneously
// when the execution mode is SEQUENCED.
WaitableEvent event(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
std::vector<std::unique_ptr<test::TestTaskFactory>> factories;
- for (size_t i = 0; i < kNumThreadsInThreadPool; ++i) {
+ for (size_t i = 0; i < kNumWorkersInWorkerPool; ++i) {
factories.push_back(WrapUnique(new test::TestTaskFactory(
- thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()),
GetParam())));
EXPECT_TRUE(factories.back()->PostTask(
PostNestedTask::NO, Bind(&WaitableEvent::Wait, Unretained(&event))));
@@ -274,26 +274,26 @@ TEST_P(TaskSchedulerThreadPoolImplTest, Saturate) {
// Wait until all worker threads are idle to be sure that no task accesses
// its TestTaskFactory after it is destroyed.
- thread_pool_->WaitForAllWorkerThreadsIdleForTesting();
+ worker_pool_->WaitForAllWorkerWorkersIdleForTesting();
}
// Verify that a Task can't be posted after shutdown.
-TEST_P(TaskSchedulerThreadPoolImplTest, PostTaskAfterShutdown) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, PostTaskAfterShutdown) {
auto task_runner =
- thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam());
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam());
task_tracker_.Shutdown();
EXPECT_FALSE(task_runner->PostTask(FROM_HERE, Bind(&ShouldNotRunCallback)));
}
// Verify that a Task posted with a delay is added to the DelayedTaskManager and
// doesn't run before its delay expires.
-TEST_P(TaskSchedulerThreadPoolImplTest, PostDelayedTask) {
+TEST_P(TaskSchedulerWorkerPoolImplTest, PostDelayedTask) {
EXPECT_TRUE(delayed_task_manager_.GetDelayedRunTime().is_null());
// Post a delayed task.
WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
- EXPECT_TRUE(thread_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam())
+ EXPECT_TRUE(worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam())
->PostDelayedTask(FROM_HERE, Bind(&WaitableEvent::Signal,
Unretained(&task_ran)),
TimeDelta::FromSeconds(10)));
@@ -314,13 +314,13 @@ TEST_P(TaskSchedulerThreadPoolImplTest, PostDelayedTask) {
}
INSTANTIATE_TEST_CASE_P(Parallel,
- TaskSchedulerThreadPoolImplTest,
+ TaskSchedulerWorkerPoolImplTest,
::testing::Values(ExecutionMode::PARALLEL));
INSTANTIATE_TEST_CASE_P(Sequenced,
- TaskSchedulerThreadPoolImplTest,
+ TaskSchedulerWorkerPoolImplTest,
::testing::Values(ExecutionMode::SEQUENCED));
INSTANTIATE_TEST_CASE_P(SingleThreaded,
- TaskSchedulerThreadPoolImplTest,
+ TaskSchedulerWorkerPoolImplTest,
::testing::Values(ExecutionMode::SINGLE_THREADED));
namespace {
@@ -347,41 +347,41 @@ void ExpectIORestriction(IORestriction io_restriction, WaitableEvent* event) {
event->Signal();
}
-class TaskSchedulerThreadPoolImplIORestrictionTest
+class TaskSchedulerWorkerPoolImplIORestrictionTest
: public testing::TestWithParam<IORestriction> {
public:
- TaskSchedulerThreadPoolImplIORestrictionTest() = default;
+ TaskSchedulerWorkerPoolImplIORestrictionTest() = default;
private:
- DISALLOW_COPY_AND_ASSIGN(TaskSchedulerThreadPoolImplIORestrictionTest);
+ DISALLOW_COPY_AND_ASSIGN(TaskSchedulerWorkerPoolImplIORestrictionTest);
};
} // namespace
-TEST_P(TaskSchedulerThreadPoolImplIORestrictionTest, IORestriction) {
+TEST_P(TaskSchedulerWorkerPoolImplIORestrictionTest, IORestriction) {
TaskTracker task_tracker;
DelayedTaskManager delayed_task_manager(Bind(&DoNothing));
- auto thread_pool = SchedulerThreadPoolImpl::Create(
- "TestThreadPoolWithParam", ThreadPriority::NORMAL, 1U, GetParam(),
+ auto worker_pool = SchedulerWorkerPoolImpl::Create(
+ "TestWorkerPoolWithParam", ThreadPriority::NORMAL, 1U, GetParam(),
Bind(&NotReachedReEnqueueSequenceCallback), &task_tracker,
&delayed_task_manager);
- ASSERT_TRUE(thread_pool);
+ ASSERT_TRUE(worker_pool);
WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
- thread_pool->CreateTaskRunnerWithTraits(TaskTraits(), ExecutionMode::PARALLEL)
+ worker_pool->CreateTaskRunnerWithTraits(TaskTraits(), ExecutionMode::PARALLEL)
->PostTask(FROM_HERE, Bind(&ExpectIORestriction, GetParam(), &task_ran));
task_ran.Wait();
- thread_pool->JoinForTesting();
+ worker_pool->JoinForTesting();
}
INSTANTIATE_TEST_CASE_P(IOAllowed,
- TaskSchedulerThreadPoolImplIORestrictionTest,
+ TaskSchedulerWorkerPoolImplIORestrictionTest,
::testing::Values(IORestriction::ALLOWED));
INSTANTIATE_TEST_CASE_P(IODisallowed,
- TaskSchedulerThreadPoolImplIORestrictionTest,
+ TaskSchedulerWorkerPoolImplIORestrictionTest,
::testing::Values(IORestriction::DISALLOWED));
} // namespace internal
« no previous file with comments | « base/task_scheduler/scheduler_worker_pool_impl.cc ('k') | base/task_scheduler/sequence.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698