diff --git a/lib/phpunit/classes/util.php b/lib/phpunit/classes/util.php index 91efe882d72..28d7ea5dffa 100644 --- a/lib/phpunit/classes/util.php +++ b/lib/phpunit/classes/util.php @@ -272,63 +272,7 @@ class phpunit_util extends testing_util { * @return void */ public static function bootstrap_moodle_info() { - global $CFG; - - // All developers have to understand English, do not localise! - - $release = null; - require("$CFG->dirroot/version.php"); - - echo "Moodle $release, $CFG->dbtype"; - if ($hash = self::get_git_hash()) { - echo ", $hash"; - } - echo "\n"; - } - - /** - * Try to get current git hash of the Moodle in $CFG->dirroot. - * @return string null if unknown, sha1 hash if known - */ - public static function get_git_hash() { - global $CFG; - - // This is a bit naive, but it should mostly work for all platforms. - - if (!file_exists("$CFG->dirroot/.git/HEAD")) { - return null; - } - - $ref = file_get_contents("$CFG->dirroot/.git/HEAD"); - if ($ref === false) { - return null; - } - - $ref = trim($ref); - - if (strpos($ref, 'ref: ') !== 0) { - return null; - } - - $ref = substr($ref, 5); - - if (!file_exists("$CFG->dirroot/.git/$ref")) { - return null; - } - - $hash = file_get_contents("$CFG->dirroot/.git/$ref"); - - if ($hash === false) { - return null; - } - - $hash = trim($hash); - - if (strlen($hash) != 40) { - return null; - } - - return $hash; + echo self::get_site_info(); } /** diff --git a/lib/testing/classes/util.php b/lib/testing/classes/util.php index fe30ecdbdf9..41a4243318a 100644 --- a/lib/testing/classes/util.php +++ b/lib/testing/classes/util.php @@ -607,6 +607,75 @@ abstract class testing_util { cache_helper::purge_all(); } + /** + * Gets a text-based site version description. + * + * @return string The site info + */ + public static function get_site_info() { + global $CFG; + + $output = ''; + + // All developers have to understand English, do not localise! + + $release = null; + require("$CFG->dirroot/version.php"); + + $output .= "Moodle $release, $CFG->dbtype"; + if ($hash = self::get_git_hash()) { + $output .= ", $hash"; + } + $output .= "\n"; + + return $output; + } + + /** + * Try to get current git hash of the Moodle in $CFG->dirroot. + * @return string null if unknown, sha1 hash if known + */ + public static function get_git_hash() { + global $CFG; + + // This is a bit naive, but it should mostly work for all platforms. + + if (!file_exists("$CFG->dirroot/.git/HEAD")) { + return null; + } + + $ref = file_get_contents("$CFG->dirroot/.git/HEAD"); + if ($ref === false) { + return null; + } + + $ref = trim($ref); + + if (strpos($ref, 'ref: ') !== 0) { + return null; + } + + $ref = substr($ref, 5); + + if (!file_exists("$CFG->dirroot/.git/$ref")) { + return null; + } + + $hash = file_get_contents("$CFG->dirroot/.git/$ref"); + + if ($hash === false) { + return null; + } + + $hash = trim($hash); + + if (strlen($hash) != 40) { + return null; + } + + return $hash; + } + /** * Drop the whole test database * @static