MDL-42842 testing: Generalization of the site info
authorDavid Monllao <davidm@moodle.com>
Wed, 20 Nov 2013 05:31:06 +0000 (13:31 +0800)
committerDavid Monllao <davidm@moodle.com>
Tue, 26 Nov 2013 02:48:29 +0000 (10:48 +0800)
lib/phpunit/classes/util.php
lib/testing/classes/util.php

index 91efe88..28d7ea5 100644 (file)
@@ -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();
     }
 
     /**
index fe30ecd..41a4243 100644 (file)
@@ -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