Browse Source

Support PCOV for code coverage

span
J. King 4 years ago
parent
commit
ba7daf1075
  1. 33
      RoboFile.php

33
RoboFile.php

@ -99,17 +99,30 @@ class RoboFile extends \Robo\Tasks {
} }
protected function findCoverageEngine(): string { protected function findCoverageEngine(): string {
if (IS_WIN) { $dir = rtrim(ini_get("extension_dir"), "/").\DIRECTORY_SEPARATOR;
$dbg = dirname(\PHP_BINARY)."\\phpdbg.exe"; $ext = IS_WIN ? "dll" : (IS_MAC ? "dylib" : "so");
$dbg = file_exists($dbg) ? $dbg : ""; $php = escapeshellarg(\PHP_BINARY);
$code = escapeshellarg(BASE."lib");
if (extension_loaded("pcov")) {
return "$php -d pcov.enabled=1 -d pcov.directory=$code";
} elseif (extension_loaded("xdebug")) {
return $php;
} elseif (file_exists($dir."pcov.$ext")) {
return "$php -d extension=pcov.$ext -d pcov.enabled=1 -d pcov.directory=$code";
} elseif (file_exists($dir."pcov.$ext")) {
return "$php -d zend_extension=xdebug.$ext";
} else { } else {
$dbg = trim(`which phpdbg 2>/dev/null`); if (IS_WIN) {
} $dbg = dirname(\PHP_BINARY)."\\phpdbg.exe";
if ($dbg) { $dbg = file_exists($dbg) ? $dbg : "";
return escapeshellarg($dbg)." -qrr"; } else {
} else { $dbg = trim(`which phpdbg 2>/dev/null`);
$ext = IS_WIN ? "dll" : (IS_MAC ? "dylib" : "so"); }
return escapeshellarg(\PHP_BINARY)." -d zend_extension=xdebug.$ext"; if ($dbg) {
return escapeshellarg($dbg)." -qrr";
} else {
return $php;
}
} }
} }

Loading…
Cancel
Save