0
0
mirror of https://github.com/phpv8/v8js.git synced 2024-09-19 21:15:19 +00:00

Remove set_memory_limit_002 test

The test is unfortunately unstable as it somehow depends on CPU speed.
v8 seems to precompute the result even so it hasn't reached the for
loop consuming the memory.

This can be proved easily by adding a sleep(1) call at the start of the
prolongTimeLimit function.  Then the memory limit is always tripped
even so v8 didn't have to do much until there
This commit is contained in:
Stefan Siegl 2014-12-07 16:52:10 +01:00
parent e85b095282
commit b6fb9acc65

View File

@ -1,46 +0,0 @@
--TEST--
Test V8::setMemoryLimit() : Memory limit can be changed
--SKIPIF--
<?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
--FILE--
<?php
$JS = <<< EOT
var jsfunc = function() {
PHP.incrMemoryLimit();
var text = "abcdefghijklmnopqrstuvwyxz0123456789";
var memory = "";
for (var i = 0; i < 100; ++i) {
for (var j = 0; j < 10000; ++j) {
memory += text;
}
sleep(0);
}
};
jsfunc;
EOT;
$v8 = new V8Js();
$v8->setMemoryLimit(1000000);
$v8->incrMemoryLimit = function() use ($v8) {
$v8->setMemoryLimit(10000000);
};
$func = $v8->executeString($JS);
var_dump($func);
try {
$func();
} catch (V8JsMemoryLimitException $e) {
print get_class($e); print PHP_EOL;
print $e->getMessage(); print PHP_EOL;
}
?>
===EOF===
--EXPECTF--
object(V8Function)#%d (0) {
}
V8JsMemoryLimitException
Script memory limit of 10000000 bytes exceeded
===EOF===