summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/simpletest/simpletest.install15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/simpletest/simpletest.install b/modules/simpletest/simpletest.install
index cf43884bc..3da8bcdcc 100644
--- a/modules/simpletest/simpletest.install
+++ b/modules/simpletest/simpletest.install
@@ -7,9 +7,12 @@
*/
/**
+ * Minimum value of PHP memory_limit for SimpleTest.
+ */
+define('SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT', '64M');
+
+/**
* Implements hook_requirements().
- *
- * Check that the cURL extension exists for PHP.
*/
function simpletest_requirements($phase) {
$requirements = array();
@@ -58,6 +61,14 @@ function simpletest_requirements($phase) {
$requirements['php_open_basedir']['description'] = t('The testing framework requires the PHP <a href="@open_basedir-url">open_basedir</a> restriction to be disabled. Check your webserver configuration or contact your web host.', array('@open_basedir-url' => 'http://php.net/manual/en/ini.core.php#ini.open-basedir'));
}
+ // Check the current memory limit. If it is set too low, SimpleTest will fail
+ // to load all tests and throw a fatal error.
+ $memory_limit = ini_get('memory_limit');
+ if ($memory_limit && $memory_limit != -1 && parse_size($memory_limit) < parse_size(SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT)) {
+ $requirements['php_memory_limit']['severity'] = REQUIREMENT_ERROR;
+ $requirements['php_memory_limit']['description'] = t('The testing framework requires the PHP memory limit to be at least %memory_minimum_limit. The current value is %memory_limit. <a href="@url">Follow these steps to continue</a>.', array('%memory_limit' => $memory_limit, '%memory_minimum_limit' => SIMPLETEST_MINIMUM_PHP_MEMORY_LIMIT, '@url' => 'http://drupal.org/node/207036'));
+ }
+
return $requirements;
}