Index: simpletest.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/simpletest/simpletest.module,v
retrieving revision 1.22.2.10
diff -u -p -r1.22.2.10 simpletest.module
--- simpletest.module	26 Feb 2008 19:22:22 -0000	1.22.2.10
+++ simpletest.module	10 Dec 2008 18:40:09 -0000
@@ -219,30 +219,29 @@ function simpletest_run_tests($testlist 
   if (!$test_running) {
     $test_running = TRUE;
     $test = simpletest_get_total_test($testlist);
-    switch ($reporter) {
-      case 'text':
-        $reporter = &new TextReporter();
-        break;
-      case 'xml':
-        $reporter = &new XMLReporter();
-        break;
-      case 'html':
-        $reporter = &new HtmlReporter();
-        break;
-      case 'drupal':
-        $reporter = &new DrupalReporter();
-        break;
+    if (gettype($reporter) == 'string') {
+      switch ($reporter) {
+    	case 'text':
+          $reporter = &new TextReporter();
+          break;
+      	case 'xml':
+          $reporter = &new XMLReporter();
+          break;
+        case 'html':
+          $reporter = &new HtmlReporter();
+          break;
+        case 'drupal':
+          $reporter = &new DrupalReporter();
+          break;
+      }
     }
     
     cache_clear_all();
     $results = $test->run($reporter);
-
+     
     switch (get_class($reporter)) {
-      case 'TextReporter':
-        exit ($results ? 0 : 1);
-      case 'XMLReporter':
-      case 'HtmlReporter':
-        break;
+      default:
+        return $results;
       case 'DrupalReporter':
         return $reporter->getOutput();
     }
