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

Unified Diff: base/task_scheduler/scheduler_worker_unittest.cc

Issue 2399213005: TaskScheduler: Change Sequence::PeekTask to Sequence::TakeTask. (Closed)
Patch Set: self-review Created 4 years, 2 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_worker_unittest.cc
diff --git a/base/task_scheduler/scheduler_worker_unittest.cc b/base/task_scheduler/scheduler_worker_unittest.cc
index 47a35cbecac7d672156b7dcd555fabb24ca475e1..e6cb8d8f2b36e041362185b13f401146928f3b07 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->GetFrontTaskTraits().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,10 @@ 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());
+ sequence->RemoveFrontSlot();
}
- EXPECT_FALSE(sequence->PeekTask());
+ EXPECT_FALSE(sequence->TakeTask());
// Add |sequence| to |re_enqueued_sequences_|.
AutoSchedulerLock auto_lock(outer_->lock_);
@@ -215,27 +218,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
+ // 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 +391,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();

Powered by Google App Engine
This is Rietveld 408576698