/** * @param string $name * @param bool $success * * @since Method available since Release 2.7.0 */ protected function onTest($name, $success = true) { if (!strlen($name)) { return; } $testStatus = $this->testStatuses[$name]; if ($this->testStatuses[$name] == \PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE || $this->testStatuses[$name] == \PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED) { if (strlen($this->testStatusMessages[$name])) { $name = $name . ' (' . str_replace(array("\r", "\n"), '', $this->testStatusMessages[$name]) . ')'; } } if ($this->terminal->shouldColor()) { switch ($testStatus) { case \PHPUnit_Runner_BaseTestRunner::STATUS_PASSED: $name = Coloring::green($name); break; case \PHPUnit_Runner_BaseTestRunner::STATUS_ERROR: $name = Coloring::magenta($name); break; case \PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE: $name = Coloring::red($name); break; case \PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE: case \PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED: $name = Coloring::yellow($name); break; } } parent::onTest($name, $success); }
public function paintFooter($test_name) { ob_start(); parent::paintFooter($test_name); $output = ob_get_contents(); ob_end_clean(); if ($this->terminal->shouldColor()) { if ($this->getFailCount() + $this->getExceptionCount() == 0) { echo Coloring::green($output); } else { echo Coloring::red($output); } } else { echo $output; } if ($this->runner->shouldNotify()) { if ($this->getFailCount() + $this->getExceptionCount() == 0) { $notificationResult = Notification::RESULT_PASSED; } else { $notificationResult = Notification::RESULT_FAILED; } $this->notification = new Notification($notificationResult, $output); } }
/** * @since Method available since Release 2.16.0 */ protected function earlyConfigure() { $this->phpunitXMLConfiguration->handlePHPConfiguration(); if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('bootstrap')) { if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('syntaxCheck')) { $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap'), $this->phpunitXMLConfiguration->getPHPUnitConfiguration('syntaxCheck')); } else { $this->handleBootstrap($this->phpunitXMLConfiguration->getPHPUnitConfiguration('bootstrap')); } } if ($this->phpunitXMLConfiguration->hasPHPUnitConfiguration('colors')) { $this->terminal->setColor($this->phpunitXMLConfiguration->getPHPUnitConfiguration('colors')); } if ($this->phpunitXMLConfiguration->hasSeleniumBrowserConfiguration()) { \PHPUnit_Extensions_SeleniumTestCase::$browsers = $this->phpunitXMLConfiguration->getSeleniumBrowserConfiguration(); } }
/** * @param \PHPUnit_Util_Configuration $configuration $configuration * @since Method available since Release 2.16.0 */ protected function earlyConfigure(\PHPUnit_Util_Configuration $configuration) { $configuration->handlePHPConfiguration(); $phpunitConfiguration = $configuration->getPHPUnitConfiguration(); if (array_key_exists('bootstrap', $phpunitConfiguration)) { if (array_key_exists('syntaxCheck', $phpunitConfiguration)) { $this->handleBootstrap($phpunitConfiguration['bootstrap'], $phpunitConfiguration['syntaxCheck']); } else { $this->handleBootstrap($phpunitConfiguration['bootstrap']); } } if (array_key_exists('colors', $phpunitConfiguration)) { $this->terminal->setColor($phpunitConfiguration['colors']); } $seleniumBrowserConfiguration = $configuration->getSeleniumBrowserConfiguration(); if (count($seleniumBrowserConfiguration) > 0) { \PHPUnit_Extensions_SeleniumTestCase::$browsers = $seleniumBrowserConfiguration; } }
/** * @param string $command * * @return array */ protected function buildOptions($command) { $options = array(); if (basename(trim($command, '\'"')) != 'testrunner') { $configFile = $this->getPHPConfigDir(); if ($configFile !== false) { $options[] = '-c'; $options[] = escapeshellarg($configFile); } $options[] = escapeshellarg($_SERVER['argv'][0]); } if ($this->terminal->shouldColor()) { $options[] = '--ansi'; } $options[] = escapeshellarg(strtolower($this->plugin->getPluginID())); if (!is_null($this->environment->getPreloadScript())) { $options[] = '-p ' . escapeshellarg($this->environment->getPreloadScript()); } $options[] = '-R'; if ($this->runner->shouldNotify()) { $options[] = '-m'; } if ($this->runner->shouldStopOnFailure()) { $options[] = '--stop-on-failure'; } if (!$this->testTargetRepository->isDefaultFilePattern()) { $options[] = '--test-file-pattern=' . escapeshellarg($this->testTargetRepository->getFilePattern()); } if ($this->runner->hasDetailedProgress()) { $options[] = '--detailed-progress'; } if (!is_null($this->commandLineOptionBuilder)) { $options = $this->commandLineOptionBuilder->build($options); } $this->testTargetRepository->walkOnResources(function ($resource, $index, TestTargetRepository $testTargetRepository) use(&$options) { $options[] = escapeshellarg($resource); }); return $options; }
/** * @return array */ protected function buildRunnerOptions() { $options = array(); if (basename(trim($this->runnerCommand, '\'"')) != 'testrunner') { $configFile = $this->getPHPConfigDir(); if ($configFile !== false) { $options[] = '-c'; $options[] = escapeshellarg($configFile); } $options[] = escapeshellarg($_SERVER['argv'][0]); } if ($this->terminal->shouldColor()) { $options[] = '--ansi'; } $options[] = escapeshellarg(strtolower(ApplicationContext::getInstance()->getPlugin()->getPluginID())); if (!is_null(ApplicationContext::getInstance()->getEnvironment()->getPreloadScript())) { $options[] = '-p ' . escapeshellarg(ApplicationContext::getInstance()->getEnvironment()->getPreloadScript()); } $options[] = '-R'; if ($this->runnerFactory->create()->shouldNotify()) { $options[] = '-m'; } if ($this->runnerFactory->create()->shouldStopOnFailure()) { $options[] = '--stop-on-failure'; } if (!$this->testTargetRepository->isDefaultFilePattern()) { $options[] = '--test-file-pattern=' . escapeshellarg($this->testTargetRepository->getFilePattern()); } if ($this->runnerFactory->create()->hasDetailedProgress()) { $options[] = '--detailed-progress'; } $options = array_merge($options, $this->doBuildRunnerOptions()); $this->testTargetRepository->walkOnResources(function ($resource, $index, TestTargetRepository $testTargetRepository) use(&$options) { $options[] = escapeshellarg($resource); }); return $options; }