/**
* Load and run Suites and Tests
*
* @param InputInterface $input
* @param OutputInterface $output
* @return int
*/
protected function execute(InputInterface $input, OutputInterface $output)
{
$this->eventEmitter->emit('peridot.execute', [$input, $output]);
$this->eventEmitter->emit('peridot.reporters', [$input, $this->factory]);
if ($input->getOption('reporters')) {
$this->listReporters($output);
return 0;
}
if ($reporter = $input->getOption('reporter')) {
$this->configuration->setReporter($reporter);
}
$this->eventEmitter->emit('peridot.load', [$this, $this->configuration]);
return $this->getResult();
}