X7ROOT File Manager
Current Path:
/opt/alt/tests/alt-php82-pecl-luasandbox_4.1.2-2.el8/tests
opt
/
alt
/
tests
/
alt-php82-pecl-luasandbox_4.1.2-2.el8
/
tests
/
ðŸ“
..
📄
LuaSandboxFunction_construct.phpt
(253 B)
📄
array-key-conversion.phpt
(3.11 KB)
📄
call.phpt
(5.1 KB)
📄
callback_exception.phpt
(392 B)
📄
datatypes-unsupported.phpt
(2.78 KB)
📄
datatypes.phpt
(2.43 KB)
📄
dump_loadBinary_call.phpt
(393 B)
📄
errors-at-call-boundaries.phpt
(1.98 KB)
📄
extending-LuaSandbox.phpt
(845 B)
📄
ipairs.phpt
(1.53 KB)
📄
loadString.phpt
(334 B)
📄
lua_catches_php_exception.phpt
(1.34 KB)
📄
pairs.phpt
(3.31 KB)
📄
pcall.phpt
(1.27 KB)
📄
profiler-sorting.phpt
(1.18 KB)
📄
profiler.phpt
(1.54 KB)
📄
reentrant.phpt
(1.1 KB)
📄
xpcall.phpt
(2.6 KB)
Editing: reentrant.phpt
--TEST-- Re-entering Lua during a callback to PHP --FILE-- <?php $sandbox = new LuaSandbox; $chunk = $sandbox->loadString(' function factorial(n) if n <= 1 then return 1 else return n * test.factorial(n - 1) end end return factorial '); $ret = $chunk->call(); $luaFactorial = $ret[0]; $sandbox->registerLibrary( 'test', array( 'factorial' => 'factorial' ) ); function factorial($n) { global $luaFactorial; if ($n <= 1) { return array(1); } else { $ret = $luaFactorial->call($n - 1); return array($n * $ret[0]); } } print implode('', factorial(10)) . "\n"; var_dump( $luaFactorial->call(10) ); try { $luaFactorial->call(1000000000); } catch ( LuaSandboxError $e ) { print $e->getMessage() . "\n"; } try { factorial(1000000000); } catch ( LuaSandboxError $e ) { print $e->getMessage() . "\n"; } --EXPECTF-- 3628800 array(1) { [0]=> int(3628800) } %AWarning: LuaSandboxFunction::call(): Failed to generate Lua trace (C stack overflow) in %s on line %d C stack overflow %AWarning: LuaSandboxFunction::call(): Failed to generate Lua trace (C stack overflow) in %s on line %d C stack overflow
Upload File
Create Folder