memory_limit.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. --TEST--
  2. Test V8::executeString() : Time limit
  3. --SKIPIF--
  4. <?php require_once(dirname(__FILE__) . '/skipif.inc'); ?>
  5. --FILE--
  6. <?php
  7. $JS = <<< EOT
  8. var text = "abcdefghijklmnopqrstuvwyxz0123456789";
  9. var memory = "";
  10. for (var i = 0; i < 1000000; ++i) {
  11. memory += text;
  12. }
  13. EOT;
  14. $v8 = new V8Js();
  15. try {
  16. var_dump($v8->executeString($JS, 'basic.js', V8Js::FLAG_NONE, 0, 10000000));
  17. } catch (V8JsMemoryLimitException $e) {
  18. var_dump($e);
  19. }
  20. ?>
  21. ===EOF===
  22. --EXPECT--
  23. object(V8JsMemoryLimitException)#2 (7) {
  24. ["message":protected]=>
  25. string(46) "Script memory limit of 10000000 bytes exceeded"
  26. ["string":"Exception":private]=>
  27. string(0) ""
  28. ["code":protected]=>
  29. int(0)
  30. ["file":protected]=>
  31. string(36) "/var/www/v8js/tests/memory_limit.php"
  32. ["line":protected]=>
  33. int(13)
  34. ["trace":"Exception":private]=>
  35. array(1) {
  36. [0]=>
  37. array(6) {
  38. ["file"]=>
  39. string(36) "/var/www/v8js/tests/memory_limit.php"
  40. ["line"]=>
  41. int(13)
  42. ["function"]=>
  43. string(13) "executeString"
  44. ["class"]=>
  45. string(4) "V8Js"
  46. ["type"]=>
  47. string(2) "->"
  48. ["args"]=>
  49. array(5) {
  50. [0]=>
  51. string(125) "var text = "abcdefghijklmnopqrstuvwyxz0123456789";
  52. var memory = "";
  53. for (var i = 0; i < 1000000; ++i) {
  54. memory += text;
  55. }"
  56. [1]=>
  57. string(8) "basic.js"
  58. [2]=>
  59. int(1)
  60. [3]=>
  61. int(0)
  62. [4]=>
  63. int(10000000)
  64. }
  65. }
  66. }
  67. ["previous":"Exception":private]=>
  68. NULL
  69. }
  70. ===EOF===