| Index: base/task_scheduler/task_scheduler_impl_unittest.cc
|
| diff --git a/base/task_scheduler/task_scheduler_impl_unittest.cc b/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| index b8d8fad8343808296bff8dd7acedba946bdf8e4e..1f363639039584da95339e7adb77bb284d571b03 100644
|
| --- a/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| +++ b/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| @@ -58,13 +58,13 @@ bool GetIOAllowed() {
|
| // Verify that the current thread priority and I/O restrictions are appropriate
|
| // to run a Task with |traits|.
|
| // Note: ExecutionMode is verified inside TestTaskFactory.
|
| -void VerifyTaskEnvironment(const TaskTraits& traits) {
|
| +void VerifyTaskEnvironment(const TaskTraits* traits) {
|
| const bool supports_background_priority =
|
| Lock::HandlesMultipleThreadPriorities() &&
|
| PlatformThread::CanIncreaseCurrentThreadPriority();
|
|
|
| EXPECT_EQ(supports_background_priority &&
|
| - traits.priority() == TaskPriority::BACKGROUND
|
| + traits->priority() == TaskPriority::BACKGROUND
|
| ? ThreadPriority::BACKGROUND
|
| : ThreadPriority::NORMAL,
|
| PlatformThread::GetCurrentThreadPriority());
|
| @@ -72,7 +72,7 @@ void VerifyTaskEnvironment(const TaskTraits& traits) {
|
| #if DCHECK_IS_ON()
|
| // The #if above is required because GetIOAllowed() always returns true when
|
| // !DCHECK_IS_ON(), even when |traits| don't allow file I/O.
|
| - EXPECT_EQ(traits.may_block(), GetIOAllowed());
|
| + EXPECT_EQ(traits->may_block(), GetIOAllowed());
|
| #endif
|
|
|
| // Verify that the thread the task is running on is named as expected.
|
| @@ -80,20 +80,20 @@ void VerifyTaskEnvironment(const TaskTraits& traits) {
|
| EXPECT_NE(std::string::npos, current_thread_name.find("TaskScheduler"));
|
| EXPECT_NE(std::string::npos,
|
| current_thread_name.find(
|
| - traits.priority() == TaskPriority::BACKGROUND ? "Background"
|
| - : "Foreground"));
|
| - EXPECT_EQ(traits.may_block(),
|
| + traits->priority() == TaskPriority::BACKGROUND ? "Background"
|
| + : "Foreground"));
|
| + EXPECT_EQ(traits->may_block(),
|
| current_thread_name.find("Blocking") != std::string::npos);
|
| }
|
|
|
| -void VerifyTaskEnvironmentAndSignalEvent(const TaskTraits& traits,
|
| +void VerifyTaskEnvironmentAndSignalEvent(const TaskTraits* traits,
|
| WaitableEvent* event) {
|
| DCHECK(event);
|
| VerifyTaskEnvironment(traits);
|
| event->Signal();
|
| }
|
|
|
| -void VerifyTimeAndTaskEnvironmentAndSignalEvent(const TaskTraits& traits,
|
| +void VerifyTimeAndTaskEnvironmentAndSignalEvent(const TaskTraits* traits,
|
| TimeTicks expected_time,
|
| WaitableEvent* event) {
|
| DCHECK(event);
|
| @@ -141,7 +141,7 @@ class ThreadPostingTasks : public SimpleThread {
|
| const size_t kNumTasksPerThread = 150;
|
| for (size_t i = 0; i < kNumTasksPerThread; ++i) {
|
| factory_.PostTask(test::TestTaskFactory::PostNestedTask::NO,
|
| - Bind(&VerifyTaskEnvironment, traits_));
|
| + Bind(&VerifyTaskEnvironment, Unretained(&traits_)));
|
| }
|
| }
|
|
|
| @@ -219,8 +219,8 @@ TEST_P(TaskSchedulerImplTest, PostDelayedTaskWithTraitsNoDelay) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| scheduler_.PostDelayedTaskWithTraits(
|
| FROM_HERE, GetParam().traits,
|
| - BindOnce(&VerifyTaskEnvironmentAndSignalEvent, GetParam().traits,
|
| - Unretained(&task_ran)),
|
| + BindOnce(&VerifyTaskEnvironmentAndSignalEvent,
|
| + Unretained(&GetParam().traits), Unretained(&task_ran)),
|
| TimeDelta());
|
| task_ran.Wait();
|
| }
|
| @@ -235,7 +235,8 @@ TEST_P(TaskSchedulerImplTest, PostDelayedTaskWithTraitsWithDelay) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| scheduler_.PostDelayedTaskWithTraits(
|
| FROM_HERE, GetParam().traits,
|
| - BindOnce(&VerifyTimeAndTaskEnvironmentAndSignalEvent, GetParam().traits,
|
| + BindOnce(&VerifyTimeAndTaskEnvironmentAndSignalEvent,
|
| + Unretained(&GetParam().traits),
|
| TimeTicks::Now() + TestTimeouts::tiny_timeout(),
|
| Unretained(&task_ran)),
|
| TestTimeouts::tiny_timeout());
|
| @@ -255,8 +256,9 @@ TEST_P(TaskSchedulerImplTest, PostTasksViaTaskRunner) {
|
|
|
| const size_t kNumTasksPerTest = 150;
|
| for (size_t i = 0; i < kNumTasksPerTest; ++i) {
|
| - factory.PostTask(test::TestTaskFactory::PostNestedTask::NO,
|
| - Bind(&VerifyTaskEnvironment, GetParam().traits));
|
| + factory.PostTask(
|
| + test::TestTaskFactory::PostNestedTask::NO,
|
| + Bind(&VerifyTaskEnvironment, Unretained(&GetParam().traits)));
|
| }
|
|
|
| factory.WaitForAllTasksToRun();
|
| @@ -269,8 +271,8 @@ TEST_P(TaskSchedulerImplTest, PostDelayedTaskWithTraitsNoDelayBeforeStart) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| scheduler_.PostDelayedTaskWithTraits(
|
| FROM_HERE, GetParam().traits,
|
| - BindOnce(&VerifyTaskEnvironmentAndSignalEvent, GetParam().traits,
|
| - Unretained(&task_running)),
|
| + BindOnce(&VerifyTaskEnvironmentAndSignalEvent,
|
| + Unretained(&GetParam().traits), Unretained(&task_running)),
|
| TimeDelta());
|
|
|
| // Wait a little bit to make sure that the task isn't scheduled before
|
| @@ -291,7 +293,8 @@ TEST_P(TaskSchedulerImplTest, PostDelayedTaskWithTraitsWithDelayBeforeStart) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| scheduler_.PostDelayedTaskWithTraits(
|
| FROM_HERE, GetParam().traits,
|
| - BindOnce(&VerifyTimeAndTaskEnvironmentAndSignalEvent, GetParam().traits,
|
| + BindOnce(&VerifyTimeAndTaskEnvironmentAndSignalEvent,
|
| + Unretained(&GetParam().traits),
|
| TimeTicks::Now() + TestTimeouts::tiny_timeout(),
|
| Unretained(&task_running)),
|
| TestTimeouts::tiny_timeout());
|
| @@ -314,9 +317,9 @@ TEST_P(TaskSchedulerImplTest, PostTaskViaTaskRunnerBeforeStart) {
|
| WaitableEvent::InitialState::NOT_SIGNALED);
|
| CreateTaskRunnerWithTraitsAndExecutionMode(&scheduler_, GetParam().traits,
|
| GetParam().execution_mode)
|
| - ->PostTask(FROM_HERE,
|
| - BindOnce(&VerifyTaskEnvironmentAndSignalEvent,
|
| - GetParam().traits, Unretained(&task_running)));
|
| + ->PostTask(FROM_HERE, BindOnce(&VerifyTaskEnvironmentAndSignalEvent,
|
| + Unretained(&GetParam().traits),
|
| + Unretained(&task_running)));
|
|
|
| // Wait a little bit to make sure that the task isn't scheduled before
|
| // Start(). Note: This test won't catch a case where the task runs just after
|
|
|