function Builder::fromParameters
Throws
File
-
vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Cli/ Builder.php, line 146
Class
- Builder
- @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
Namespace
PHPUnit\TextUI\CliArgumentsCode
public function fromParameters(array $parameters) : Configuration {
try {
$options = (new CliParser())->parse($parameters, self::SHORT_OPTIONS, self::LONG_OPTIONS);
} catch (CliParserException $e) {
throw new Exception($e->getMessage(), $e->getCode(), $e);
}
$atLeastVersion = null;
$backupGlobals = null;
$backupStaticProperties = null;
$beStrictAboutChangesToGlobalState = null;
$bootstrap = null;
$cacheDirectory = null;
$cacheResult = null;
$cacheResultFile = null;
$checkVersion = false;
$colors = null;
$columns = null;
$configuration = null;
$coverageCacheDirectory = null;
$warmCoverageCache = false;
$coverageFilter = null;
$coverageClover = null;
$coverageCobertura = null;
$coverageCrap4J = null;
$coverageHtml = null;
$coveragePhp = null;
$coverageText = null;
$coverageTextShowUncoveredFiles = null;
$coverageTextShowOnlySummary = null;
$coverageXml = null;
$pathCoverage = null;
$defaultTimeLimit = null;
$disableCodeCoverageIgnore = null;
$disallowTestOutput = null;
$displayIncomplete = null;
$displaySkipped = null;
$displayDeprecations = null;
$displayPhpunitDeprecations = null;
$displayErrors = null;
$displayNotices = null;
$displayWarnings = null;
$enforceTimeLimit = null;
$excludeGroups = null;
$executionOrder = null;
$executionOrderDefects = null;
$failOnDeprecation = null;
$failOnPhpunitDeprecation = null;
$failOnEmptyTestSuite = null;
$failOnIncomplete = null;
$failOnNotice = null;
$failOnRisky = null;
$failOnSkipped = null;
$failOnWarning = null;
$stopOnDefect = null;
$stopOnDeprecation = null;
$stopOnError = null;
$stopOnFailure = null;
$stopOnIncomplete = null;
$stopOnNotice = null;
$stopOnRisky = null;
$stopOnSkipped = null;
$stopOnWarning = null;
$filter = null;
$generateBaseline = null;
$useBaseline = null;
$ignoreBaseline = false;
$generateConfiguration = false;
$migrateConfiguration = false;
$groups = null;
$testsCovering = null;
$testsUsing = null;
$help = false;
$includePath = null;
$iniSettings = [];
$junitLogfile = null;
$listGroups = false;
$listSuites = false;
$listTests = false;
$listTestsXml = null;
$noCoverage = null;
$noExtensions = null;
$noOutput = null;
$noProgress = null;
$noResults = null;
$noLogging = null;
$processIsolation = null;
$randomOrderSeed = null;
$reportUselessTests = null;
$resolveDependencies = null;
$reverseList = null;
$stderr = null;
$strictCoverage = null;
$teamcityLogfile = null;
$testdoxHtmlFile = null;
$testdoxTextFile = null;
$testSuffixes = null;
$testSuite = null;
$excludeTestSuite = null;
$useDefaultConfiguration = true;
$version = false;
$logEventsText = null;
$logEventsVerboseText = null;
$printerTeamCity = null;
$printerTestDox = null;
$debug = false;
foreach ($options[0] as $option) {
$optionAllowedMultipleTimes = false;
switch ($option[0]) {
case '--colors':
$colors = $option[1] ?: \PHPUnit\TextUI\Configuration\Configuration::COLOR_AUTO;
break;
case '--bootstrap':
$bootstrap = $option[1];
break;
case '--cache-directory':
$cacheDirectory = $option[1];
break;
case '--cache-result':
$cacheResult = true;
break;
case '--do-not-cache-result':
$cacheResult = false;
break;
case '--cache-result-file':
$cacheResultFile = $option[1];
break;
case '--columns':
if (is_numeric($option[1])) {
$columns = (int) $option[1];
}
elseif ($option[1] === 'max') {
$columns = 'max';
}
break;
case 'c':
case '--configuration':
$configuration = $option[1];
break;
case '--coverage-cache':
$coverageCacheDirectory = $option[1];
break;
case '--warm-coverage-cache':
$warmCoverageCache = true;
break;
case '--coverage-clover':
$coverageClover = $option[1];
break;
case '--coverage-cobertura':
$coverageCobertura = $option[1];
break;
case '--coverage-crap4j':
$coverageCrap4J = $option[1];
break;
case '--coverage-html':
$coverageHtml = $option[1];
break;
case '--coverage-php':
$coveragePhp = $option[1];
break;
case '--coverage-text':
if ($option[1] === null) {
$option[1] = 'php://stdout';
}
$coverageText = $option[1];
break;
case '--only-summary-for-coverage-text':
$coverageTextShowOnlySummary = true;
break;
case '--show-uncovered-for-coverage-text':
$coverageTextShowUncoveredFiles = true;
break;
case '--coverage-xml':
$coverageXml = $option[1];
break;
case '--path-coverage':
$pathCoverage = true;
break;
case 'd':
$tmp = explode('=', $option[1]);
if (isset($tmp[0])) {
if (isset($tmp[1])) {
$iniSettings[$tmp[0]] = $tmp[1];
}
else {
$iniSettings[$tmp[0]] = '1';
}
}
$optionAllowedMultipleTimes = true;
break;
case 'h':
case '--help':
$help = true;
break;
case '--filter':
$filter = $option[1];
break;
case '--testsuite':
$testSuite = $option[1];
break;
case '--exclude-testsuite':
$excludeTestSuite = $option[1];
break;
case '--generate-baseline':
$generateBaseline = $option[1];
if (basename($generateBaseline) === $generateBaseline) {
$generateBaseline = getcwd() . DIRECTORY_SEPARATOR . $generateBaseline;
}
break;
case '--use-baseline':
$useBaseline = $option[1];
if (basename($useBaseline) === $useBaseline && !is_file($useBaseline)) {
$useBaseline = getcwd() . DIRECTORY_SEPARATOR . $useBaseline;
}
break;
case '--ignore-baseline':
$ignoreBaseline = true;
break;
case '--generate-configuration':
$generateConfiguration = true;
break;
case '--migrate-configuration':
$migrateConfiguration = true;
break;
case '--group':
$groups = explode(',', $option[1]);
break;
case '--exclude-group':
$excludeGroups = explode(',', $option[1]);
break;
case '--covers':
$testsCovering = array_map('strtolower', explode(',', $option[1]));
break;
case '--uses':
$testsUsing = array_map('strtolower', explode(',', $option[1]));
break;
case '--test-suffix':
$testSuffixes = explode(',', $option[1]);
break;
case '--include-path':
$includePath = $option[1];
break;
case '--list-groups':
$listGroups = true;
break;
case '--list-suites':
$listSuites = true;
break;
case '--list-tests':
$listTests = true;
break;
case '--list-tests-xml':
$listTestsXml = $option[1];
break;
case '--log-junit':
$junitLogfile = $option[1];
break;
case '--log-teamcity':
$teamcityLogfile = $option[1];
break;
case '--order-by':
foreach (explode(',', $option[1]) as $order) {
switch ($order) {
case 'default':
$executionOrder = TestSuiteSorter::ORDER_DEFAULT;
$executionOrderDefects = TestSuiteSorter::ORDER_DEFAULT;
$resolveDependencies = true;
break;
case 'defects':
$executionOrderDefects = TestSuiteSorter::ORDER_DEFECTS_FIRST;
break;
case 'depends':
$resolveDependencies = true;
break;
case 'duration':
$executionOrder = TestSuiteSorter::ORDER_DURATION;
break;
case 'no-depends':
$resolveDependencies = false;
break;
case 'random':
$executionOrder = TestSuiteSorter::ORDER_RANDOMIZED;
break;
case 'reverse':
$executionOrder = TestSuiteSorter::ORDER_REVERSED;
break;
case 'size':
$executionOrder = TestSuiteSorter::ORDER_SIZE;
break;
default:
throw new Exception(sprintf('unrecognized --order-by option: %s', $order));
}
}
break;
case '--process-isolation':
$processIsolation = true;
break;
case '--stderr':
$stderr = true;
break;
case '--fail-on-deprecation':
$failOnDeprecation = true;
break;
case '--fail-on-phpunit-deprecation':
$failOnPhpunitDeprecation = true;
break;
case '--fail-on-empty-test-suite':
$failOnEmptyTestSuite = true;
break;
case '--fail-on-incomplete':
$failOnIncomplete = true;
break;
case '--fail-on-notice':
$failOnNotice = true;
break;
case '--fail-on-risky':
$failOnRisky = true;
break;
case '--fail-on-skipped':
$failOnSkipped = true;
break;
case '--fail-on-warning':
$failOnWarning = true;
break;
case '--stop-on-defect':
$stopOnDefect = true;
break;
case '--stop-on-deprecation':
$stopOnDeprecation = true;
break;
case '--stop-on-error':
$stopOnError = true;
break;
case '--stop-on-failure':
$stopOnFailure = true;
break;
case '--stop-on-incomplete':
$stopOnIncomplete = true;
break;
case '--stop-on-notice':
$stopOnNotice = true;
break;
case '--stop-on-risky':
$stopOnRisky = true;
break;
case '--stop-on-skipped':
$stopOnSkipped = true;
break;
case '--stop-on-warning':
$stopOnWarning = true;
break;
case '--teamcity':
$printerTeamCity = true;
break;
case '--testdox':
$printerTestDox = true;
break;
case '--testdox-html':
$testdoxHtmlFile = $option[1];
break;
case '--testdox-text':
$testdoxTextFile = $option[1];
break;
case '--no-configuration':
$useDefaultConfiguration = false;
break;
case '--no-extensions':
$noExtensions = true;
break;
case '--no-coverage':
$noCoverage = true;
break;
case '--no-logging':
$noLogging = true;
break;
case '--no-output':
$noOutput = true;
break;
case '--no-progress':
$noProgress = true;
break;
case '--no-results':
$noResults = true;
break;
case '--globals-backup':
$backupGlobals = true;
break;
case '--static-backup':
$backupStaticProperties = true;
break;
case '--atleast-version':
$atLeastVersion = $option[1];
break;
case '--version':
$version = true;
break;
case '--dont-report-useless-tests':
$reportUselessTests = false;
break;
case '--strict-coverage':
$strictCoverage = true;
break;
case '--disable-coverage-ignore':
$disableCodeCoverageIgnore = true;
break;
case '--strict-global-state':
$beStrictAboutChangesToGlobalState = true;
break;
case '--disallow-test-output':
$disallowTestOutput = true;
break;
case '--display-incomplete':
$displayIncomplete = true;
break;
case '--display-skipped':
$displaySkipped = true;
break;
case '--display-deprecations':
$displayDeprecations = true;
break;
case '--display-phpunit-deprecations':
$displayPhpunitDeprecations = true;
break;
case '--display-errors':
$displayErrors = true;
break;
case '--display-notices':
$displayNotices = true;
break;
case '--display-warnings':
$displayWarnings = true;
break;
case '--default-time-limit':
$defaultTimeLimit = (int) $option[1];
break;
case '--enforce-time-limit':
$enforceTimeLimit = true;
break;
case '--reverse-list':
$reverseList = true;
break;
case '--check-version':
$checkVersion = true;
break;
case '--coverage-filter':
if ($coverageFilter === null) {
$coverageFilter = [];
}
$coverageFilter[] = $option[1];
$optionAllowedMultipleTimes = true;
break;
case '--random-order':
$executionOrder = TestSuiteSorter::ORDER_RANDOMIZED;
break;
case '--random-order-seed':
$randomOrderSeed = (int) $option[1];
break;
case '--resolve-dependencies':
$resolveDependencies = true;
break;
case '--ignore-dependencies':
$resolveDependencies = false;
break;
case '--reverse-order':
$executionOrder = TestSuiteSorter::ORDER_REVERSED;
break;
case '--log-events-text':
$logEventsText = Filesystem::resolveStreamOrFile($option[1]);
if ($logEventsText === false) {
throw new Exception(sprintf('The path "%s" specified for the --log-events-text option could not be resolved', $option[1]));
}
break;
case '--log-events-verbose-text':
$logEventsVerboseText = Filesystem::resolveStreamOrFile($option[1]);
if ($logEventsVerboseText === false) {
throw new Exception(sprintf('The path "%s" specified for the --log-events-verbose-text option could not be resolved', $option[1]));
}
break;
case '--debug':
$debug = true;
break;
}
if (!$optionAllowedMultipleTimes) {
$this->markProcessed($option[0]);
}
}
if (empty($iniSettings)) {
$iniSettings = null;
}
if (empty($coverageFilter)) {
$coverageFilter = null;
}
return new Configuration($options[1], $atLeastVersion, $backupGlobals, $backupStaticProperties, $beStrictAboutChangesToGlobalState, $bootstrap, $cacheDirectory, $cacheResult, $cacheResultFile, $checkVersion, $colors, $columns, $configuration, $coverageClover, $coverageCobertura, $coverageCrap4J, $coverageHtml, $coveragePhp, $coverageText, $coverageTextShowUncoveredFiles, $coverageTextShowOnlySummary, $coverageXml, $pathCoverage, $coverageCacheDirectory, $warmCoverageCache, $defaultTimeLimit, $disableCodeCoverageIgnore, $disallowTestOutput, $enforceTimeLimit, $excludeGroups, $executionOrder, $executionOrderDefects, $failOnDeprecation, $failOnPhpunitDeprecation, $failOnEmptyTestSuite, $failOnIncomplete, $failOnNotice, $failOnRisky, $failOnSkipped, $failOnWarning, $stopOnDefect, $stopOnDeprecation, $stopOnError, $stopOnFailure, $stopOnIncomplete, $stopOnNotice, $stopOnRisky, $stopOnSkipped, $stopOnWarning, $filter, $generateBaseline, $useBaseline, $ignoreBaseline, $generateConfiguration, $migrateConfiguration, $groups, $testsCovering, $testsUsing, $help, $includePath, $iniSettings, $junitLogfile, $listGroups, $listSuites, $listTests, $listTestsXml, $noCoverage, $noExtensions, $noOutput, $noProgress, $noResults, $noLogging, $processIsolation, $randomOrderSeed, $reportUselessTests, $resolveDependencies, $reverseList, $stderr, $strictCoverage, $teamcityLogfile, $testdoxHtmlFile, $testdoxTextFile, $testSuffixes, $testSuite, $excludeTestSuite, $useDefaultConfiguration, $displayIncomplete, $displaySkipped, $displayDeprecations, $displayPhpunitDeprecations, $displayErrors, $displayNotices, $displayWarnings, $version, $coverageFilter, $logEventsText, $logEventsVerboseText, $printerTeamCity, $printerTestDox, $debug);
}