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: lua_catches_php_exception.phpt
--TEST-- PHP throwing exceptions to be caught by pcall() --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 function hang_test(f) pcall_test(f) while true do end end LUA; function runtime_error() { throw new LuaSandboxRuntimeError("runtime error"); } function fatal_error() { throw new LuaSandboxFatalError("fatal error"); } function plain_exception() { throw new Exception("exception"); } $tests = array( 'Runtime error' => array( 'pcall_test', 'runtime_error' ), 'Fatal error' => array( 'hang_test', 'fatal_error' ), 'Plain Exception' => array( 'hang_test', 'plain_exception' ), ); foreach ( $tests as $desc => $info ) { list( $wrapper, $funcName ) = $info; echo "$desc: "; try { $sandbox = new LuaSandbox; $sandbox->loadString( $lua )->call(); $sandbox->setCPULimit( 0.25 ); $sandbox->registerLibrary( 'test', array( 'test' => $funcName ) ); $res = $sandbox->loadString( 'return test.test' )->call(); print implode("\n", $sandbox->callFunction( $wrapper, $res[0] ) ) . "\n"; } catch ( Exception $e ) { echo get_class( $e ) . ': ' . $e->getMessage() . "\n"; } } --EXPECT-- Runtime error: Caught: runtime error Fatal error: LuaSandboxFatalError: fatal error Plain Exception: Exception: exception
Upload File
Create Folder