Index: modules/simpletest/drupal_web_test_case.php
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/drupal_web_test_case.php,v
retrieving revision 1.235
diff -u -p -r1.235 drupal_web_test_case.php
--- modules/simpletest/drupal_web_test_case.php	19 Sep 2010 18:39:18 -0000	1.235
+++ modules/simpletest/drupal_web_test_case.php	19 Sep 2010 23:04:28 -0000
@@ -432,7 +432,7 @@ abstract class DrupalTestCase {
   /**
    * Run all tests in this class.
    */
-  public function run() {
+  public function run(array $methods = array()) {
     // Initialize verbose debugging.
     simpletest_verbose(NULL, variable_get('file_public_path', conf_path() . '/files'), get_class($this));
 
@@ -447,10 +447,15 @@ abstract class DrupalTestCase {
 
     set_error_handler(array($this, 'errorHandler'));
     $class = get_class($this);
-    // Iterate through all the methods in this class.
-    foreach (get_class_methods($class) as $method) {
+    // Iterate through all the methods in this class, unless as specific list
+    // of methods to run was passed.
+    $class_methods = get_class_methods($class);
+    if ($methods) {
+      $class_methods = array_intersect($class_methods, $methods);
+    }
+    foreach ($class_methods as $method) {
       // If the current method starts with "test", run it - it's a test.
-      if (strtolower(substr($method, 0, 4)) == 'test') {
+      if (substr($method, 0, 4) == 'test') {
         // Insert a fail record. This will be deleted on completion to ensure
         // that testing completed.
         $method_info = new ReflectionMethod($class, $method);
