Index: third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc |
diff --git a/third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc b/third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc |
index 2045fead77c9147569fd6dce6cc98316f9709fd3..b30e96c909f6013c4f2486a264cbf304ddf7ad49 100644 |
--- a/third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc |
+++ b/third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc |
@@ -37,10 +37,9 @@ class WorkQueueTest : public testing::Test { |
void TearDown() override { work_queue_sets_->RemoveQueue(work_queue_.get()); } |
protected: |
- TaskQueueImpl::Task FakeTaskWithEnqueueOrder(int enqueue_order) { |
+ TaskQueueImpl::Task FakeTaskWithSequenceNum(SequenceNumber sequence_num) { |
TaskQueueImpl::Task fake_task(FROM_HERE, base::Bind(&NopTask), |
- base::TimeTicks(), 0, true); |
- fake_task.set_enqueue_order(enqueue_order); |
+ {base::TimeTicks(), sequence_num}, true); |
return fake_task; |
} |
@@ -53,12 +52,12 @@ class WorkQueueTest : public testing::Test { |
TEST_F(WorkQueueTest, Empty) { |
EXPECT_TRUE(work_queue_->Empty()); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
EXPECT_FALSE(work_queue_->Empty()); |
} |
TEST_F(WorkQueueTest, Empty_IgnoresFences) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
work_queue_->InsertFence(1); |
EXPECT_FALSE(work_queue_->Empty()); |
} |
@@ -69,13 +68,13 @@ TEST_F(WorkQueueTest, GetFrontTaskEnqueueOrderQueueEmpty) { |
} |
TEST_F(WorkQueueTest, GetFrontTaskEnqueueOrder) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
EnqueueOrder enqueue_order; |
EXPECT_TRUE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
- EXPECT_EQ(2ull, enqueue_order); |
+ EXPECT_EQ(2ull, enqueue_order.sequence_num); |
} |
TEST_F(WorkQueueTest, GetFrontTaskQueueEmpty) { |
@@ -83,12 +82,12 @@ TEST_F(WorkQueueTest, GetFrontTaskQueueEmpty) { |
} |
TEST_F(WorkQueueTest, GetFrontTask) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
ASSERT_NE(nullptr, work_queue_->GetFrontTask()); |
- EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order()); |
+ EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order().sequence_num); |
} |
TEST_F(WorkQueueTest, GetBackTask_Empty) { |
@@ -96,19 +95,19 @@ TEST_F(WorkQueueTest, GetBackTask_Empty) { |
} |
TEST_F(WorkQueueTest, GetBackTask) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
ASSERT_NE(nullptr, work_queue_->GetBackTask()); |
- EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order()); |
+ EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order().sequence_num); |
} |
TEST_F(WorkQueueTest, Push) { |
WorkQueue* work_queue; |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_EQ(work_queue_.get(), work_queue); |
} |
@@ -118,14 +117,14 @@ TEST_F(WorkQueueTest, PushAfterFenceHit) { |
WorkQueue* work_queue; |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
} |
TEST_F(WorkQueueTest, ReloadEmptyImmediateQueue) { |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(2)); |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(3)); |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(4)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(2)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(3)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(4)); |
WorkQueue* work_queue; |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
@@ -136,17 +135,17 @@ TEST_F(WorkQueueTest, ReloadEmptyImmediateQueue) { |
EXPECT_FALSE(work_queue_->Empty()); |
ASSERT_NE(nullptr, work_queue_->GetFrontTask()); |
- EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order()); |
+ EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order().sequence_num); |
ASSERT_NE(nullptr, work_queue_->GetBackTask()); |
- EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order()); |
+ EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order().sequence_num); |
} |
TEST_F(WorkQueueTest, ReloadEmptyImmediateQueueAfterFenceHit) { |
work_queue_->InsertFence(1); |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(2)); |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(3)); |
- task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(4)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(2)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(3)); |
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithSequenceNum(4)); |
WorkQueue* work_queue; |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
@@ -157,24 +156,27 @@ TEST_F(WorkQueueTest, ReloadEmptyImmediateQueueAfterFenceHit) { |
EXPECT_FALSE(work_queue_->Empty()); |
ASSERT_NE(nullptr, work_queue_->GetFrontTask()); |
- EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order()); |
+ EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order().sequence_num); |
ASSERT_NE(nullptr, work_queue_->GetBackTask()); |
- EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order()); |
+ EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order().sequence_num); |
} |
TEST_F(WorkQueueTest, TakeTaskFromWorkQueue) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
WorkQueue* work_queue; |
EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_FALSE(work_queue_->Empty()); |
- EXPECT_EQ(2ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
- EXPECT_EQ(3ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
- EXPECT_EQ(4ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(2ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
+ EXPECT_EQ(3ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
+ EXPECT_EQ(4ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_TRUE(work_queue_->Empty()); |
@@ -182,8 +184,8 @@ TEST_F(WorkQueueTest, TakeTaskFromWorkQueue) { |
TEST_F(WorkQueueTest, TakeTaskFromWorkQueue_HitFence) { |
work_queue_->InsertFence(3); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
WorkQueue* work_queue; |
@@ -191,7 +193,8 @@ TEST_F(WorkQueueTest, TakeTaskFromWorkQueue_HitFence) { |
EXPECT_FALSE(work_queue_->Empty()); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- EXPECT_EQ(2ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(2ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_FALSE(work_queue_->Empty()); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
@@ -201,31 +204,32 @@ TEST_F(WorkQueueTest, InsertFenceBeforeEnqueueing) { |
EXPECT_FALSE(work_queue_->InsertFence(1)); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
EnqueueOrder enqueue_order; |
EXPECT_FALSE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
} |
TEST_F(WorkQueueTest, InsertFenceAfterEnqueueingNonBlocking) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
EXPECT_FALSE(work_queue_->InsertFence(5)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
EnqueueOrder enqueue_order; |
EXPECT_TRUE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
- EXPECT_EQ(2ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(2ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
} |
TEST_F(WorkQueueTest, InsertFenceAfterEnqueueing) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
// NB in reality a fence will always be greater than any currently enqueued |
// tasks. |
@@ -237,9 +241,9 @@ TEST_F(WorkQueueTest, InsertFenceAfterEnqueueing) { |
} |
TEST_F(WorkQueueTest, InsertNewFence) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(5)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(5)); |
EXPECT_FALSE(work_queue_->InsertFence(3)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
@@ -247,9 +251,10 @@ TEST_F(WorkQueueTest, InsertNewFence) { |
// Note until TakeTaskFromWorkQueue() is called we don't hit the fence. |
EnqueueOrder enqueue_order; |
EXPECT_TRUE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
- EXPECT_EQ(2ull, enqueue_order); |
+ EXPECT_EQ(2ull, enqueue_order.sequence_num); |
- EXPECT_EQ(2ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(2ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_FALSE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
@@ -259,36 +264,39 @@ TEST_F(WorkQueueTest, InsertNewFence) { |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
EXPECT_TRUE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
- EXPECT_EQ(4ull, enqueue_order); |
- EXPECT_EQ(4ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(4ull, enqueue_order.sequence_num); |
+ EXPECT_EQ(4ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_TRUE(work_queue_->GetFrontTaskEnqueueOrder(&enqueue_order)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
} |
TEST_F(WorkQueueTest, PushWithNonEmptyQueueDoesNotHitFence) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
EXPECT_FALSE(work_queue_->InsertFence(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
} |
TEST_F(WorkQueueTest, RemoveFence) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(5)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(5)); |
work_queue_->InsertFence(3); |
WorkQueue* work_queue; |
EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_FALSE(work_queue_->Empty()); |
- EXPECT_EQ(2ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(2ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_FALSE(work_queue_->Empty()); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
EXPECT_TRUE(work_queue_->RemoveFence()); |
- EXPECT_EQ(4ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(4ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
} |
@@ -312,23 +320,25 @@ TEST_F(WorkQueueTest, BlockedByFence) { |
} |
TEST_F(WorkQueueTest, BlockedByFencePopBecomesEmpty) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
EXPECT_FALSE(work_queue_->InsertFence(2)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- EXPECT_EQ(1ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(1ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
} |
TEST_F(WorkQueueTest, BlockedByFencePop) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
EXPECT_FALSE(work_queue_->InsertFence(2)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- EXPECT_EQ(1ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(1ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
} |
@@ -336,20 +346,21 @@ TEST_F(WorkQueueTest, InitiallyEmptyBlockedByFenceNewFenceUnblocks) { |
EXPECT_FALSE(work_queue_->InsertFence(1)); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
EXPECT_TRUE(work_queue_->InsertFence(3)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
} |
TEST_F(WorkQueueTest, BlockedByFenceNewFenceUnblocks) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(1)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(1)); |
EXPECT_FALSE(work_queue_->InsertFence(2)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
- EXPECT_EQ(1ull, work_queue_->TakeTaskFromWorkQueue().enqueue_order()); |
+ EXPECT_EQ(1ull, |
+ work_queue_->TakeTaskFromWorkQueue().enqueue_order().sequence_num); |
EXPECT_TRUE(work_queue_->BlockedByFence()); |
EXPECT_TRUE(work_queue_->InsertFence(4)); |
@@ -357,9 +368,9 @@ TEST_F(WorkQueueTest, BlockedByFenceNewFenceUnblocks) { |
} |
TEST_F(WorkQueueTest, InsertFenceAfterEnqueuing) { |
- work_queue_->Push(FakeTaskWithEnqueueOrder(2)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(3)); |
- work_queue_->Push(FakeTaskWithEnqueueOrder(4)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(2)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(3)); |
+ work_queue_->Push(FakeTaskWithSequenceNum(4)); |
EXPECT_FALSE(work_queue_->BlockedByFence()); |
EXPECT_FALSE(work_queue_->InsertFence(1)); |