function HtmlOutputLogger::bootstrap

File

core/tests/Drupal/TestTools/Extension/HtmlLogging/HtmlOutputLogger.php, line 47

Class

HtmlOutputLogger
Drupal's extension for providing HTML output results for functional tests.

Namespace

Drupal\TestTools\Extension\HtmlLogging

Code

public function bootstrap(Configuration $configuration, Facade $facade, ParameterCollection $parameters) : void {
  // Determine output directory.
  $envDirectory = getenv('BROWSERTEST_OUTPUT_DIRECTORY');
  if ($envDirectory === "") {
    print "HTML output disabled by BROWSERTEST_OUTPUT_DIRECTORY = ''.\n\n";
    return;
  }
  elseif ($envDirectory !== FALSE) {
    $directory = $envDirectory;
  }
  elseif ($parameters->has('outputDirectory')) {
    $directory = $parameters->get('outputDirectory');
  }
  else {
    print "HTML output directory not specified.\n\n";
    return;
  }
  $realDirectory = realpath($directory);
  if ($realDirectory === FALSE || !is_dir($realDirectory) || !is_writable($realDirectory)) {
    print "HTML output directory {$directory} is not a writable directory.\n\n";
    return;
  }
  $this->outputDirectory = $realDirectory;
  // Determine output verbosity.
  $envVerbose = getenv('BROWSERTEST_OUTPUT_VERBOSE');
  if ($envVerbose !== FALSE) {
    $verbose = $envVerbose;
  }
  elseif ($parameters->has('verbose')) {
    $verbose = $parameters->get('verbose');
  }
  else {
    $verbose = FALSE;
  }
  $this->outputVerbose = filter_var($verbose, \FILTER_VALIDATE_BOOLEAN);
  $facade->registerSubscriber(new TestRunnerStartedSubscriber($this));
  $facade->registerSubscriber(new TestRunnerFinishedSubscriber($this));
  $this->enabled = TRUE;
}

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