| Index: base/task_scheduler/task_scheduler_impl_unittest.cc
|
| diff --git a/base/task_scheduler/task_scheduler_impl_unittest.cc b/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| index 21a18b0dba8753e14cf37c0b64a1e3a734f31d70..d7462147fcb2b6165910e48009a768291f19b740 100644
|
| --- a/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| +++ b/base/task_scheduler/task_scheduler_impl_unittest.cc
|
| @@ -34,11 +34,11 @@ namespace {
|
|
|
| struct TraitsExecutionModePair {
|
| TraitsExecutionModePair(const TaskTraits& traits,
|
| - ExecutionMode execution_mode)
|
| + test::ExecutionMode execution_mode)
|
| : traits(traits), execution_mode(execution_mode) {}
|
|
|
| TaskTraits traits;
|
| - ExecutionMode execution_mode;
|
| + test::ExecutionMode execution_mode;
|
| };
|
|
|
| #if DCHECK_IS_ON()
|
| @@ -88,16 +88,34 @@ void VerifyTaskEnvironementAndSignalEvent(const TaskTraits& traits,
|
| event->Signal();
|
| }
|
|
|
| +scoped_refptr<TaskRunner> CreateTaskRunnerWithTraitsAndExecutionMode(
|
| + TaskScheduler* scheduler,
|
| + const TaskTraits& traits,
|
| + test::ExecutionMode execution_mode) {
|
| + switch (execution_mode) {
|
| + case test::ExecutionMode::PARALLEL:
|
| + return scheduler->CreateTaskRunnerWithTraits(traits);
|
| + case test::ExecutionMode::SEQUENCED:
|
| + return scheduler->CreateSequencedTaskRunnerWithTraits(traits);
|
| + case test::ExecutionMode::SINGLE_THREADED:
|
| + return scheduler->CreateSingleThreadTaskRunnerWithTraits(traits);
|
| + }
|
| + ADD_FAILURE() << "Unknown ExecutionMode";
|
| + return nullptr;
|
| +}
|
| +
|
| class ThreadPostingTasks : public SimpleThread {
|
| public:
|
| // Creates a thread that posts Tasks to |scheduler| with |traits| and
|
| // |execution_mode|.
|
| ThreadPostingTasks(TaskSchedulerImpl* scheduler,
|
| const TaskTraits& traits,
|
| - ExecutionMode execution_mode)
|
| + test::ExecutionMode execution_mode)
|
| : SimpleThread("ThreadPostingTasks"),
|
| traits_(traits),
|
| - factory_(scheduler->CreateTaskRunnerWithTraits(traits, execution_mode),
|
| + factory_(CreateTaskRunnerWithTraitsAndExecutionMode(scheduler,
|
| + traits,
|
| + execution_mode),
|
| execution_mode) {}
|
|
|
| void WaitForAllTasksToRun() { factory_.WaitForAllTasksToRun(); }
|
| @@ -124,11 +142,11 @@ class ThreadPostingTasks : public SimpleThread {
|
| std::vector<TraitsExecutionModePair> GetTraitsExecutionModePairs() {
|
| std::vector<TraitsExecutionModePair> params;
|
|
|
| - const ExecutionMode execution_modes[] = {ExecutionMode::PARALLEL,
|
| - ExecutionMode::SEQUENCED,
|
| - ExecutionMode::SINGLE_THREADED};
|
| + const test::ExecutionMode execution_modes[] = {
|
| + test::ExecutionMode::PARALLEL, test::ExecutionMode::SEQUENCED,
|
| + test::ExecutionMode::SINGLE_THREADED};
|
|
|
| - for (ExecutionMode execution_mode : execution_modes) {
|
| + for (test::ExecutionMode execution_mode : execution_modes) {
|
| for (size_t priority_index = static_cast<size_t>(TaskPriority::LOWEST);
|
| priority_index <= static_cast<size_t>(TaskPriority::HIGHEST);
|
| ++priority_index) {
|
| @@ -219,8 +237,8 @@ TEST_P(TaskSchedulerImplTest, PostTaskWithTraits) {
|
| // and respect the characteristics of their ExecutionMode.
|
| TEST_P(TaskSchedulerImplTest, PostTasksViaTaskRunner) {
|
| test::TestTaskFactory factory(
|
| - scheduler_->CreateTaskRunnerWithTraits(GetParam().traits,
|
| - GetParam().execution_mode),
|
| + CreateTaskRunnerWithTraitsAndExecutionMode(
|
| + scheduler_.get(), GetParam().traits, GetParam().execution_mode),
|
| GetParam().execution_mode);
|
| EXPECT_FALSE(factory.task_runner()->RunsTasksOnCurrentThread());
|
|
|
|
|