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

Unified Diff: base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc

Issue 2809163003: Always use TaskScheduler::InitParams to initialize a TaskScheduler. (Closed)
Patch Set: self-review Created 3 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/scheduler_single_thread_task_runner_manager_unittest.cc
diff --git a/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc b/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
index 0b7a7e8d53eb2e71f6be293589fb0bdc909f56f2..17333e9f419e4b029787ddfbb2fc2a1676c1b6c9 100644
--- a/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
+++ b/base/task_scheduler/scheduler_single_thread_task_runner_manager_unittest.cc
@@ -32,32 +32,6 @@ namespace internal {
namespace {
-enum WorkerPoolType : size_t {
- BACKGROUND_WORKER_POOL = 0,
- FOREGROUND_WORKER_POOL,
-};
-
-static size_t GetThreadPoolIndexForTraits(const TaskTraits& traits) {
- return traits.priority() == TaskPriority::BACKGROUND ? BACKGROUND_WORKER_POOL
- : FOREGROUND_WORKER_POOL;
-}
-
-std::vector<SchedulerWorkerPoolParams> GetParamsVector() {
- using StandbyThreadPolicy = SchedulerWorkerPoolParams::StandbyThreadPolicy;
-
- std::vector<SchedulerWorkerPoolParams> params_vector;
-
- DCHECK_EQ(BACKGROUND_WORKER_POOL, params_vector.size());
- params_vector.emplace_back("Background", ThreadPriority::BACKGROUND,
- StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max());
-
- DCHECK_EQ(FOREGROUND_WORKER_POOL, params_vector.size());
- params_vector.emplace_back("Foreground", ThreadPriority::NORMAL,
- StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max());
-
- return params_vector;
-}
-
class TaskSchedulerSingleThreadTaskRunnerManagerTest : public testing::Test {
public:
TaskSchedulerSingleThreadTaskRunnerManagerTest()
@@ -65,12 +39,10 @@ class TaskSchedulerSingleThreadTaskRunnerManagerTest : public testing::Test {
void SetUp() override {
service_thread_.Start();
-
delayed_task_manager_ =
MakeUnique<DelayedTaskManager>(service_thread_.task_runner());
single_thread_task_runner_manager_ =
MakeUnique<SchedulerSingleThreadTaskRunnerManager>(
- GetParamsVector(), Bind(&GetThreadPoolIndexForTraits),
&task_tracker_, delayed_task_manager_.get());
StartSingleThreadTaskRunnerManagerFromSetup();
}
@@ -122,11 +94,13 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, DifferentThreadsUsed) {
scoped_refptr<SingleThreadTaskRunner> task_runner_1 =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
scoped_refptr<SingleThreadTaskRunner> task_runner_2 =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "B", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
@@ -149,17 +123,13 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, PrioritySetCorrectly) {
scoped_refptr<SingleThreadTaskRunner> task_runner_background =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "Background", ThreadPriority::BACKGROUND,
TaskTraits().WithPriority(TaskPriority::BACKGROUND));
- scoped_refptr<SingleThreadTaskRunner> task_runner_user_visible =
+ scoped_refptr<SingleThreadTaskRunner> task_runner_normal =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "Normal", ThreadPriority::NORMAL,
TaskTraits().WithPriority(TaskPriority::USER_VISIBLE));
- scoped_refptr<SingleThreadTaskRunner> task_runner_user_blocking =
- single_thread_task_runner_manager_
- ->CreateSingleThreadTaskRunnerWithTraits(
- TaskTraits()
- .WithPriority(TaskPriority::USER_BLOCKING)
- .WithShutdownBehavior(TaskShutdownBehavior::BLOCK_SHUTDOWN));
ThreadPriority thread_priority_background;
task_runner_background->PostTask(
@@ -171,41 +141,30 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, PrioritySetCorrectly) {
FROM_HERE,
Bind(&WaitableEvent::Signal, Unretained(&waitable_event_background)));
- ThreadPriority thread_priority_user_visible;
- task_runner_user_visible->PostTask(
- FROM_HERE, Bind(&CaptureThreadPriority, &thread_priority_user_visible));
- WaitableEvent waitable_event_user_visible(
- WaitableEvent::ResetPolicy::MANUAL,
- WaitableEvent::InitialState::NOT_SIGNALED);
- task_runner_user_visible->PostTask(
- FROM_HERE,
- Bind(&WaitableEvent::Signal, Unretained(&waitable_event_user_visible)));
-
- ThreadPriority thread_priority_user_blocking;
- task_runner_user_blocking->PostTask(
- FROM_HERE, Bind(&CaptureThreadPriority, &thread_priority_user_blocking));
robliao 2017/04/12 19:08:13 What's the rationale for removing this test?
fdoray 2017/04/12 20:00:23 Since SchedulerSingleThreadTaskRunnerManager doesn
- WaitableEvent waitable_event_user_blocking(
+ ThreadPriority thread_priority_normal;
+ task_runner_normal->PostTask(
+ FROM_HERE, Bind(&CaptureThreadPriority, &thread_priority_normal));
+ WaitableEvent waitable_event_normal(
WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
- task_runner_user_blocking->PostTask(
+ task_runner_normal->PostTask(
FROM_HERE,
- Bind(&WaitableEvent::Signal, Unretained(&waitable_event_user_blocking)));
+ Bind(&WaitableEvent::Signal, Unretained(&waitable_event_normal)));
waitable_event_background.Wait();
- waitable_event_user_visible.Wait();
- waitable_event_user_blocking.Wait();
+ waitable_event_normal.Wait();
if (Lock::HandlesMultipleThreadPriorities())
EXPECT_EQ(ThreadPriority::BACKGROUND, thread_priority_background);
else
EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_background);
- EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_user_visible);
- EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_user_blocking);
+ EXPECT_EQ(ThreadPriority::NORMAL, thread_priority_normal);
}
TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, PostTaskAfterShutdown) {
auto task_runner = single_thread_task_runner_manager_
- ->CreateSingleThreadTaskRunnerWithTraits(TaskTraits());
+ ->CreateSingleThreadTaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL, TaskTraits());
task_tracker_.Shutdown();
EXPECT_FALSE(task_runner->PostTask(FROM_HERE, Bind(&ShouldNotRun)));
}
@@ -218,7 +177,8 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, PostDelayedTask) {
WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
auto task_runner = single_thread_task_runner_manager_
- ->CreateSingleThreadTaskRunnerWithTraits(TaskTraits());
+ ->CreateSingleThreadTaskRunnerWithTraits(
+ "B", ThreadPriority::NORMAL, TaskTraits());
EXPECT_TRUE(task_runner->PostDelayedTask(
FROM_HERE, Bind(&WaitableEvent::Signal, Unretained(&task_ran)),
TestTimeouts::tiny_timeout()));
@@ -239,11 +199,13 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest,
scoped_refptr<SingleThreadTaskRunner> task_runner_1 =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
scoped_refptr<SingleThreadTaskRunner> task_runner_2 =
single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "B", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
@@ -327,6 +289,7 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerJoinTest, ConcurrentJoin) {
{
auto task_runner = single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithBaseSyncPrimitives());
EXPECT_TRUE(task_runner->PostTask(
FROM_HERE, Bind(&WaitableEvent::Signal, Unretained(&task_running))));
@@ -355,6 +318,7 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerJoinTest,
{
auto task_runner = single_thread_task_runner_manager_
->CreateSingleThreadTaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithBaseSyncPrimitives());
EXPECT_TRUE(task_runner->PostTask(
FROM_HERE, Bind(&WaitableEvent::Signal, Unretained(&task_running))));
@@ -377,6 +341,7 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerJoinTest,
TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTest, COMSTAInitialized) {
scoped_refptr<SingleThreadTaskRunner> com_task_runner =
single_thread_task_runner_manager_->CreateCOMSTATaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
@@ -440,6 +405,7 @@ class TaskSchedulerSingleThreadTaskRunnerManagerTestWin
TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerTestWin, PumpsMessages) {
scoped_refptr<SingleThreadTaskRunner> com_task_runner =
single_thread_task_runner_manager_->CreateCOMSTATaskRunnerWithTraits(
+ "A", ThreadPriority::NORMAL,
TaskTraits().WithShutdownBehavior(
TaskShutdownBehavior::BLOCK_SHUTDOWN));
HWND hwnd = nullptr;
@@ -492,7 +458,8 @@ TEST_F(TaskSchedulerSingleThreadTaskRunnerManagerStartTest,
WaitableEvent task_running(WaitableEvent::ResetPolicy::MANUAL,
WaitableEvent::InitialState::NOT_SIGNALED);
single_thread_task_runner_manager_
- ->CreateSingleThreadTaskRunnerWithTraits(TaskTraits())
+ ->CreateSingleThreadTaskRunnerWithTraits("A", ThreadPriority::NORMAL,
+ TaskTraits())
->PostTask(
FROM_HERE,
Bind(

Powered by Google App Engine
This is Rietveld 408576698