Prevent segfaults when too few arguments are passed to a function. Length checks are not needed for the wrappers of overloaded functions -- the generated dispatch function already checks. Add default_args_runme.ml. Fix minor errors in some runtime tests. Extra args were being passed in some cases.
25 lines
972 B
OCaml
25 lines
972 B
OCaml
open Swig
|
|
open Throw_exception
|
|
|
|
let x = new_Foo '()
|
|
|
|
let check meth args expected =
|
|
try
|
|
let _ = ((invoke x) meth (args)) in assert false
|
|
with Failure msg -> assert (msg = expected)
|
|
|
|
let _ =
|
|
check "test_int" '() "C++ int exception thrown, value: 37";
|
|
check "test_msg" '() "Dead";
|
|
check "test_cls" '() "C++ CError exception thrown";
|
|
check "test_cls_ptr" '() "C++ CError * exception thrown";
|
|
check "test_cls_ref" '() "C++ CError & exception thrown";
|
|
check "test_cls_td" '() "C++ Namespace::ErrorTypedef exception thrown";
|
|
check "test_cls_ptr_td" '() "C++ Namespace::ErrorPtr exception thrown";
|
|
check "test_cls_ref_td" '() "C++ Namespace::ErrorRef exception thrown";
|
|
check "test_array" '() "C++ int [10] exception thrown";
|
|
check "test_enum" '() "C++ Namespace::EnumTest exception thrown";
|
|
check "test_multi" '(1) "C++ int exception thrown, value: 37";
|
|
check "test_multi" '(2) "Dead";
|
|
check "test_multi" '(3) "C++ CError exception thrown";
|
|
;;
|