set_time_limit_001.phpt 781 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Test V8::setTimeLimit() : Time limit applied to V8Function calls
  3. --SKIPIF--
  4. <?php
  5. require_once(dirname(__FILE__) . '/skipif.inc');
  6. if (getenv("SKIP_SLOW_TESTS")) {
  7. die("skip slow test");
  8. }
  9. ?>
  10. --FILE--
  11. <?php
  12. $JS = <<< EOT
  13. var jsfunc = function() {
  14. var text = "abcdefghijklmnopqrstuvwyxz0123456789";
  15. for (var i = 0; i < 10000000; ++i) {
  16. var encoded = encodeURI(text);
  17. }
  18. };
  19. jsfunc;
  20. EOT;
  21. $v8 = new V8Js();
  22. $v8->setTimeLimit(100);
  23. $func = $v8->executeString($JS);
  24. var_dump($func);
  25. try {
  26. $func();
  27. } catch (V8JsTimeLimitException $e) {
  28. print get_class($e); print PHP_EOL;
  29. print $e->getMessage(); print PHP_EOL;
  30. }
  31. ?>
  32. ===EOF===
  33. --EXPECTF--
  34. object(V8Function)#%d (0) {
  35. }
  36. V8JsTimeLimitException
  37. Script time limit of 100 milliseconds exceeded
  38. ===EOF===