function run()
 {
     $res = NULL;
     if (PHPUnitUtil::$installedVersion == 3) {
         require_once 'PHPUnit/Framework/TestSuite.php';
         $res = new PHPUnit_Framework_TestResult();
     } else {
         require_once 'PHPUnit2/Framework/TestSuite.php';
         $res = new PHPUnit2_Framework_TestResult();
     }
     if ($this->codecoverage) {
         $res->collectCodeCoverageInformation(TRUE);
     }
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     $this->suite->run($res);
     if ($this->codecoverage) {
         $coverageInformation = $res->getCodeCoverageInformation();
         if (PHPUnitUtil::$installedVersion == 3) {
             CoverageMerger::merge($this->project, array($coverageInformation[0]['files']));
         } else {
             CoverageMerger::merge($this->project, $coverageInformation);
         }
     }
     if ($res->errorCount() != 0) {
         $this->retCode = self::ERRORS;
     } else {
         if ($res->failureCount() != 0 || $res->notImplementedCount() != 0) {
             $this->retCode = self::FAILURES;
         }
     }
 }
示例#2
0
 function main()
 {
     $files = $this->getFilenames();
     $this->log("Merging " . count($files) . " coverage files");
     foreach ($files as $file) {
         $coverageInformation = unserialize(file_get_contents($file));
         CoverageMerger::merge($this->project, array($coverageInformation));
     }
 }
 function run()
 {
     $res = new PHPUnit2_Framework_TestResult();
     if ($this->codecoverage) {
         $res->collectCodeCoverageInformation(TRUE);
     }
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     $this->suite->run($res);
     if ($this->codecoverage) {
         CoverageMerger::merge($this->project, $res->getCodeCoverageInformation());
     }
     if ($res->errorCount() != 0) {
         $this->retCode = self::ERRORS;
     } else {
         if ($res->failureCount() != 0 || $res->notImplementedCount() != 0) {
             $this->retCode = self::FAILURES;
         }
     }
 }
 /**
  * Run a test
  *
  * @param PHPUnit_Framework_TestSuite $suite
  */
 public function run(PHPUnit_Framework_TestSuite $suite)
 {
     $res = new PHPUnit_Framework_TestResult();
     if ($this->codecoverage) {
         $whitelist = CoverageMerger::getWhiteList($this->project);
         $this->codecoverage->filter()->addFilesToWhiteList($whitelist);
         $res->setCodeCoverage($this->codecoverage);
     }
     $res->addListener($this);
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     /* Set PHPUnit error handler */
     if ($this->useCustomErrorHandler) {
         $oldErrorHandler = set_error_handler(array($this, 'handleError'), E_ALL | E_STRICT);
     }
     $version = PHPUnit_Runner_Version::id();
     if (version_compare($version, '4.0.0') >= 0) {
         $this->injectFilters($suite);
         $suite->run($res);
     } else {
         $suite->run($res, false, $this->groups, $this->excludeGroups, $this->processIsolation);
     }
     foreach ($this->formatters as $formatter) {
         $formatter->processResult($res);
     }
     /* Restore Phing error handler */
     if ($this->useCustomErrorHandler) {
         restore_error_handler();
     }
     if ($this->codecoverage) {
         CoverageMerger::merge($this->project, $this->codecoverage->getData());
     }
     $this->checkResult($res);
 }
 /**
  * Run a test
  */
 public function run(PHPUnit_Framework_TestSuite $suite)
 {
     $res = new PHPUnit_Framework_TestResult();
     if ($this->codecoverage) {
         $whitelist = CoverageMerger::getWhiteList($this->project);
         $this->codecoverage->filter()->addFilesToWhiteList($whitelist);
         $res->setCodeCoverage($this->codecoverage);
     }
     $res->addListener($this);
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     /* Set PHPUnit error handler */
     if ($this->useCustomErrorHandler) {
         $oldErrorHandler = set_error_handler(array($this, 'handleError'), E_ALL | E_STRICT);
     }
     $suite->run($res, false, $this->groups, $this->excludeGroups, $this->processIsolation);
     foreach ($this->formatters as $formatter) {
         $formatter->processResult($res);
     }
     /* Restore Phing error handler */
     if ($this->useCustomErrorHandler) {
         restore_error_handler();
     }
     if ($this->codecoverage) {
         CoverageMerger::merge($this->project, $this->codecoverage->getData());
     }
     if ($res->errorCount() != 0) {
         $this->retCode = self::ERRORS;
     } else {
         if ($res->failureCount() != 0) {
             $this->retCode = self::FAILURES;
         } else {
             if ($res->notImplementedCount() != 0) {
                 $this->retCode = self::INCOMPLETES;
             } else {
                 if ($res->skippedCount() != 0) {
                     $this->retCode = self::SKIPPED;
                 }
             }
         }
     }
 }
 /**
  * Run a test
  */
 public function run(PHPUnit_Framework_TestSuite $suite)
 {
     $res = new PHPUnit_Framework_TestResult();
     if ($this->codecoverage) {
         $res->collectCodeCoverageInformation(TRUE);
     }
     $res->addListener($this);
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     /* Set PHPUnit error handler */
     if ($this->useCustomErrorHandler) {
         $oldErrorHandler = set_error_handler(array('PHPUnitTestRunner', 'handleError'), E_ALL | E_STRICT);
     }
     $suite->run($res, false, $this->groups, $this->excludeGroups);
     foreach ($this->formatters as $formatter) {
         $formatter->processResult($res);
     }
     /* Restore Phing error handler */
     if ($this->useCustomErrorHandler) {
         restore_error_handler();
     }
     if ($this->codecoverage) {
         $coverage = $res->getCodeCoverage();
         $summary = $coverage->getSummary();
         CoverageMerger::merge($this->project, $summary);
     }
     if ($res->errorCount() != 0) {
         $this->retCode = self::ERRORS;
     } else {
         if ($res->failureCount() != 0) {
             $this->retCode = self::FAILURES;
         } else {
             if ($res->notImplementedCount() != 0) {
                 $this->retCode = self::INCOMPLETES;
             } else {
                 if ($res->skippedCount() != 0) {
                     $this->retCode = self::SKIPPED;
                 }
             }
         }
     }
 }
 function main()
 {
     $files = $this->getFilenames();
     $this->log("Setting up coverage database for " . count($files) . " files");
     $props = new Properties();
     foreach ($files as $file) {
         $fullname = $file['fullname'];
         $filename = $file['key'];
         $props->setProperty($filename, serialize(array('fullname' => $fullname, 'coverage' => array())));
     }
     $dbfile = new PhingFile($this->database);
     $props->store($dbfile);
     $this->project->setProperty('coverage.database', $dbfile->getAbsolutePath());
     foreach ($files as $file) {
         $fullname = $file['fullname'];
         xdebug_start_code_coverage(XDEBUG_CC_UNUSED);
         Phing::__import($fullname, $this->classpath);
         $coverage = xdebug_get_code_coverage();
         xdebug_stop_code_coverage();
         CoverageMerger::merge($this->project, array($coverage));
     }
 }
