/** * @see sfTask */ protected function execute($arguments = array(), $options = array()) { require_once dirname(__FILE__) . '/sfLimeHarness.class.php'; $h = new sfLimeHarness(array('force_colors' => isset($options['color']) && $options['color'], 'verbose' => isset($options['trace']) && $options['trace'])); $h->addPlugins(array_map(array($this->configuration, 'getPluginConfiguration'), $this->configuration->getPlugins())); $h->base_dir = sfConfig::get('sf_test_dir'); $status = false; $statusFile = sfConfig::get('sf_cache_dir') . '/.test_all_status'; if ($options['only-failed']) { if (file_exists($statusFile)) { $status = unserialize(file_get_contents($statusFile)); } } if ($status) { foreach ($status as $file) { $h->register($file); } } else { // filter and register all tests $finder = sfFinder::type('file')->follow_link()->name('*Test.php'); $h->register($this->filterTestFiles($finder->in($h->base_dir), $arguments, $options)); } $ret = $h->run() ? 0 : 1; file_put_contents($statusFile, serialize($h->get_failed_files())); if ($options['xml']) { file_put_contents($options['xml'], $h->to_xml()); } return $ret; }
/** * @see sfTask */ protected function execute($arguments = array(), $options = array()) { $baseDir = sfConfig::get('sf_test_dir'); $finder = sfFinder::type('file')->follow_link()->name('*Test.php'); $files = array(); if ($arguments['files']) { $files = $this->filterWildcardFiles(array(), $arguments['files'], $arguments); } else { $files = $finder->in($baseDir); } $files = $this->filterTestFiles($files, $arguments, $options); if ($options['verbose'] || count($files) == 1) { $taskVars = array_merge(array_keys(get_defined_vars()), array('taskVars', 'testVars', 'file')); foreach ($files as $file) { $this->logSection('test', $file); include $file; // Free variables from tests. They are no longer needed $testVars = array_diff(array_keys(get_defined_vars()), $taskVars); foreach ($testVars as $varName) { unset(${$varName}); } } } else { require_once sfConfig::get('sf_symfony_lib_dir') . '/task/test/sfLimeHarness.class.php'; $h = new sfLimeHarness(array('force_colors' => isset($options['color']) && $options['color'], 'verbose' => isset($options['trace']) && $options['trace'])); $h->addPlugins(array_map(array($this->configuration, 'getPluginConfiguration'), $this->configuration->getPlugins())); $h->base_dir = $baseDir; $status = false; $statusFile = sfConfig::get('sf_cache_dir') . '/.test_all_status'; if ($options['only-failed']) { if (file_exists($statusFile)) { $status = unserialize(file_get_contents($statusFile)); } } if ($status) { foreach ($status as $file) { $h->register($file); } } else { // filter and register all tests $h->register($files); } $ret = $h->run() ? 0 : 1; file_put_contents($statusFile, serialize($h->get_failed_files())); if ($options['xml']) { file_put_contents($options['xml'], $h->to_xml()); } return $ret; } }