Inheritance: extends Doctrine\Common\Collections\ArrayCollection
 function it_should_contain_the_error_messages(TasksCollection $tasks, ContextInterface $context, TaskResult $passedTaskResult, TaskResult $failedTaskResult)
 {
     $taskResults = new TaskResultCollection();
     $taskResults->add($passedTaskResult->getWrappedObject());
     $failedTaskResult->getMessage()->willReturn('message 1');
     $taskResults->add($failedTaskResult->getWrappedObject());
     $this->beConstructedWith($tasks, $context, $taskResults);
     $this->getMessages()->shouldReturn(array('message 1'));
 }
Example #2
0
 /**
  * @param ContextInterface $context
  *
  * @return TaskResultCollection
  */
 public function run(ContextInterface $context)
 {
     $tasks = $this->tasks->filterByContext($context)->sortByPriority($this->grumPHP);
     $taskResults = new TaskResultCollection();
     $this->eventDispatcher->dispatch(RunnerEvents::RUNNER_RUN, new RunnerEvent($tasks, $context, $taskResults));
     foreach ($tasks as $task) {
         try {
             $taskResult = $this->runTask($task, $context);
         } catch (RuntimeException $e) {
             $taskResult = TaskResult::createFailed($task, $context, $e->getMessage());
         }
         $taskResults->add($taskResult);
         if (!$taskResult->isPassed() && $taskResult->isBlocking() && $this->grumPHP->stopOnFailure()) {
             break;
         }
     }
     if ($taskResults->isFailed()) {
         $this->eventDispatcher->dispatch(RunnerEvents::RUNNER_FAILED, new RunnerFailedEvent($tasks, $context, $taskResults));
         return $taskResults;
     }
     $this->eventDispatcher->dispatch(RunnerEvents::RUNNER_COMPLETE, new RunnerEvent($tasks, $context, $taskResults));
     return $taskResults;
 }
Example #3
0
 function it_should_display_warning_of_non_blocking_failed_tasks(OutputInterface $output, TaskRunner $taskRunner, TaskInterface $task, ContextInterface $context)
 {
     $aTask = $task->getWrappedObject();
     $aContext = $context->getWrappedObject();
     $nonBlockingFailedTaskResult = TaskResult::createNonBlockingFailed($aTask, $aContext, 'non blocking task message');
     $taskResults = new TaskResultCollection();
     $taskResults->add($nonBlockingFailedTaskResult);
     $taskRunner->run($context)->willReturn($taskResults);
     $output->isDecorated()->willReturn(false);
     $output->getVerbosity()->willReturn(OutputInterface::VERBOSITY_NORMAL);
     $output->writeln(Argument::containingString('non blocking task message'))->shouldBeCalled();
     $output->writeln(Argument::any())->shouldBeCalled();
     $this->run($output, $context);
 }