MDL-55379 phpunit: Fixed hint_result for rerun
This commit is contained in:
@@ -88,32 +88,33 @@ class Hint_ResultPrinter extends PHPUnit_TextUI_ResultPrinter {
|
||||
$file = substr($file, strlen($cwd)+1);
|
||||
}
|
||||
|
||||
$executable = null;
|
||||
$pathprefix = testing_cli_argument_path('/');
|
||||
if ($pathprefix) {
|
||||
$pathprefix .= DIRECTORY_SEPARATOR;
|
||||
}
|
||||
|
||||
// There is only vendor/bin/phpunit executable. There is no .cmd or .bat files.
|
||||
$executable = $pathprefix . 'vendor' . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'phpunit';
|
||||
|
||||
if (testing_is_cygwin()) {
|
||||
$file = str_replace('\\', '/', $file);
|
||||
$executable = str_replace('\\', '/', $executable);
|
||||
}
|
||||
|
||||
// Add server arguments to the rerun if passed.
|
||||
if (isset($_SERVER['argv'][0])) {
|
||||
if (preg_match('/phpunit(\.bat|\.cmd)?$/', $_SERVER['argv'][0])) {
|
||||
$executable = $_SERVER['argv'][0];
|
||||
for($i=1;$i<count($_SERVER['argv']);$i++) {
|
||||
if (!isset($_SERVER['argv'][$i])) {
|
||||
break;
|
||||
}
|
||||
if (in_array($_SERVER['argv'][$i], array('--colors', '--verbose', '-v', '--debug', '--strict'))) {
|
||||
if (in_array($_SERVER['argv'][$i], array('--colors', '--verbose', '-v', '--debug'))) {
|
||||
$executable .= ' '.$_SERVER['argv'][$i];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$executable) {
|
||||
$executable = 'phpunit';
|
||||
if (testing_is_cygwin()) {
|
||||
$file = str_replace('\\', '/', $file);
|
||||
if (!testing_is_mingw()) {
|
||||
$executable = 'phpunit.bat';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->write("\nTo re-run:\n $executable $testName $file\n");
|
||||
}
|
||||
}
|
||||
|
||||
+6
-2
@@ -52,13 +52,17 @@ function testing_cli_argument_path($moodlepath) {
|
||||
// This is the real CLI script, work with relative paths.
|
||||
$cwd = getcwd();
|
||||
}
|
||||
|
||||
// In sub path, we want to remove leading Directory separator.
|
||||
$removeseparator = 0;
|
||||
if (substr($cwd, -1) !== DIRECTORY_SEPARATOR) {
|
||||
$cwd .= DIRECTORY_SEPARATOR;
|
||||
$removeseparator = 1;
|
||||
}
|
||||
|
||||
$path = realpath($CFG->dirroot.$moodlepath);
|
||||
|
||||
if (strpos($path, $cwd) === 0) {
|
||||
$path = substr($path, strlen($cwd));
|
||||
$path = substr($path, strlen($cwd) + $removeseparator);
|
||||
}
|
||||
|
||||
if (testing_is_cygwin()) {
|
||||
|
||||
Reference in New Issue
Block a user