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

Unified Diff: base/task_scheduler/test_task_factory.cc

Issue 1911023002: TaskScheduler: Add TaskRunnerHandle support to TaskScheduler tasks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@c1_1876363004_STTR
Patch Set: rebase and more test logic in TestTaskFactory to cover SchedulerThreadPoolImpl changes Created 4 years, 8 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
Index: base/task_scheduler/test_task_factory.cc
diff --git a/base/task_scheduler/test_task_factory.cc b/base/task_scheduler/test_task_factory.cc
index 5edf3dda17a16ed39b26e0ac71b1be1781c6592c..8de786c6f7c3dbd49e72b15c80ae041b40dcf3c1 100644
--- a/base/task_scheduler/test_task_factory.cc
+++ b/base/task_scheduler/test_task_factory.cc
@@ -9,6 +9,8 @@
#include "base/location.h"
#include "base/logging.h"
#include "base/synchronization/waitable_event.h"
+#include "base/thread_task_runner_handle.h"
+#include "base/threading/sequenced_task_runner_handle.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace base {
@@ -52,6 +54,27 @@ void TestTaskFactory::RunTaskCallback(size_t task_index,
EXPECT_TRUE(task_runner_->RunsTasksOnCurrentThread());
+ // Verify TaskRunnerHandles are set as expected in the task's scope.
+ switch (execution_mode_) {
gab 2016/04/27 15:26:59 Note to self (realized this while doing another re
gab 2016/04/27 20:21:40 Done.
+ case ExecutionMode::PARALLEL:
+ EXPECT_FALSE(ThreadTaskRunnerHandle::IsSet());
+ EXPECT_FALSE(SequencedTaskRunnerHandle::IsSet());
+ break;
+ case ExecutionMode::SEQUENCED:
+ EXPECT_FALSE(ThreadTaskRunnerHandle::IsSet());
+ EXPECT_TRUE(SequencedTaskRunnerHandle::IsSet());
+ EXPECT_EQ(task_runner_, SequencedTaskRunnerHandle::Get());
+ break;
+ case ExecutionMode::SINGLE_THREADED:
+ // SequencedTaskRunnerHandle inherits from ThreadTaskRunnerHandle so
+ // both are expected to be "set" in the SINGLE_THREADED case.
+ EXPECT_TRUE(ThreadTaskRunnerHandle::IsSet());
+ EXPECT_TRUE(SequencedTaskRunnerHandle::IsSet());
+ EXPECT_EQ(task_runner_, ThreadTaskRunnerHandle::Get());
+ EXPECT_EQ(task_runner_, SequencedTaskRunnerHandle::Get());
+ break;
+ }
+
{
AutoLock auto_lock(lock_);

Powered by Google App Engine
This is Rietveld 408576698