public function run(ContextInterface $context)
{
$files = $context->getFiles()->name('*.php');
if (0 === count($files)) {
return TaskResult::createSkipped($this, $context);
}
$config = $this->getConfiguration();
$arguments = $this->processBuilder->createArgumentsForCommand('behat');
$arguments->addOptionalArgument('--config=%s', $config['config']);
$arguments->addOptionalArgument('--format=%s', $config['format']);
$arguments->addOptionalArgument('--suite=%s', $config['suite']);
$arguments->addOptionalArgument('--stop_on_failure', $config['stop_on_failure']);
$process = $this->processBuilder->buildProcess($arguments);
$process->run();
if (!$process->isSuccessful()) {
return TaskResult::createFailed($this, $context, $this->formatter->format($process));
}
return TaskResult::createPassed($this, $context);
}