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: pcall.phpt
--TEST-- pcall() catching various errors --FILE-- <?php $lua = <<<LUA function pcall_test(f) local status, msg status, msg = pcall(f) if not status then return "Caught: " .. msg else return "success" end end LUA; $tests = array( 'Normal' => 'return 1', 'User error' => 'error("runtime error")', 'Argument check error' => 'string.byte()', 'Infinite recursion' => 'function foo() foo() end foo()', 'Infinite loop (timeout)' => 'while true do end', 'Out of memory' => 'string.rep("x", 1000000)' ); foreach ( $tests as $desc => $code ) { echo "$desc: "; $sandbox = new LuaSandbox; $sandbox->loadString( $lua )->call(); $sandbox->setCPULimit( 0.25 ); $sandbox->setMemoryLimit( 100000 ); try { print implode("\n", $sandbox->callFunction( 'pcall_test', $sandbox->loadString( $code ) ) ) . "\n"; } catch ( LuaSandboxError $e ) { echo "LuaSandboxError: " . $e->getMessage() . "\n"; } } --EXPECT-- Normal: success User error: Caught: [string ""]:1: runtime error Argument check error: Caught: [string ""]:1: bad argument #1 to 'byte' (string expected, got no value) Infinite recursion: LuaSandboxError: not enough memory Infinite loop (timeout): LuaSandboxError: The maximum execution time for this script was exceeded Out of memory: LuaSandboxError: not enough memory
Upload File
Create Folder