Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. CodeCoverage.php

function CodeCoverage::init

File

vendor/phpunit/phpunit/src/Runner/CodeCoverage.php, line 70

Class

CodeCoverage
@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit

Namespace

PHPUnit\Runner

Code

public function init(Configuration $configuration, CodeCoverageFilterRegistry $codeCoverageFilterRegistry, bool $extensionRequiresCodeCoverageCollection) : void {
    $codeCoverageFilterRegistry->init($configuration);
    if (!$configuration->hasCoverageReport() && !$extensionRequiresCodeCoverageCollection) {
        return;
    }
    $this->activate($codeCoverageFilterRegistry->get(), $configuration->pathCoverage());
    if (!$this->isActive()) {
        return;
    }
    if ($configuration->hasCoverageCacheDirectory()) {
        $this->codeCoverage()
            ->cacheStaticAnalysis($configuration->coverageCacheDirectory());
    }
    $this->codeCoverage()
        ->excludeSubclassesOfThisClassFromUnintentionallyCoveredCodeCheck(Comparator::class);
    if ($configuration->strictCoverage()) {
        $this->codeCoverage()
            ->enableCheckForUnintentionallyCoveredCode();
    }
    if ($configuration->ignoreDeprecatedCodeUnitsFromCodeCoverage()) {
        $this->codeCoverage()
            ->ignoreDeprecatedCode();
    }
    else {
        $this->codeCoverage()
            ->doNotIgnoreDeprecatedCode();
    }
    if ($configuration->disableCodeCoverageIgnore()) {
        $this->codeCoverage()
            ->disableAnnotationsForIgnoringCode();
    }
    else {
        $this->codeCoverage()
            ->enableAnnotationsForIgnoringCode();
    }
    if ($configuration->includeUncoveredFiles()) {
        $this->codeCoverage()
            ->includeUncoveredFiles();
    }
    else {
        $this->codeCoverage()
            ->excludeUncoveredFiles();
    }
    if ($codeCoverageFilterRegistry->get()
        ->isEmpty()) {
        if (!$codeCoverageFilterRegistry->configured()) {
            EventFacade::emitter()->testRunnerTriggeredWarning('No filter is configured, code coverage will not be processed');
        }
        else {
            EventFacade::emitter()->testRunnerTriggeredWarning('Incorrect filter configuration, code coverage will not be processed');
        }
        $this->deactivate();
    }
}
RSS feed
Powered by Drupal