From 0ba31d935055d5c12b5afaf256e5c319366296ef Mon Sep 17 00:00:00 2001 From: Angie Byron <webchick@24967.no-reply.drupal.org> Date: Mon, 3 Jan 2011 06:40:49 +0000 Subject: [PATCH] #295697 by boombatower, maartenvg, agentrickard, bfroehle, beeradb: Fixed warn of PHP memory limit < 64MB for Testing module. --- modules/simpletest/simpletest.install | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/simpletest/simpletest.install b/modules/simpletest/simpletest.install index cf43884bcf0a..3da8bcdccdae 100644 --- a/modules/simpletest/simpletest.install +++ b/modules/simpletest/simpletest.install @@ -6,10 +6,13 @@ * Install, update and uninstall functions for the simpletest module. */ +/** + * 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; } -- GitLab