function Configuration::createFromCommandLine

Builds the test runner configuration from command line arguments.

File

core/tests/Drupal/TestTools/TestRunner/Configuration.php, line 62

Class

Configuration
Helper class to manage run-tests.sh configuration.

Namespace

Drupal\TestTools\TestRunner

Code

public static function createFromCommandLine(array $arguments) : self {
  if (self::$instance) {
    return self::$instance;
  }
  if (count($arguments) < 2) {
    $arguments[] = '--help';
  }
  $input = new ArgvInput($arguments, self::commandLineDefinition());
  $concurrency = $input->getOption('concurrency');
  if (!is_numeric($concurrency) || $concurrency <= 0) {
    throw new \RuntimeException("--concurrency must be a strictly positive integer.");
  }
  if ($input->getArgument('tests')) {
    $input->setArgument('tests', explode(',', $input->getArgument('tests')));
  }
  else {
    $input->setArgument('tests', []);
  }
  if ($input->getOption('types')) {
    $input->setOption('types', explode(',', $input->getOption('types')));
  }
  else {
    $input->setOption('types', []);
  }
  self::$instance = new self($input->getOptions(), $input->getArguments());
  return self::$instance;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.