diff options
Diffstat (limited to 'www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaSandbox/LuaSandboxInterpreterTest.php')
-rw-r--r-- | www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaSandbox/LuaSandboxInterpreterTest.php | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaSandbox/LuaSandboxInterpreterTest.php b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaSandbox/LuaSandboxInterpreterTest.php new file mode 100644 index 00000000..256e8c6a --- /dev/null +++ b/www/wiki/extensions/Scribunto/tests/phpunit/engines/LuaSandbox/LuaSandboxInterpreterTest.php @@ -0,0 +1,34 @@ +<?php + +if ( !wfIsCLI() ) { + exit; +} + +require_once __DIR__ . '/../LuaCommon/LuaInterpreterTest.php'; + +/** + * @group Lua + * @group LuaSandbox + */ +// @codingStandardsIgnoreLine Squiz.Classes.ValidClassName.NotCamelCaps +class Scribunto_LuaSandboxInterpreterTest extends Scribunto_LuaInterpreterTest { + public $stdOpts = [ + 'memoryLimit' => 50000000, + 'cpuLimit' => 30, + ]; + + protected function newInterpreter( $opts = [] ) { + $opts = $opts + $this->stdOpts; + $engine = new Scribunto_LuaSandboxEngine( $this->stdOpts ); + return new Scribunto_LuaSandboxInterpreter( $engine, $opts ); + } + + public function testGetMemoryUsage() { + $interpreter = $this->newInterpreter(); + $chunk = $interpreter->loadString( 's = string.rep("x", 1000000)', 'mem' ); + $interpreter->callFunction( $chunk ); + $mem = $interpreter->getPeakMemoryUsage(); + $this->assertGreaterThan( 1000000, $mem, 'memory usage' ); + $this->assertLessThan( 10000000, $mem, 'memory usage' ); + } +} |