diff options
Diffstat (limited to 'Examples/test-suite/ocaml/throw_exception_runme.ml')
| -rw-r--r-- | Examples/test-suite/ocaml/throw_exception_runme.ml | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Examples/test-suite/ocaml/throw_exception_runme.ml b/Examples/test-suite/ocaml/throw_exception_runme.ml new file mode 100644 index 0000000..8781926 --- /dev/null +++ b/Examples/test-suite/ocaml/throw_exception_runme.ml @@ -0,0 +1,28 @@ +(* Throw exception test *) + +open Swig +open Throw_exception + +let x = new_Foo C_void ;; +let _ = + try + (invoke x) "test_int" C_void + with (Failure "Exception(37): Thrown exception from C++ (int)\n") -> + try + (invoke x) "test_msg" C_void + with (Failure "Exception(0): Dead\n") -> + try + (invoke x) "test_cls" C_void + with (Failure "Exception(0): Thrown exception from C++ (unknown)\n") -> + try + (invoke x) "test_multi" (C_int 1) + with (Failure "Exception(37): Thrown exception from C++ (int)\n") -> + try + (invoke x) "test_multi" (C_int 2) + with (Failure "Exception(0): Dead\n") -> + try + (invoke x) "test_multi" (C_int 3) + with (Failure "Exception(0): Thrown exception from C++ (unknown)\n") -> + exit 0 + +let _ = exit 1 |
