Index: modules/simpletest/simpletest.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.install,v
retrieving revision 1.8
diff -u -p -r1.8 simpletest.install
--- modules/simpletest/simpletest.install	10 Sep 2008 04:13:01 -0000	1.8
+++ modules/simpletest/simpletest.install	12 Sep 2008 07:47:07 -0000
@@ -108,26 +108,39 @@ function simpletest_requirements($phase)
 
   $has_curl = function_exists('curl_init');
 
+  // Test PHP memory_limit
+  $memory_limit = parse_size(ini_get('memory_limit'));
+  $memory_minimum = parse_size('32MB');
+  $memory_minimum_arg = array('@minimum' => format_size($memory_minimum));
+  $memory_met = $memory_limit >= $memory_minimum;
+
   switch ($phase) {
     case 'runtime':
-      $requirements['simpletest'] = array(
+      $requirements['simpletest_curl'] = array(
         'title' => $t('cURL'),
         'value' => $has_curl ? $t('Enabled') : $t('Not found'),
         'severity' => $has_curl ? REQUIREMENT_OK : REQUIREMENT_ERROR,
       );
+      $requirements['simpletest_php_memory_limit'] = array(
+        'title' => $t('SimpleTest: PHP memory requirement'),
+        'value' => $memory_met ? $t('Greater than @minimum', $memory_minimum_arg) : $t('Less than @minimum', $memory_minimum_arg),
+        'severity' => $memory_met ? REQUIREMENT_OK : REQUIREMENT_ERROR,
+      );
       break;
     case 'install':
-      if ($has_curl) {
-        $requirements['simpletest'] = array(
+      if (!$has_curl) {
+        $requirements['simpletest_curl'] = array(
           'title' => $t('cURL'),
-          'severity' => REQUIREMENT_OK,
+          'severity' => REQUIREMENT_ERROR,
+          'description' => $t('Simpletest could not be installed because the PHP <a href="@curl_url">cURL</a> library is not available.', array('@curl_url' => 'http://php.net/manual/en/curl.setup.php')),
         );
       }
-      else {
-        $requirements['simpletest'] = array(
-          'title' => $t('cURL'),
+
+      if (!$memory_met) {
+        $requirements['simpletest_php_memory_limit'] = array(
+          'title' => $t('SimpleTest: PHP memory requirement'),
           'severity' => REQUIREMENT_ERROR,
-          'description' => $t('Simpletest could not be installed because the PHP <a href="!curl_url">cURL</a> library is not available.', array('!curl_url' => 'http://php.net/manual/en/curl.setup.php')),
+          'description' => $t('SimpleTest requires the PHP memory limit be set to @minimum or greater. For more information on how to change the PHP memory limit see the <a href="@increase">documentation</a>.', array('@increase' => 'http://drupal.org/node/207036') + $memory_minimum_arg),
         );
       }
       break;

