Index: modules/simpletest/simpletest.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.module,v
retrieving revision 1.29
diff -u -p -r1.29 simpletest.module
--- modules/simpletest/simpletest.module	26 Nov 2008 13:48:49 -0000	1.29
+++ modules/simpletest/simpletest.module	6 Dec 2008 03:04:17 -0000
@@ -483,6 +483,19 @@ function simpletest_get_all_tests() {
     foreach ($classes as $key => $class) {
       if (method_exists($class, 'getInfo')) {
         $formatted_classes[$class] = new $class;
+
+        // Test for dependent test modules.
+        $test_info = $formatted_classes[$class]->getInfo();
+        if (isset($test_info['dependencies']) && is_array($test_info['dependencies'])) {
+          foreach($test_info['dependencies'] as $module) {
+            $file = db_query("SELECT filename FROM {system} WHERE type = 'module' AND name = :name", array(':name' => $module))->fetchField();
+            if (!$file || !file_exists($file)) {
+              // Do not show the test if it is missing a required module.
+              unset($formatted_classes[$class]);
+              break;
+            }
+          }
+        }
       }
     }
   }
