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

Unified Diff: base/task_scheduler/scheduler_worker_pool_impl_unittest.cc

Issue 2531883002: TaskScheduler: Set the IO allowed bit in TaskTracker::RunTask(). (Closed)
Patch Set: rebase Created 4 years 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_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);
« no previous file with comments | « base/task_scheduler/scheduler_worker_pool_impl.cc ('k') | base/task_scheduler/scheduler_worker_pool_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698