diff --git a/.gitignore b/.gitignore index e95a47a4fc6..e27bed209a5 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,8 @@ CVS /.project /.buildpath /.cache -phpunit.xml \ No newline at end of file +phpunit.xml +# Composer support - only composer.json is to be in git, the rest is installed in each checkout. +composer.phar +composer.lock +/vendor/ diff --git a/admin/tool/phpunit/cli/util.php b/admin/tool/phpunit/cli/util.php index 5afd3bacbe8..5cfd1285690 100644 --- a/admin/tool/phpunit/cli/util.php +++ b/admin/tool/phpunit/cli/util.php @@ -39,7 +39,6 @@ list($options, $unrecognized) = cli_get_params( 'buildconfig' => false, 'buildcomponentconfigs' => false, 'diag' => false, - 'phpunitdir' => false, 'run' => false, 'help' => false, ), @@ -48,24 +47,12 @@ list($options, $unrecognized) = cli_get_params( ) ); -if ($options['phpunitdir']) { - // nasty skodak's hack for testing of future PHPUnit versions - intentionally not documented - if (!file_exists($options['phpunitdir'])) { - cli_error('Invalid custom PHPUnit lib location'); - } - $files = scandir($options['phpunitdir']); - foreach ($files as $file) { - $path = $options['phpunitdir'].'/'.$file; - if (!is_dir($path) or strpos($file, '.') === 0) { - continue; - } - ini_set('include_path', $path . PATH_SEPARATOR . ini_get('include_path')); - } - unset($files); - unset($file); +if (file_exists(__DIR__.'/../../../../vendor/autoload.php')) { + // Composer packages present. + require_once(__DIR__.'/../../../../vendor/autoload.php'); } -// verify PHPUnit libs are loaded +// Verify PHPUnit libs can be loaded. if (!include_once('PHPUnit/Autoload.php')) { phpunit_bootstrap_error(PHPUNIT_EXITCODE_PHPUNITMISSING); } @@ -75,7 +62,7 @@ if ($options['run']) { unset($unrecognized); foreach ($_SERVER['argv'] as $k=>$v) { - if (strpos($v, '--run') === 0 or strpos($v, '--phpunitdir') === 0) { + if (strpos($v, '--run') === 0) { unset($_SERVER['argv'][$k]); $_SERVER['argc'] = $_SERVER['argc'] - 1; } diff --git a/composer.json b/composer.json new file mode 100644 index 00000000000..94bf8860ad1 --- /dev/null +++ b/composer.json @@ -0,0 +1,6 @@ +{ + "require": { + "phpunit/phpunit": "3.7.*", + "phpunit/dbUnit": "1.2.*" + } +} \ No newline at end of file diff --git a/lib/phpunit/classes/hint_resultprinter.php b/lib/phpunit/classes/hint_resultprinter.php index 33ec7938aa2..4f68206702b 100644 --- a/lib/phpunit/classes/hint_resultprinter.php +++ b/lib/phpunit/classes/hint_resultprinter.php @@ -88,10 +88,28 @@ class Hint_ResultPrinter extends PHPUnit_TextUI_ResultPrinter { $file = substr($file, strlen($cwd)+1); } - $executable = 'phpunit'; - if (phpunit_bootstrap_is_cygwin()) { - $file = str_replace('\\', '/', $file); - $executable = 'phpunit.bat'; + $executable = null; + + if (isset($_SERVER['argv'][0])) { + if (preg_match('/phpunit(\.bat|\.cmd)?$/', $_SERVER['argv'][0])) { + $executable = $_SERVER['argv'][0]; + for($i=1;$iwrite("\nTo re-run:\n $executable $testName $file\n"); diff --git a/lib/tests/pagelib_test.php b/lib/tests/pagelib_test.php index 243f2df8d50..a7158e71c8c 100644 --- a/lib/tests/pagelib_test.php +++ b/lib/tests/pagelib_test.php @@ -187,7 +187,10 @@ class moodle_page_test extends advanced_testcase { } public function test_pagetype_defaults_to_script() { + global $SCRIPT; // Exercise SUT and validate + $SCRIPT = '/index.php'; + $this->testpage->initialise_default_pagetype(); $this->assertEquals('site-index', $this->testpage->pagetype); }