Index: base/threading/sequenced_worker_pool_unittest.cc |
diff --git a/base/threading/sequenced_worker_pool_unittest.cc b/base/threading/sequenced_worker_pool_unittest.cc |
index 2becd0993c031025a25562dd8094cc61936419f7..dcb9bffdc7c8ee51eb564f66c14fb1290450e273 100644 |
--- a/base/threading/sequenced_worker_pool_unittest.cc |
+++ b/base/threading/sequenced_worker_pool_unittest.cc |
@@ -2,6 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/threading/sequenced_worker_pool.h" |
+ |
#include <algorithm> |
#include "base/bind.h" |
@@ -13,9 +15,9 @@ |
#include "base/synchronization/condition_variable.h" |
#include "base/synchronization/lock.h" |
#include "base/test/sequenced_worker_pool_owner.h" |
+#include "base/test/sequenced_task_runner_test_template.h" |
#include "base/test/task_runner_test_template.h" |
#include "base/threading/platform_thread.h" |
-#include "base/threading/sequenced_worker_pool.h" |
#include "base/tracked_objects.h" |
#include "testing/gtest/include/gtest/gtest.h" |
@@ -533,6 +535,51 @@ INSTANTIATE_TYPED_TEST_CASE_P( |
SequencedWorkerPool, TaskRunnerTest, |
SequencedWorkerPoolTaskRunnerTestDelegate); |
+class SequencedWorkerPoolSequencedTaskRunnerTestDelegate { |
+ public: |
+ SequencedWorkerPoolSequencedTaskRunnerTestDelegate() {} |
+ |
+ ~SequencedWorkerPoolSequencedTaskRunnerTestDelegate() { |
+ } |
+ |
+ void StartTaskRunner() { |
+ pool_owner_.reset(new SequencedWorkerPoolOwner( |
+ 10, "SequencedWorkerPoolSequencedTaskRunnerTest")); |
+ task_runner_ = pool_owner_->pool()->GetSequencedTaskRunner( |
+ pool_owner_->pool()->GetSequenceToken()); |
+ } |
+ |
+ scoped_refptr<SequencedTaskRunner> GetTaskRunner() { |
+ return task_runner_; |
+ } |
+ |
+ void StopTaskRunner() { |
+ pool_owner_->pool()->FlushForTesting(); |
+ pool_owner_->pool()->Shutdown(); |
+ // Don't reset |pool_owner_| here, as the test may still hold a |
+ // reference to the pool. |
+ } |
+ |
+ bool TaskRunnerHandlesNonZeroDelays() const { |
+ // TODO(akalin): Set this to true once SequencedWorkerPool handles |
+ // non-zero delays. |
+ return false; |
+ } |
+ |
+ private: |
+ MessageLoop message_loop_; |
+ scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; |
+ scoped_refptr<SequencedTaskRunner> task_runner_; |
+}; |
+ |
+INSTANTIATE_TYPED_TEST_CASE_P( |
+ SequencedWorkerPoolSequencedTaskRunner, TaskRunnerTest, |
+ SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
+ |
+INSTANTIATE_TYPED_TEST_CASE_P( |
+ SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, |
+ SequencedWorkerPoolSequencedTaskRunnerTestDelegate); |
+ |
} // namespace |
} // namespace base |