| Index: components/scheduler/base/work_queue_sets_unittest.cc
|
| diff --git a/components/scheduler/base/work_queue_sets_unittest.cc b/components/scheduler/base/work_queue_sets_unittest.cc
|
| deleted file mode 100644
|
| index 4466db1f981951e119e330e4276acc1e796bff46..0000000000000000000000000000000000000000
|
| --- a/components/scheduler/base/work_queue_sets_unittest.cc
|
| +++ /dev/null
|
| @@ -1,259 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "components/scheduler/base/work_queue_sets.h"
|
| -
|
| -#include <stddef.h>
|
| -
|
| -#include "base/memory/ptr_util.h"
|
| -#include "components/scheduler/base/work_queue.h"
|
| -#include "testing/gmock/include/gmock/gmock.h"
|
| -
|
| -namespace scheduler {
|
| -class TimeDomain;
|
| -
|
| -namespace internal {
|
| -
|
| -class WorkQueueSetsTest : public testing::Test {
|
| - public:
|
| - void SetUp() override {
|
| - work_queue_sets_.reset(new WorkQueueSets(kNumSets, "test"));
|
| - }
|
| -
|
| - void TearDown() override {
|
| - for (std::unique_ptr<WorkQueue>& work_queue : work_queues_) {
|
| - if (work_queue->work_queue_sets())
|
| - work_queue_sets_->RemoveQueue(work_queue.get());
|
| - }
|
| - }
|
| -
|
| - protected:
|
| - enum {
|
| - kNumSets = 5 // An arbitary choice.
|
| - };
|
| -
|
| - WorkQueue* NewTaskQueue(const char* queue_name) {
|
| - WorkQueue* queue = new WorkQueue(nullptr, "test");
|
| - work_queues_.push_back(base::WrapUnique(queue));
|
| - work_queue_sets_->AddQueue(queue, TaskQueue::CONTROL_PRIORITY);
|
| - return queue;
|
| - }
|
| -
|
| - TaskQueueImpl::Task FakeTaskWithEnqueueOrder(int enqueue_order) {
|
| - TaskQueueImpl::Task fake_task(FROM_HERE, base::Closure(), base::TimeTicks(),
|
| - 0, true);
|
| - fake_task.set_enqueue_order(enqueue_order);
|
| - return fake_task;
|
| - }
|
| -
|
| - std::vector<std::unique_ptr<WorkQueue>> work_queues_;
|
| - std::unique_ptr<WorkQueueSets> work_queue_sets_;
|
| -};
|
| -
|
| -TEST_F(WorkQueueSetsTest, ChangeSetIndex) {
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - size_t set = TaskQueue::NORMAL_PRIORITY;
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| -
|
| - EXPECT_EQ(set, work_queue->work_queue_set_index());
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_QueueEmpty) {
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - size_t set = TaskQueue::NORMAL_PRIORITY;
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_FALSE(
|
| - work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, OnPushQueue) {
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - size_t set = TaskQueue::NORMAL_PRIORITY;
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_FALSE(
|
| - work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| -
|
| - work_queue->Push(FakeTaskWithEnqueueOrder(10));
|
| - work_queue_sets_->OnPushQueue(work_queue);
|
| -
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(work_queue, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_SingleTaskInSet) {
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - work_queue->Push(FakeTaskWithEnqueueOrder(10));
|
| - size_t set = 1;
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(work_queue, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_MultipleAgesInSet) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue1");
|
| - WorkQueue* queue2 = NewTaskQueue("queue2");
|
| - WorkQueue* queue3 = NewTaskQueue("queue2");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(6));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(5));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(4));
|
| - size_t set = 2;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue3, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, OnPopQueue) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue1");
|
| - WorkQueue* queue2 = NewTaskQueue("queue2");
|
| - WorkQueue* queue3 = NewTaskQueue("queue3");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(6));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(3));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(1));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(4));
|
| - size_t set = 3;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -
|
| - queue2->PopTaskForTest();
|
| - work_queue_sets_->OnPopQueue(queue2);
|
| -
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, OnPopQueue_QueueBecomesEmpty) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue");
|
| - WorkQueue* queue2 = NewTaskQueue("queue");
|
| - WorkQueue* queue3 = NewTaskQueue("queue");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(6));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(5));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(4));
|
| - size_t set = 4;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue3, selected_work_queue);
|
| -
|
| - queue3->PopTaskForTest();
|
| - work_queue_sets_->OnPopQueue(queue3);
|
| -
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest,
|
| - GetOldestQueueInSet_MultipleAgesInSetIntegerRollover) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue1");
|
| - WorkQueue* queue2 = NewTaskQueue("queue2");
|
| - WorkQueue* queue3 = NewTaskQueue("queue3");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(0x7ffffff1));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(0x7ffffff0));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(-0x7ffffff1));
|
| - size_t set = 1;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, GetOldestQueueInSet_MultipleAgesInSet_RemoveQueue) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue1");
|
| - WorkQueue* queue2 = NewTaskQueue("queue2");
|
| - WorkQueue* queue3 = NewTaskQueue("queue3");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(6));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(5));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(4));
|
| - size_t set = 1;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set);
|
| - work_queue_sets_->RemoveQueue(queue3);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(set, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, ChangeSetIndex_Complex) {
|
| - WorkQueue* queue1 = NewTaskQueue("queue1");
|
| - WorkQueue* queue2 = NewTaskQueue("queue2");
|
| - WorkQueue* queue3 = NewTaskQueue("queue3");
|
| - WorkQueue* queue4 = NewTaskQueue("queue4");
|
| - queue1->Push(FakeTaskWithEnqueueOrder(6));
|
| - queue2->Push(FakeTaskWithEnqueueOrder(5));
|
| - queue3->Push(FakeTaskWithEnqueueOrder(4));
|
| - queue4->Push(FakeTaskWithEnqueueOrder(3));
|
| - size_t set1 = 1;
|
| - size_t set2 = 2;
|
| - work_queue_sets_->ChangeSetIndex(queue1, set1);
|
| - work_queue_sets_->ChangeSetIndex(queue2, set1);
|
| - work_queue_sets_->ChangeSetIndex(queue3, set2);
|
| - work_queue_sets_->ChangeSetIndex(queue4, set2);
|
| -
|
| - WorkQueue* selected_work_queue;
|
| - EXPECT_TRUE(
|
| - work_queue_sets_->GetOldestQueueInSet(set1, &selected_work_queue));
|
| - EXPECT_EQ(queue2, selected_work_queue);
|
| -
|
| - EXPECT_TRUE(
|
| - work_queue_sets_->GetOldestQueueInSet(set2, &selected_work_queue));
|
| - EXPECT_EQ(queue4, selected_work_queue);
|
| -
|
| - work_queue_sets_->ChangeSetIndex(queue4, set1);
|
| -
|
| - EXPECT_TRUE(
|
| - work_queue_sets_->GetOldestQueueInSet(set1, &selected_work_queue));
|
| - EXPECT_EQ(queue4, selected_work_queue);
|
| -
|
| - EXPECT_TRUE(
|
| - work_queue_sets_->GetOldestQueueInSet(set2, &selected_work_queue));
|
| - EXPECT_EQ(queue3, selected_work_queue);
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, IsSetEmpty_NoWork) {
|
| - size_t set = 2;
|
| - EXPECT_TRUE(work_queue_sets_->IsSetEmpty(set));
|
| -
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| - EXPECT_TRUE(work_queue_sets_->IsSetEmpty(set));
|
| -}
|
| -
|
| -TEST_F(WorkQueueSetsTest, IsSetEmpty_Work) {
|
| - size_t set = 2;
|
| - EXPECT_TRUE(work_queue_sets_->IsSetEmpty(set));
|
| -
|
| - WorkQueue* work_queue = NewTaskQueue("queue");
|
| - work_queue->Push(FakeTaskWithEnqueueOrder(1));
|
| - work_queue_sets_->ChangeSetIndex(work_queue, set);
|
| - EXPECT_FALSE(work_queue_sets_->IsSetEmpty(set));
|
| -
|
| - work_queue->PopTaskForTest();
|
| - work_queue_sets_->OnPopQueue(work_queue);
|
| - EXPECT_TRUE(work_queue_sets_->IsSetEmpty(set));
|
| -}
|
| -
|
| -} // namespace internal
|
| -} // namespace scheduler
|
|
|