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( |