29 lines
937 B
PHP
29 lines
937 B
PHP
<?php
|
|
|
|
/**
|
|
* Start xdebug code coverage
|
|
* Register autoload for merging coverage with php-code-coverage
|
|
* https://stackoverflow.com/questions/10167775/aggregating-code-coverage-from-several-executions-of-phpunit
|
|
*
|
|
*/
|
|
|
|
defined('gp_unit_testing') or define('gp_unit_testing',true);
|
|
defined('gpdebug') or define('gpdebug',true); // sets error_reporting(ALL)
|
|
|
|
if( function_exists('xdebug_start_code_coverage') ){
|
|
xdebug_start_code_coverage();
|
|
|
|
function SaveXdebugCoverage(){
|
|
$cov_dir = dirname(__DIR__).'/x_coverage';
|
|
$name = str_replace('/','-','request-'.$_SERVER['HTTP_X_REQ_ID'].'-'.$_SERVER['REQUEST_METHOD'].'-'.$_SERVER['REQUEST_URI']);
|
|
$cov_file = $cov_dir.'/'.$name.'.json';
|
|
$data = xdebug_get_code_coverage();
|
|
file_put_contents( $cov_file, json_encode($data,JSON_PRETTY_PRINT));
|
|
}
|
|
|
|
register_shutdown_function('SaveXdebugCoverage');
|
|
ob_start(function($buffer){
|
|
SaveXdebugCoverage();
|
|
return $buffer;
|
|
});
|
|
}
|