Merge remote-tracking branch 'upstream/master' into OCaml-make-j-race-conds

This commit is contained in:
Zackery Spytz 2019-01-11 21:21:56 -07:00
commit 51bfdce781
13 changed files with 292 additions and 45 deletions

View file

@ -5,6 +5,7 @@
LANGUAGE = ocaml
OCAMLP4WHERE =`$(COMPILETOOL) @CAMLP4@ -where`
OCC =$(COMPILETOOL) @OCAMLC@
OCAMLPP = -pp "camlp4o ./swigp4.cmo"
VARIANT = _static
SCRIPTSUFFIX = _runme.ml
@ -54,7 +55,7 @@ run_testcase = \
if [ $(srcdir) != . ]; then \
cp $(srcdir)/$(ml_runme) $(ml_runme); \
fi ; \
$(OCC) -c $(ml_runme) && \
$(OCC) $(OCAMLPP) -c $(ml_runme) && \
if [ -f $(top_srcdir)/Examples/test-suite/$*.list ]; then \
$(OCC) swig.cmo -custom -g -cc '$(CXX)' -o $*_runme `cat $(top_srcdir)/Examples/test-suite/$(*).list | sed -e 's/\(.*\)/\1_wrap.o \1.cmo/g'`&& $(RUNTOOL) ./$*_runme; \
else \

View file

@ -0,0 +1,6 @@
open Swig
open Class_scope_weird
let f = new_Foo (C_void)
let g = new_Foo (C_int 3)
let _ = assert (get_int ((invoke f) "bar" (C_int 3)) = 3)

View file

@ -0,0 +1,17 @@
open Swig
open Cpp_static
let _ = _StaticFunctionTest_static_func (C_void)
let _ = _StaticFunctionTest_static_func_2 (C_int 1)
let _ = _StaticFunctionTest_static_func_3 (C_list [C_int 1; C_int 2])
let _ = assert (get_int (_StaticMemberTest_static_int (C_void)) = 99)
let _ = _StaticMemberTest_static_int (C_int 10)
let _ = assert (get_int (_StaticMemberTest_static_int (C_void)) = 10)
let _ = assert (get_int (_StaticBase_statty (C_void)) = 11)
let _ = assert (get_int (_StaticDerived_statty (C_void)) = 111)
let _ = _StaticBase_statty (C_int 22)
let _ = _StaticDerived_statty (C_int 222)
let _ = assert (get_int (_StaticBase_statty (C_void)) = 22)
let _ = assert (get_int (_StaticDerived_statty (C_void)) = 222)

View file

@ -0,0 +1,20 @@
open Swig
open Ignore_parameter
let _ =
assert (get_string (_jaguar (C_list [ C_int 200 ; C_float 0. ])) = "hello");
assert (get_int (_lotus (C_list [ C_string "fast" ; C_float 0. ])) = 101);
assert (get_float (_tvr (C_list [ C_string "fast" ; C_int 200 ])) = 8.8);
assert (get_int (_ferrari (C_void)) = 101);
;;
let sc = new_SportsCars (C_void)
let _ =
assert (get_string ((invoke sc) "daimler" (C_list [ C_int 200 ; C_float 0. ])) = "hello");
assert (get_int ((invoke sc) "astonmartin" (C_list [ C_string "fast" ; C_float 0. ])) = 101);
assert (get_float ((invoke sc) "bugatti" (C_list [ C_string "fast" ; C_int 200 ])) = 8.8);
assert (get_int ((invoke sc) "lamborghini" (C_void)) = 101);
;;
let mc = new_MiniCooper (C_list [ C_int 200 ; C_float 0. ])
let mm = new_MorrisMinor (C_list [ C_string "slow" ; C_float 0. ])
let fa = new_FordAnglia (C_list [ C_string "slow" ; C_int 200 ])
let aa = new_AustinAllegro (C_void)

View file

@ -0,0 +1,23 @@
open Swig
open Li_std_vector
let _ =
let iv = new_IntVector '() in
assert (iv -> "empty" () as bool);
assert ((iv -> "size" () as int) = 0);
ignore (iv -> "push_back" (123));
assert ((iv -> "empty" () as bool) = false);
assert ((iv -> "size" () as int) = 1);
assert ((iv -> "[]" (0) as int) = 123);
ignore (iv -> "clear" ());
assert (iv -> "empty" () as bool);
assert ((iv -> "size" () as int) = 0);
;;
let _ =
let rv = new_RealVector '() in
ignore (rv -> "push_back" (100.));
ignore (rv -> "push_back" (200.));
assert ((rv -> "[]" (0) as float) = 100.);
assert ((rv -> "[]" (1) as float) = 200.);
;;

View file

@ -0,0 +1,11 @@
open Swig
open Struct_value
let b = new_Bar (C_void)
let a = (invoke b) "[a]" (C_void)
let _ = (invoke a) "[x]" (C_int 3)
let _ = assert((invoke a) "[x]" (C_void) = C_int 3)
let bb = (invoke b) "[b]" (C_void)
let _ = (invoke bb) "[x]" (C_int 3)
let _ = assert((invoke bb) "[x]" (C_void) = C_int 3)