/** * Starts the Code Coverage. */ public static function start() { /** * Simpletest Code Coverage depends on xdebug. * * Ensure that the xdebug extension is loaded. */ if (false === extension_loaded('xdebug')) { die('Code Coverage needs Xdebug extension. Not loaded!'); } if (false === function_exists("xdebug_start_code_coverage")) { die('Code Coverage needs the method xdebug_start_code_coverage. Not found!'); } /** * Simpletest Code Coverage depends on sqlite. * * Ensure that the sqlite extension is loaded. */ if (false === class_exists('SQLiteDatabase')) { echo 'Code Coverage needs the php extension SQLITE. Not loaded!'; } /** * Setup Simpletest Code Coverage. */ require_once 'simpletest/extensions/coverage/coverage.php'; $coverage = new CodeCoverage(); $coverage->log = 'coverage.sqlite'; $coverage->root = TESTSUBJECT_DIR; $coverage->includes[] = '.*\\.php$'; $coverage->excludes[] = 'simpletest'; $coverage->excludes[] = 'tests'; $coverage->excludes[] = 'libraries'; $coverage->excludes[] = 'coverage-report'; $coverage->excludes[] = 'sweety'; $coverage->excludes[] = './.*.php'; $coverage->maxDirectoryDepth = 1; $coverage->resetLog(); $coverage->writeSettings(); /** * Finally: let's start the Code Coverage. */ $coverage->startCoverage(); #echo 'Code Coverage started...'; self::$coverage = $coverage; }