summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFerenc Kovacs <tyrael@php.net>2011-10-23 00:07:01 +0000
committerFerenc Kovacs <tyrael@php.net>2011-10-23 00:07:01 +0000
commitb6aa3964d83154256fe3fddc110de8ca30bc9cb9 (patch)
treea3438452cd8d6e87cb0021845b11fc4ef4e38ad9
parent9798694c037b5bbfa5e6ddce678501efd34d07c2 (diff)
downloadphp-git-b6aa3964d83154256fe3fddc110de8ca30bc9cb9.tar.gz
check the available memory on linux and skip if it is not enough
-rw-r--r--Zend/tests/bug55509.phpt15
1 files changed, 15 insertions, 0 deletions
diff --git a/Zend/tests/bug55509.phpt b/Zend/tests/bug55509.phpt
index d9957cd5fb..3f8657facd 100644
--- a/Zend/tests/bug55509.phpt
+++ b/Zend/tests/bug55509.phpt
@@ -5,6 +5,21 @@ Bug #55509 (segfault on x86_64 using more than 2G memory)
if (PHP_INT_SIZE == 4) {
die('skip Not for 32-bits OS');
}
+// check the available memory
+if (PHP_OS == 'Linux') {
+ $lines = file('/proc/meminfo');
+ $infos = array();
+ foreach ($lines as $line) {
+ $tmp = explode(":", $line);
+ $index = strtolower($tmp[0]);
+ $value = (int)ltrim($tmp[1], " ")*1024;
+ $infos[$index] = $value;
+ }
+ $freeMemory = $infos['memfree']+$infos['buffers']+$infos['cached'];
+ if ($freeMemory < 2100*1024*1024) {
+ die('skip Not enough memory.');
+ }
+}
?>
--INI--
memory_limit=2100M