/**
  * {@inheritdoc}
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     $output->writeln("<info>Running Status Checks ... </info>");
     # Check whether Docker is installed
     $docker = new DockerHelper();
     $docker->getStatus($input, $output);
     # Check whether base containers have been built and output list of available containers
     $this->containerStatus($input, $output);
     # Check whether configuration sets have been created and output list of available config sets
     $this->configStatus($input, $output);
     # Check whether testing dependencies (phpunit, etc) have been installed
     $this->dependencyStatus($input, $output);
     # Output error counts and final status result
     $this->statusOutput($output);
 }
 /**
  * {@inheritdoc}
  */
 public function execute(InputInterface $input, OutputInterface $output)
 {
     # Check if Docker is installed
     $output->writeln("<info>Executing init:docker</info>");
     $docker = new DockerHelper();
     if ($bin = $docker->locateBinary()) {
         $output->writeln("<comment>Docker binary located at {$bin}</comment>");
         $docker->getStatus($input, $output);
     } else {
         # If not, attempt to install docker
         $output->writeln('<comment>Docker binary not found.</comment>');
         $helper = $this->getHelperSet()->get('question');
         $question = new ConfirmationQuestion('<fg=cyan;bg=blue>DrupalCI will now attempt to install Docker on your system.  Continue (y/n)?</fg=cyan;bg=blue>', FALSE);
         if (!$helper->ask($input, $output, $question)) {
             return;
         }
         $docker->installDocker($output);
     }
 }