示例#8
0
 /**
  * Run a test
  */
 function run($test)
 {
     $res = new PHPUnit_Framework_TestResult();
     if ($this->codecoverage) {
         $res->collectCodeCoverageInformation(TRUE);
     }
     $res->addListener($this);
     foreach ($this->formatters as $formatter) {
         $res->addListener($formatter);
     }
     /* Set PHPUnit error handler */
     $oldErrorHandler = set_error_handler(array('PHPUnitTestRunner', 'handleError'), E_ALL | E_STRICT);
     $test->run($res, false, $this->groups, $this->excludeGroups);
     /* Restore Phing error handler */
     restore_error_handler();
     if ($this->codecoverage) {
         $coverageInformation = $res->getCodeCoverageInformation();
         foreach ($coverageInformation as $coverage_info) {
             CoverageMerger::merge($this->project, array($coverage_info['files']));
         }
     }
     if ($res->errorCount() != 0) {
         $this->retCode = self::ERRORS;
     } else {
         if ($res->failureCount() != 0) {
             $this->retCode = self::FAILURES;
         } else {
             if ($res->notImplementedCount() != 0) {
                 $this->retCode = self::INCOMPLETES;
             } else {
                 if ($res->skippedCount() != 0) {
                     $this->retCode = self::SKIPPED;
                 }
             }
         }
     }
 }