[OCaml] Fix some of the OCaml examples

Update some of the OCaml examples so that they run successfully with
`make check-ocaml-examples` (important for the CI). Some of the
examples were written to depend on passed arguments.

Temporarily disable the broken std_string example.
This commit is contained in:
Zackery Spytz 2019-01-03 07:34:25 -07:00
commit 1be9f5fec3
5 changed files with 12 additions and 14 deletions

View file

@ -5,17 +5,8 @@ open Example
exception BadReturn
let _ = if Array.length Sys.argv < 3 then
begin
print_endline
("Usage: " ^ Sys.argv.(0) ^ " n1 n2\n" ^
" Displays the least factors of the numbers that have the same\n" ^
" relationship, 16 12 -> 4 3\n") ;
exit 0
end
let x = int_of_string Sys.argv.(1)
let y = int_of_string Sys.argv.(2)
let x = if Array.length Sys.argv > 1 then int_of_string Sys.argv.(1) else 16
let y = if Array.length Sys.argv > 2 then int_of_string Sys.argv.(2) else 12
let (xf,yf) = match _factor '((x to int),(y to int)) with
C_list [ C_int a ; C_int b ] -> a,b
| _ -> raise BadReturn

View file

@ -1,6 +1,6 @@
# see top-level Makefile.in
simple
std_string
#std_string
std_vector
stl
argout_ref

View file

@ -4,4 +4,9 @@ open Example
let _ = print_endline "This won't throw."
let _ = Printf.printf "Cos 1.0 is %f\n" (_cos '(1.0) as float)
let _ = print_endline "This will throw."
let _ = Printf.printf "Cos 5.0 is %f\n" (_cos '(5.0) as float)
let _ =
try
Printf.printf "Cos 5.0 is %f\n" (_cos '(5.0) as float)
with Failure s ->
print_endline s ;
print_endline "Exception thrown."

View file

@ -1,4 +1,5 @@
open Swig
open Example
let _ = _f (match Sys.argv.(1) with "Tag1" -> ``Tag1 | _ -> ``Tag2)
let arg = if Array.length Sys.argv > 1 then Sys.argv.(1) else "Tag1"
let _ = _f (match arg with "Tag1" -> ``Tag1 | _ -> ``Tag2)

View file

@ -11,4 +11,5 @@ using std::string;
#include "example.h"
%}
%include "std_string.i"
%include example.h