diff options
author | Richard W.M. Jones <[email protected]> | 2012-01-27 22:11:53 +0000 |
---|---|---|
committer | Richard W.M. Jones <[email protected]> | 2012-01-29 11:15:50 +0000 |
commit | 64529a62acd81bf1a5c2d5b25f54b1e596e07e1c (patch) | |
tree | 5c1906be7ae45c95bedf153f2c4674e1299fd6d9 | |
parent | 9b8b9a4b56d2ce221fb52b7d205dd4eb864c9ea2 (diff) | |
download | libguestfs-64529a62acd81bf1a5c2d5b25f54b1e596e07e1c.tar.gz libguestfs-64529a62acd81bf1a5c2d5b25f54b1e596e07e1c.tar.xz libguestfs-64529a62acd81bf1a5c2d5b25f54b1e596e07e1c.zip |
ocaml: Test bytecode and native code bindings.
Compile each test twice, as bytecode and native code, and
test both.
(cherry picked from commit eb68a314133c88260cdf4547d7d338446488e698)
-rw-r--r-- | .gitignore | 21 | ||||
-rw-r--r-- | ocaml/Makefile.am | 66 | ||||
-rwxr-xr-x | ocaml/run-bindtests | 5 |
3 files changed, 68 insertions, 24 deletions
@@ -213,7 +213,8 @@ Makefile Makefile.in missing *.o -ocaml/bindtests +ocaml/bindtests.bc +ocaml/bindtests.opt ocaml/bindtests.ml ocaml/.depend ocaml/dllmlguestfs.so @@ -228,12 +229,18 @@ ocaml/guestfs.ml ocaml/guestfs.mli ocamlinit-stamp ocaml/META -ocaml/t/guestfs_005_load -ocaml/t/guestfs_010_basic -ocaml/t/guestfs_070_threads -ocaml/t/guestfs_080_optargs -ocaml/t/guestfs_400_events -ocaml/t/guestfs_400_progress +ocaml/t/guestfs_005_load.bc +ocaml/t/guestfs_005_load.opt +ocaml/t/guestfs_010_basic.bc +ocaml/t/guestfs_010_basic.opt +ocaml/t/guestfs_070_threads.bc +ocaml/t/guestfs_070_threads.opt +ocaml/t/guestfs_080_optargs.bc +ocaml/t/guestfs_080_optargs.opt +ocaml/t/guestfs_400_events.bc +ocaml/t/guestfs_400_events.opt +ocaml/t/guestfs_400_progress.bc +ocaml/t/guestfs_400_progress.opt *.orig *.patch perl/bindtests.pl diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am index a5ee6fe9..4c9471e1 100644 --- a/ocaml/Makefile.am +++ b/ocaml/Makefile.am @@ -74,58 +74,92 @@ html/index.html: $(srcdir)/guestfs*.mli $(srcdir)/guestfs*.ml endif TESTS_ENVIRONMENT = \ + CAML_LD_LIBRARY_PATH=. \ $(top_builddir)/run \ $(VG) -TESTS = run-bindtests \ +test_progs = \ t/guestfs_005_load \ t/guestfs_080_optargs \ t/guestfs_400_events if ENABLE_APPLIANCE -TESTS += t/guestfs_010_basic \ +test_progs += \ + t/guestfs_010_basic \ t/guestfs_070_threads \ t/guestfs_400_progress endif -noinst_DATA += bindtests \ - t/guestfs_005_load \ - t/guestfs_010_basic \ - t/guestfs_070_threads \ - t/guestfs_080_optargs \ - t/guestfs_400_events \ - t/guestfs_400_progress +TESTS = run-bindtests \ + $(patsubst %,%.bc,$(test_progs)) \ + $(patsubst %,%.opt,$(test_progs)) + +noinst_DATA += \ + bindtests.bc bindtests.opt \ + $(test_progs:%=%.bc) \ + $(test_progs:%=%.opt) -bindtests: bindtests.cmx mlguestfs.cmxa +bindtests.bc: bindtests.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +bindtests.opt: bindtests.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_005_load: t/guestfs_005_load.cmx mlguestfs.cmxa +t/guestfs_005_load.bc: t/guestfs_005_load.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_005_load.opt: t/guestfs_005_load.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_010_basic: t/guestfs_010_basic.cmx mlguestfs.cmxa +t/guestfs_010_basic.bc: t/guestfs_010_basic.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_010_basic.opt: t/guestfs_010_basic.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_070_threads: t/guestfs_070_threads.cmx mlguestfs.cmxa +t/guestfs_070_threads.bc: t/guestfs_070_threads.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix,threads -thread -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_070_threads.opt: t/guestfs_070_threads.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix,threads -thread -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_080_optargs: t/guestfs_080_optargs.cmx mlguestfs.cmxa +t/guestfs_080_optargs.bc: t/guestfs_080_optargs.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_080_optargs.opt: t/guestfs_080_optargs.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_400_events: t/guestfs_400_events.cmx mlguestfs.cmxa +t/guestfs_400_events.bc: t/guestfs_400_events.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_400_events.opt: t/guestfs_400_events.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ -t/guestfs_400_progress: t/guestfs_400_progress.cmx mlguestfs.cmxa +t/guestfs_400_progress.bc: t/guestfs_400_progress.cmo mlguestfs.cma + mkdir -p t + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cma $< -o $@ + +t/guestfs_400_progress.opt: t/guestfs_400_progress.cmx mlguestfs.cmxa mkdir -p t $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -cclib -L$(top_builddir)/src/.libs -I . -package unix -linkpkg mlguestfs.cmxa $< -o $@ # Need to rebuild the tests from source if the main library has # changed at all, otherwise we get inconsistent assumptions. +t/guestfs_070_threads.cmo: t/guestfs_070_threads.ml mlguestfs.cma + $(OCAMLFIND) ocamlc $(OCAMLOPTFLAGS) -package unix,threads -thread -linkpkg -c $< -o $@ + t/guestfs_070_threads.cmx: t/guestfs_070_threads.ml mlguestfs.cmxa $(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) -package unix,threads -thread -linkpkg -c $< -o $@ diff --git a/ocaml/run-bindtests b/ocaml/run-bindtests index da10231d..3b73e8d3 100755 --- a/ocaml/run-bindtests +++ b/ocaml/run-bindtests @@ -18,5 +18,8 @@ set -e -./bindtests > bindtests.tmp +./bindtests.bc > bindtests.tmp +diff -u $srcdir/../bindtests bindtests.tmp + +./bindtests.opt > bindtests.tmp diff -u $srcdir/../bindtests bindtests.tmp |