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

Unified Diff: third_party/WebKit/Source/platform/scheduler/base/work_queue_unittest.cc

Issue 2546423002: [Try # 3] Scheduler refactoring to virtually eliminate redundant DoWorks (Closed)
Patch Set: Add an extra dcheck Created 3 years, 11 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: 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 7b11f44046261f1c612fb3b1e34c26ed32b31ddc..7ca64f8ebab0b17109feacecfc03702fc5612a42 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
@@ -8,6 +8,7 @@
#include "base/bind.h"
#include "base/memory/ptr_util.h"
+#include "platform/scheduler/base/moveable_auto_lock.h"
#include "platform/scheduler/base/real_time_domain.h"
#include "platform/scheduler/base/task_queue_impl.h"
#include "platform/scheduler/base/work_queue_sets.h"
@@ -28,11 +29,10 @@ class WorkQueueTest : public testing::Test {
new TaskQueueImpl(nullptr, time_domain_.get(),
TaskQueue::Spec(TaskQueue::QueueType::TEST), "", ""));
- work_queue_.reset(new WorkQueue(task_queue_.get(), "test"));
+ work_queue_.reset(new WorkQueue(task_queue_.get(), "test",
+ WorkQueue::QueueType::IMMEDIATE));
work_queue_sets_.reset(new WorkQueueSets(1, "test"));
work_queue_sets_->AddQueue(work_queue_.get(), 0);
-
- incoming_queue_.reset(new WTF::Deque<TaskQueueImpl::Task>());
}
void TearDown() override { work_queue_sets_->RemoveQueue(work_queue_.get()); }
@@ -50,6 +50,7 @@ class WorkQueueTest : public testing::Test {
std::unique_ptr<WorkQueue> work_queue_;
std::unique_ptr<WorkQueueSets> work_queue_sets_;
std::unique_ptr<WTF::Deque<TaskQueueImpl::Task>> incoming_queue_;
+ base::Lock dummy_lock_;
};
TEST_F(WorkQueueTest, Empty) {
@@ -123,19 +124,18 @@ TEST_F(WorkQueueTest, PushAfterFenceHit) {
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue));
}
-TEST_F(WorkQueueTest, SwapLocked) {
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(2));
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(3));
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(4));
+TEST_F(WorkQueueTest, ReloadEmptyImmediateQueue) {
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(2));
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(3));
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(4));
WorkQueue* work_queue;
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue));
EXPECT_TRUE(work_queue_->Empty());
- work_queue_->SwapLocked(*incoming_queue_.get());
+ work_queue_->ReloadEmptyImmediateQueue();
EXPECT_TRUE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue));
EXPECT_FALSE(work_queue_->Empty());
- EXPECT_TRUE(incoming_queue_->empty());
ASSERT_NE(nullptr, work_queue_->GetFrontTask());
EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order());
@@ -144,20 +144,19 @@ TEST_F(WorkQueueTest, SwapLocked) {
EXPECT_EQ(4ull, work_queue_->GetBackTask()->enqueue_order());
}
-TEST_F(WorkQueueTest, SwapLockedAfterFenceHit) {
+TEST_F(WorkQueueTest, ReloadEmptyImmediateQueueAfterFenceHit) {
work_queue_->InsertFence(1);
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(2));
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(3));
- incoming_queue_->push_back(FakeTaskWithEnqueueOrder(4));
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(2));
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(3));
+ task_queue_->PushImmediateIncomingTaskForTest(FakeTaskWithEnqueueOrder(4));
WorkQueue* work_queue;
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue));
EXPECT_TRUE(work_queue_->Empty());
- work_queue_->SwapLocked(*incoming_queue_.get());
+ work_queue_->ReloadEmptyImmediateQueue();
EXPECT_FALSE(work_queue_sets_->GetOldestQueueInSet(0, &work_queue));
EXPECT_FALSE(work_queue_->Empty());
- EXPECT_TRUE(incoming_queue_->empty());
ASSERT_NE(nullptr, work_queue_->GetFrontTask());
EXPECT_EQ(2ull, work_queue_->GetFrontTask()->enqueue_order());

Powered by Google App Engine
This is Rietveld 408576698