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.