]> git.mjollnir.org Git - moodle.git/commitdiff
unit tests: MDL-20398 spurious exceptions when $CFG->debugdisplay is false
authortjhunt <tjhunt>
Wed, 30 Sep 2009 18:06:45 +0000 (18:06 +0000)
committertjhunt <tjhunt>
Wed, 30 Sep 2009 18:06:45 +0000 (18:06 +0000)
lib/weblib.php

index cce26eb0bb72534fc89a056b919392148bdbe793..0c3bd743b5cf841ef32ffda8d6e8aa5f8fc7a8af 100644 (file)
@@ -3136,7 +3136,7 @@ function get_docs_url($path) {
  * @return bool
  */
 function debugging($message = '', $level = DEBUG_NORMAL, $backtrace = null) {
-    global $CFG;
+    global $CFG, $UNITTEST;
 
     if (empty($CFG->debug) || $CFG->debug < $level) {
         return false;
@@ -3151,7 +3151,12 @@ function debugging($message = '', $level = DEBUG_NORMAL, $backtrace = null) {
             $backtrace = debug_backtrace();
         }
         $from = format_backtrace($backtrace, CLI_SCRIPT);
-        if ($CFG->debugdisplay) {
+        if ($CFG->debugdisplay || empty($UNITTEST->running)) {
+               // When the unit tests are running, any call to trigger_error
+               // is intercepted by the test framework and reported as an exception.
+               // Therefore, we cannot use trigger_error during unit tests.
+               // At the same time I do not think we should just discard those messages,
+               // so displaying them on-screen seems like the only option. (MDL-20398)
             if (!defined('DEBUGGING_PRINTED')) {
                 define('DEBUGGING_PRINTED', 1); // indicates we have printed something
             }