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

Unified Diff: base/task_scheduler/scheduler_worker_thread_stack_unittest.cc

Issue 2077093002: Rename SchedulerWorkerThread* to SchedulerWorker* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@rename2
Patch Set: CR Feedback Created 4 years, 6 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_thread_stack_unittest.cc
diff --git a/base/task_scheduler/scheduler_worker_thread_stack_unittest.cc b/base/task_scheduler/scheduler_worker_thread_stack_unittest.cc
deleted file mode 100644
index 629b77952249c5cbb5bde78cd788e2bc18c2f877..0000000000000000000000000000000000000000
--- a/base/task_scheduler/scheduler_worker_thread_stack_unittest.cc
+++ /dev/null
@@ -1,171 +0,0 @@
-// Copyright 2016 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 "base/task_scheduler/scheduler_worker_thread_stack.h"
-
-#include "base/logging.h"
-#include "base/memory/ptr_util.h"
-#include "base/memory/ref_counted.h"
-#include "base/task_scheduler/scheduler_worker_thread.h"
-#include "base/task_scheduler/sequence.h"
-#include "base/task_scheduler/task_tracker.h"
-#include "base/task_scheduler/test_utils.h"
-#include "base/threading/platform_thread.h"
-#include "base/time/time.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace base {
-namespace internal {
-
-namespace {
-
-class MockSchedulerWorkerThreadDelegate
- : public SchedulerWorkerThread::Delegate {
- public:
- void OnMainEntry(SchedulerWorkerThread* worker_thread) override {}
- scoped_refptr<Sequence> GetWork(
- SchedulerWorkerThread* worker_thread) override {
- return nullptr;
- }
- void ReEnqueueSequence(scoped_refptr<Sequence> sequence) override {
- ADD_FAILURE() << "This delegate not expect to have sequences to reenqueue.";
- }
- TimeDelta GetSleepTimeout() override {
- ADD_FAILURE() <<
- "The mock thread is not expected to be woken before it is shutdown";
- return TimeDelta::Max();
- }
-};
-
-class TaskSchedulerWorkerThreadStackTest : public testing::Test {
- protected:
- void SetUp() override {
- thread_a_ = SchedulerWorkerThread::Create(
- ThreadPriority::NORMAL,
- WrapUnique(new MockSchedulerWorkerThreadDelegate), &task_tracker_);
- ASSERT_TRUE(thread_a_);
- thread_b_ = SchedulerWorkerThread::Create(
- ThreadPriority::NORMAL,
- WrapUnique(new MockSchedulerWorkerThreadDelegate), &task_tracker_);
- ASSERT_TRUE(thread_b_);
- thread_c_ = SchedulerWorkerThread::Create(
- ThreadPriority::NORMAL,
- WrapUnique(new MockSchedulerWorkerThreadDelegate), &task_tracker_);
- ASSERT_TRUE(thread_c_);
- }
-
- void TearDown() override {
- thread_a_->JoinForTesting();
- thread_b_->JoinForTesting();
- thread_c_->JoinForTesting();
- }
-
- std::unique_ptr<SchedulerWorkerThread> thread_a_;
- std::unique_ptr<SchedulerWorkerThread> thread_b_;
- std::unique_ptr<SchedulerWorkerThread> thread_c_;
-
- private:
- TaskTracker task_tracker_;
-};
-
-} // namespace
-
-// Verify that Push() and Pop() add/remove values in FIFO order.
-TEST_F(TaskSchedulerWorkerThreadStackTest, PushPop) {
- SchedulerWorkerThreadStack stack;
- EXPECT_TRUE(stack.IsEmpty());
- EXPECT_EQ(0U, stack.Size());
-
- stack.Push(thread_a_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(1U, stack.Size());
-
- stack.Push(thread_b_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(2U, stack.Size());
-
- stack.Push(thread_c_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(3U, stack.Size());
-
- EXPECT_EQ(thread_c_.get(), stack.Pop());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(2U, stack.Size());
-
- stack.Push(thread_c_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(3U, stack.Size());
-
- EXPECT_EQ(thread_c_.get(), stack.Pop());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(2U, stack.Size());
-
- EXPECT_EQ(thread_b_.get(), stack.Pop());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(1U, stack.Size());
-
- EXPECT_EQ(thread_a_.get(), stack.Pop());
- EXPECT_TRUE(stack.IsEmpty());
- EXPECT_EQ(0U, stack.Size());
-}
-
-// Verify that a value can be removed by Remove().
-TEST_F(TaskSchedulerWorkerThreadStackTest, Remove) {
- SchedulerWorkerThreadStack stack;
- EXPECT_TRUE(stack.IsEmpty());
- EXPECT_EQ(0U, stack.Size());
-
- stack.Push(thread_a_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(1U, stack.Size());
-
- stack.Push(thread_b_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(2U, stack.Size());
-
- stack.Push(thread_c_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(3U, stack.Size());
-
- stack.Remove(thread_b_.get());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(2U, stack.Size());
-
- EXPECT_EQ(thread_c_.get(), stack.Pop());
- EXPECT_FALSE(stack.IsEmpty());
- EXPECT_EQ(1U, stack.Size());
-
- EXPECT_EQ(thread_a_.get(), stack.Pop());
- EXPECT_TRUE(stack.IsEmpty());
- EXPECT_EQ(0U, stack.Size());
-}
-
-// Verify that a value can be pushed again after it has been removed.
-TEST_F(TaskSchedulerWorkerThreadStackTest, PushAfterRemove) {
- SchedulerWorkerThreadStack stack;
- EXPECT_EQ(0U, stack.Size());
- EXPECT_TRUE(stack.IsEmpty());
-
- stack.Push(thread_a_.get());
- EXPECT_EQ(1U, stack.Size());
- EXPECT_FALSE(stack.IsEmpty());
-
- stack.Remove(thread_a_.get());
- EXPECT_EQ(0U, stack.Size());
- EXPECT_TRUE(stack.IsEmpty());
-
- stack.Push(thread_a_.get());
- EXPECT_EQ(1U, stack.Size());
- EXPECT_FALSE(stack.IsEmpty());
-}
-
-// Verify that Push() DCHECKs when a value is inserted twice.
-TEST_F(TaskSchedulerWorkerThreadStackTest, PushTwice) {
- SchedulerWorkerThreadStack stack;
- stack.Push(thread_a_.get());
- EXPECT_DCHECK_DEATH({ stack.Push(thread_a_.get()); }, "");
-}
-
-} // namespace internal
-} // namespace base
« no previous file with comments | « base/task_scheduler/scheduler_worker_thread_stack.cc ('k') | base/task_scheduler/scheduler_worker_thread_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698