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

Side by Side Diff: base/threading/sequenced_worker_pool_unittest.cc

Issue 11649032: Flush SequenceWorkerPool tasks after each unit test. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/threading/sequenced_worker_pool.h" 5 #include "base/threading/sequenced_worker_pool.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 void StartTaskRunner() { 694 void StartTaskRunner() {
695 pool_owner_.reset( 695 pool_owner_.reset(
696 new SequencedWorkerPoolOwner(10, "SequencedWorkerPoolTaskRunnerTest")); 696 new SequencedWorkerPoolOwner(10, "SequencedWorkerPoolTaskRunnerTest"));
697 } 697 }
698 698
699 scoped_refptr<SequencedWorkerPool> GetTaskRunner() { 699 scoped_refptr<SequencedWorkerPool> GetTaskRunner() {
700 return pool_owner_->pool(); 700 return pool_owner_->pool();
701 } 701 }
702 702
703 void StopTaskRunner() { 703 void StopTaskRunner() {
704 // Make sure all tasks (including delayed ones) are run before shutting 704 // Make sure all tasks are run before shutting down. Delayed tasks are
705 // down. 705 // not run, they're simply deleted.
706 pool_owner_->pool()->FlushForTesting(); 706 pool_owner_->pool()->FlushForTesting();
707 pool_owner_->pool()->Shutdown(); 707 pool_owner_->pool()->Shutdown();
708 // Don't reset |pool_owner_| here, as the test may still hold a 708 // Don't reset |pool_owner_| here, as the test may still hold a
709 // reference to the pool. 709 // reference to the pool.
710 } 710 }
711 711
712 bool TaskRunnerHandlesNonZeroDelays() const { 712 bool TaskRunnerHandlesNonZeroDelays() const {
713 return true; 713 return true;
714 } 714 }
715 715
(...skipping 18 matching lines...) Expand all
734 new SequencedWorkerPoolOwner(10, "SequencedWorkerPoolTaskRunnerTest")); 734 new SequencedWorkerPoolOwner(10, "SequencedWorkerPoolTaskRunnerTest"));
735 task_runner_ = pool_owner_->pool()->GetTaskRunnerWithShutdownBehavior( 735 task_runner_ = pool_owner_->pool()->GetTaskRunnerWithShutdownBehavior(
736 SequencedWorkerPool::BLOCK_SHUTDOWN); 736 SequencedWorkerPool::BLOCK_SHUTDOWN);
737 } 737 }
738 738
739 scoped_refptr<TaskRunner> GetTaskRunner() { 739 scoped_refptr<TaskRunner> GetTaskRunner() {
740 return task_runner_; 740 return task_runner_;
741 } 741 }
742 742
743 void StopTaskRunner() { 743 void StopTaskRunner() {
744 // Make sure all tasks (including delayed ones) are run before shutting 744 // Make sure all tasks are run before shutting down. Delayed tasks are
745 // down. 745 // not run, they're simply deleted.
746 pool_owner_->pool()->FlushForTesting(); 746 pool_owner_->pool()->FlushForTesting();
747 pool_owner_->pool()->Shutdown(); 747 pool_owner_->pool()->Shutdown();
748 // Don't reset |pool_owner_| here, as the test may still hold a 748 // Don't reset |pool_owner_| here, as the test may still hold a
749 // reference to the pool. 749 // reference to the pool.
750 } 750 }
751 751
752 bool TaskRunnerHandlesNonZeroDelays() const { 752 bool TaskRunnerHandlesNonZeroDelays() const {
753 return true; 753 return true;
754 } 754 }
755 755
(...skipping 19 matching lines...) Expand all
775 10, "SequencedWorkerPoolSequencedTaskRunnerTest")); 775 10, "SequencedWorkerPoolSequencedTaskRunnerTest"));
776 task_runner_ = pool_owner_->pool()->GetSequencedTaskRunner( 776 task_runner_ = pool_owner_->pool()->GetSequencedTaskRunner(
777 pool_owner_->pool()->GetSequenceToken()); 777 pool_owner_->pool()->GetSequenceToken());
778 } 778 }
779 779
780 scoped_refptr<SequencedTaskRunner> GetTaskRunner() { 780 scoped_refptr<SequencedTaskRunner> GetTaskRunner() {
781 return task_runner_; 781 return task_runner_;
782 } 782 }
783 783
784 void StopTaskRunner() { 784 void StopTaskRunner() {
785 // Make sure all tasks (including delayed ones) are run before shutting 785 // Make sure all tasks are run before shutting down. Delayed tasks are
786 // down. 786 // not run, they're simply deleted.
787 pool_owner_->pool()->FlushForTesting(); 787 pool_owner_->pool()->FlushForTesting();
788 pool_owner_->pool()->Shutdown(); 788 pool_owner_->pool()->Shutdown();
789 // Don't reset |pool_owner_| here, as the test may still hold a 789 // Don't reset |pool_owner_| here, as the test may still hold a
790 // reference to the pool. 790 // reference to the pool.
791 } 791 }
792 792
793 bool TaskRunnerHandlesNonZeroDelays() const { 793 bool TaskRunnerHandlesNonZeroDelays() const {
794 return true; 794 return true;
795 } 795 }
796 796
797 private: 797 private:
798 MessageLoop message_loop_; 798 MessageLoop message_loop_;
799 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_; 799 scoped_ptr<SequencedWorkerPoolOwner> pool_owner_;
800 scoped_refptr<SequencedTaskRunner> task_runner_; 800 scoped_refptr<SequencedTaskRunner> task_runner_;
801 }; 801 };
802 802
803 INSTANTIATE_TYPED_TEST_CASE_P( 803 INSTANTIATE_TYPED_TEST_CASE_P(
804 SequencedWorkerPoolSequencedTaskRunner, TaskRunnerTest, 804 SequencedWorkerPoolSequencedTaskRunner, TaskRunnerTest,
805 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); 805 SequencedWorkerPoolSequencedTaskRunnerTestDelegate);
806 806
807 INSTANTIATE_TYPED_TEST_CASE_P( 807 INSTANTIATE_TYPED_TEST_CASE_P(
808 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest, 808 SequencedWorkerPoolSequencedTaskRunner, SequencedTaskRunnerTest,
809 SequencedWorkerPoolSequencedTaskRunnerTestDelegate); 809 SequencedWorkerPoolSequencedTaskRunnerTestDelegate);
810 810
811 } // namespace 811 } // namespace
812 812
813 } // namespace base 813 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698