Index: base/task_scheduler/scheduler_worker_unittest.cc |
diff --git a/base/task_scheduler/scheduler_worker_unittest.cc b/base/task_scheduler/scheduler_worker_unittest.cc |
index 47a35cbecac7d672156b7dcd555fabb24ca475e1..cf6c8781268b0af013b6a427b6ac09e8c53f35fd 100644 |
--- a/base/task_scheduler/scheduler_worker_unittest.cc |
+++ b/base/task_scheduler/scheduler_worker_unittest.cc |
@@ -46,7 +46,8 @@ class SchedulerWorkerDefaultDelegate : public SchedulerWorker::Delegate { |
scoped_refptr<Sequence> GetWork(SchedulerWorker* worker) override { |
return nullptr; |
} |
- void DidRunTask(const Task* task, const TimeDelta& task_latency) override { |
+ void DidRunTask(TaskPriority task_priority, |
+ const TimeDelta& task_latency) override { |
ADD_FAILURE() << "Unexpected call to DidRunTask()"; |
} |
void ReEnqueueSequence(scoped_refptr<Sequence> sequence) override { |
@@ -174,7 +175,7 @@ class TaskSchedulerWorkerTest : public testing::TestWithParam<size_t> { |
sequence->PushTask(std::move(task)); |
} |
- ExpectCallToDidRunTask(sequence->PeekTask()); |
+ ExpectCallToDidRunTask(sequence->PeekTaskTraits().priority()); |
{ |
// Add the Sequence to the vector of created Sequences. |
@@ -185,11 +186,13 @@ class TaskSchedulerWorkerTest : public testing::TestWithParam<size_t> { |
return sequence; |
} |
- void DidRunTask(const Task* task, const TimeDelta& task_latency) override { |
+ void DidRunTask(TaskPriority task_priority, |
+ const TimeDelta& task_latency) override { |
AutoSchedulerLock auto_lock(expect_did_run_task_lock_); |
- EXPECT_EQ(expect_did_run_task_, task); |
- expect_did_run_task_ = nullptr; |
+ EXPECT_TRUE(expect_did_run_task_); |
+ EXPECT_EQ(expect_did_run_task_with_priority_, task_priority); |
EXPECT_FALSE(task_latency.is_max()); |
+ expect_did_run_task_ = false; |
} |
// This override verifies that |sequence| contains the expected number of |
@@ -202,10 +205,9 @@ class TaskSchedulerWorkerTest : public testing::TestWithParam<size_t> { |
// Verify that |sequence| contains TasksPerSequence() - 1 Tasks. |
for (size_t i = 0; i < outer_->TasksPerSequence() - 1; ++i) { |
- EXPECT_TRUE(sequence->PeekTask()); |
- sequence->PopTask(); |
+ EXPECT_TRUE(sequence->TakeTask()); |
+ EXPECT_EQ(i == outer_->TasksPerSequence() - 2, sequence->Pop()); |
} |
- EXPECT_FALSE(sequence->PeekTask()); |
// Add |sequence| to |re_enqueued_sequences_|. |
AutoSchedulerLock auto_lock(outer_->lock_); |
@@ -215,27 +217,31 @@ class TaskSchedulerWorkerTest : public testing::TestWithParam<size_t> { |
} |
private: |
- // Expect a call to DidRunTask() with |task| as argument before the next |
- // call to any other method of this delegate. |
- void ExpectCallToDidRunTask(const Task* task) { |
+ // Expect a call to DidRunTask() with |task_priority| as argument before the |
+ // next call to any other method of this delegate. |
+ void ExpectCallToDidRunTask(TaskPriority task_priority) { |
AutoSchedulerLock auto_lock(expect_did_run_task_lock_); |
- expect_did_run_task_ = task; |
+ expect_did_run_task_ = true; |
+ expect_did_run_task_with_priority_ = task_priority; |
} |
bool IsCallToDidRunTaskExpected() const { |
AutoSchedulerLock auto_lock(expect_did_run_task_lock_); |
- return expect_did_run_task_ != nullptr; |
+ return expect_did_run_task_; |
} |
TaskSchedulerWorkerTest* outer_; |
- // Synchronizes access to |expect_did_run_task_|. |
+ // Synchronizes access to |expect_did_run_task_| and |
+ // |expect_did_run_task_with_priority_|. |
mutable SchedulerLock expect_did_run_task_lock_; |
- // Expected task for the next call to DidRunTask(). DidRunTask() should not |
- // be called when this is nullptr. No method other than DidRunTask() should |
- // be called on this delegate when this is not nullptr. |
- const Task* expect_did_run_task_ = nullptr; |
+ // When this is true, the next method called on this delegate should be |
robliao
2016/10/07 20:57:11
Instead: Whether the next method called on this de
fdoray
2016/10/11 12:29:19
Done.
|
+ // DidRunTask(). |
+ bool expect_did_run_task_ = false; |
+ |
+ // Expected priority for the next call to DidRunTask(). |
+ TaskPriority expect_did_run_task_with_priority_ = TaskPriority::BACKGROUND; |
}; |
void RunTaskCallback() { |
@@ -384,7 +390,7 @@ class ControllableDetachDelegate : public SchedulerWorkerDefaultDelegate { |
return sequence; |
} |
- void DidRunTask(const Task* task, const TimeDelta& task_latency) override {} |
+ void DidRunTask(TaskPriority task, const TimeDelta& task_latency) override {} |
bool CanDetach(SchedulerWorker* worker) override { |
detach_requested_.Signal(); |