| Index: base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
|
| diff --git a/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
|
| index 4af472883f9a3fec08cc608e04a6f9ffe0d5cc43..15591d2f69289e7dff6c0b79ded9b52424dc0028 100644
|
| --- a/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
|
| +++ b/base/task_scheduler/scheduler_worker_pool_impl_unittest.cc
|
| @@ -58,7 +58,6 @@ constexpr TimeDelta kReclaimTimeForDetachTests =
|
| constexpr TimeDelta kExtraTimeToWaitForDetach =
|
| TimeDelta::FromSeconds(1);
|
|
|
| -using IORestriction = SchedulerWorkerPoolParams::IORestriction;
|
| using StandbyThreadPolicy = SchedulerWorkerPoolParams::StandbyThreadPolicy;
|
|
|
| class TaskSchedulerWorkerPoolImplTest
|
| @@ -85,9 +84,9 @@ class TaskSchedulerWorkerPoolImplTest
|
| delayed_task_manager_ =
|
| base::MakeUnique<DelayedTaskManager>(service_thread_.task_runner());
|
| worker_pool_ = SchedulerWorkerPoolImpl::Create(
|
| - SchedulerWorkerPoolParams(
|
| - "TestWorkerPool", ThreadPriority::NORMAL, IORestriction::ALLOWED,
|
| - StandbyThreadPolicy::LAZY, num_workers, suggested_reclaim_time),
|
| + SchedulerWorkerPoolParams("TestWorkerPool", ThreadPriority::NORMAL,
|
| + StandbyThreadPolicy::LAZY, num_workers,
|
| + suggested_reclaim_time),
|
| Bind(&TaskSchedulerWorkerPoolImplTest::ReEnqueueSequenceCallback,
|
| Unretained(this)),
|
| &task_tracker_, delayed_task_manager_.get());
|
| @@ -440,67 +439,6 @@ INSTANTIATE_TEST_CASE_P(
|
|
|
| namespace {
|
|
|
| -void NotReachedReEnqueueSequenceCallback(scoped_refptr<Sequence> sequence) {
|
| - ADD_FAILURE()
|
| - << "Unexpected invocation of NotReachedReEnqueueSequenceCallback.";
|
| -}
|
| -
|
| -// Verifies that the current thread allows I/O if |io_restriction| is ALLOWED
|
| -// and disallows it otherwise. Signals |event| before returning.
|
| -void ExpectIORestriction(IORestriction io_restriction, WaitableEvent* event) {
|
| - DCHECK(event);
|
| -
|
| - if (io_restriction == IORestriction::ALLOWED) {
|
| - ThreadRestrictions::AssertIOAllowed();
|
| - } else {
|
| - EXPECT_DCHECK_DEATH({ ThreadRestrictions::AssertIOAllowed(); });
|
| - }
|
| -
|
| - event->Signal();
|
| -}
|
| -
|
| -class TaskSchedulerWorkerPoolImplIORestrictionTest
|
| - : public testing::TestWithParam<IORestriction> {
|
| - public:
|
| - TaskSchedulerWorkerPoolImplIORestrictionTest() = default;
|
| -
|
| - private:
|
| - DISALLOW_COPY_AND_ASSIGN(TaskSchedulerWorkerPoolImplIORestrictionTest);
|
| -};
|
| -
|
| -} // namespace
|
| -
|
| -TEST_P(TaskSchedulerWorkerPoolImplIORestrictionTest, IORestriction) {
|
| - TaskTracker task_tracker;
|
| - DelayedTaskManager delayed_task_manager(
|
| - make_scoped_refptr(new TestSimpleTaskRunner));
|
| -
|
| - auto worker_pool = SchedulerWorkerPoolImpl::Create(
|
| - SchedulerWorkerPoolParams(
|
| - "TestWorkerPoolWithParam", ThreadPriority::NORMAL, GetParam(),
|
| - StandbyThreadPolicy::LAZY, 1U, TimeDelta::Max()),
|
| - Bind(&NotReachedReEnqueueSequenceCallback), &task_tracker,
|
| - &delayed_task_manager);
|
| - ASSERT_TRUE(worker_pool);
|
| -
|
| - WaitableEvent task_ran(WaitableEvent::ResetPolicy::MANUAL,
|
| - WaitableEvent::InitialState::NOT_SIGNALED);
|
| - worker_pool->CreateTaskRunnerWithTraits(TaskTraits())
|
| - ->PostTask(FROM_HERE, Bind(&ExpectIORestriction, GetParam(), &task_ran));
|
| - task_ran.Wait();
|
| -
|
| - worker_pool->JoinForTesting();
|
| -}
|
| -
|
| -INSTANTIATE_TEST_CASE_P(IOAllowed,
|
| - TaskSchedulerWorkerPoolImplIORestrictionTest,
|
| - ::testing::Values(IORestriction::ALLOWED));
|
| -INSTANTIATE_TEST_CASE_P(IODisallowed,
|
| - TaskSchedulerWorkerPoolImplIORestrictionTest,
|
| - ::testing::Values(IORestriction::DISALLOWED));
|
| -
|
| -namespace {
|
| -
|
| class TaskSchedulerWorkerPoolSingleThreadedTest
|
| : public TaskSchedulerWorkerPoolImplTest {
|
| public:
|
| @@ -782,6 +720,11 @@ TEST_F(TaskSchedulerWorkerPoolHistogramTest, NumTasksBetweenWaitsWithDetach) {
|
|
|
| namespace {
|
|
|
| +void NotReachedReEnqueueSequenceCallback(scoped_refptr<Sequence> sequence) {
|
| + ADD_FAILURE()
|
| + << "Unexpected invocation of NotReachedReEnqueueSequenceCallback.";
|
| +}
|
| +
|
| void CaptureThreadId(PlatformThreadId* thread_id) {
|
| ASSERT_TRUE(thread_id);
|
| *thread_id = PlatformThread::CurrentId();
|
| @@ -835,7 +778,6 @@ TEST(TaskSchedulerWorkerPoolStandbyPolicyTest, InitLazy) {
|
| make_scoped_refptr(new TestSimpleTaskRunner));
|
| auto worker_pool = SchedulerWorkerPoolImpl::Create(
|
| SchedulerWorkerPoolParams("LazyPolicyWorkerPool", ThreadPriority::NORMAL,
|
| - IORestriction::DISALLOWED,
|
| StandbyThreadPolicy::LAZY, 8U,
|
| TimeDelta::Max()),
|
| Bind(&NotReachedReEnqueueSequenceCallback), &task_tracker,
|
| @@ -851,7 +793,6 @@ TEST(TaskSchedulerWorkerPoolStandbyPolicyTest, InitOne) {
|
| make_scoped_refptr(new TestSimpleTaskRunner));
|
| auto worker_pool = SchedulerWorkerPoolImpl::Create(
|
| SchedulerWorkerPoolParams("LazyPolicyWorkerPool", ThreadPriority::NORMAL,
|
| - IORestriction::DISALLOWED,
|
| StandbyThreadPolicy::ONE, 8U, TimeDelta::Max()),
|
| Bind(&NotReachedReEnqueueSequenceCallback), &task_tracker,
|
| &delayed_task_manager);
|
|
|