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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl_unittest.cc

Issue 2340793002: TaskScheduler: Match behavior of SequencedWorkerPool in RunsTasksOnCurrentThread(). (Closed)
Patch Set: self-review (return --> returns) Created 4 years, 3 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') | no next file » | 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_worker_pool_impl_unittest.cc b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
index bbc6723c6671adeea5dab6f9fd9b8fc7d74073d2..0af4eeee466043e02dd4089d2ce862f30be69259 100644
--- a/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
+++ b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
@@ -327,6 +327,31 @@ TEST_P(TaskSchedulerWorkerPoolImplTest, PostDelayedTask) {
task_ran.Wait();
}
+// Verify that the RunsTasksOnCurrentThread() method of a SEQUENCED TaskRunner
+// returns false when called from a task that isn't part of the sequence.
+TEST_P(TaskSchedulerWorkerPoolImplTest, SequencedRunsTasksOnCurrentThread) {
+ scoped_refptr<TaskRunner> task_runner(
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(), GetParam()));
+ scoped_refptr<TaskRunner> sequenced_task_runner(
+ worker_pool_->CreateTaskRunnerWithTraits(TaskTraits(),
+ ExecutionMode::SEQUENCED));
+
+ WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL,
+ WaitableEvent::InitialState::NOT_SIGNALED);
+ task_runner->PostTask(
+ FROM_HERE,
+ Bind(
+ [](scoped_refptr<TaskRunner> sequenced_task_runner,
+ WaitableEvent* task_ran) {
+ EXPECT_FALSE(sequenced_task_runner->RunsTasksOnCurrentThread());
+ // Tests that use TestTaskFactory already verify that
+ // RunsTasksOnCurrentThread() returns true when appropriate.
+ task_ran->Signal();
+ },
+ sequenced_task_runner, Unretained(&task_ran)));
+ task_ran.Wait();
+}
+
INSTANTIATE_TEST_CASE_P(Parallel,
TaskSchedulerWorkerPoolImplTest,
::testing::Values(ExecutionMode::PARALLEL));
« no previous file with comments | « base/task_scheduler/scheduler_worker_pool_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698