diff --git a/src/TextUI/Application.php b/src/TextUI/Application.php index d95541e19e2..2bf6d3c78ac 100644 --- a/src/TextUI/Application.php +++ b/src/TextUI/Application.php @@ -104,12 +104,15 @@ public function run(array $argv): int $this->loadBootstrapScript($configuration->bootstrap()); } - $this->executeCommandsThatRequireCompleteConfiguration($configuration, $cliConfiguration); + $this->executeCommandsThatDoNotRequireTheTestSuite($configuration, $cliConfiguration); $testSuite = $this->buildTestSuite($configuration); - $this->executeCommandsThatRequireCliConfigurationAndTestSuite($cliConfiguration, $testSuite); - $this->executeHelpCommandWhenThereIsNothingElseToDo($configuration, $testSuite); + $this->executeCommandsThatRequireTheTestSuite($configuration, $cliConfiguration, $testSuite); + + if ($testSuite->isEmpty() && !$configuration->hasCliArguments() && $configuration->testSuite()->isEmpty()) { + $this->execute(new ShowHelpCommand(Result::FAILURE)); + } $pharExtensions = null; $extensionRequiresCodeCoverageCollection = false; @@ -400,7 +403,18 @@ private function executeCommandsThatOnlyRequireCliConfiguration(CliConfiguration } } - private function executeCommandsThatRequireCliConfigurationAndTestSuite(CliConfiguration $cliConfiguration, TestSuite $testSuite): void + private function executeCommandsThatDoNotRequireTheTestSuite(Configuration $configuration, CliConfiguration $cliConfiguration): void + { + if ($cliConfiguration->listSuites()) { + $this->execute(new ListTestSuitesCommand($configuration->testSuite())); + } + + if ($cliConfiguration->warmCoverageCache()) { + $this->execute(new WarmCodeCoverageCacheCommand($configuration, CodeCoverageFilterRegistry::instance())); + } + } + + private function executeCommandsThatRequireTheTestSuite(Configuration $configuration, CliConfiguration $cliConfiguration, TestSuite $testSuite): void { if ($cliConfiguration->listGroups()) { $this->execute(new ListGroupsCommand($testSuite)); @@ -424,24 +438,6 @@ private function executeCommandsThatRequireCliConfigurationAndTestSuite(CliConfi } } - private function executeCommandsThatRequireCompleteConfiguration(Configuration $configuration, CliConfiguration $cliConfiguration): void - { - if ($cliConfiguration->listSuites()) { - $this->execute(new ListTestSuitesCommand($configuration->testSuite())); - } - - if ($cliConfiguration->warmCoverageCache()) { - $this->execute(new WarmCodeCoverageCacheCommand($configuration, CodeCoverageFilterRegistry::instance())); - } - } - - private function executeHelpCommandWhenThereIsNothingElseToDo(Configuration $configuration, TestSuite $testSuite): void - { - if ($testSuite->isEmpty() && !$configuration->hasCliArguments() && $configuration->testSuite()->isEmpty()) { - $this->execute(new ShowHelpCommand(Result::FAILURE)); - } - } - private function writeRuntimeInformation(Printer $printer, Configuration $configuration): void { $printer->print(Version::getVersionString() . PHP_EOL . PHP_EOL);