summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore21
-rw-r--r--ocaml/Makefile.am66
-rwxr-xr-xocaml/run-bindtests5
3 files changed, 68 insertions, 24 deletions
diff --git a/.gitignore b/.gitignore
index fc732bc9..599dae48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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