extra tests: Run OCaml tests under valgrind.
authorRichard W.M. Jones <rjones@redhat.com>
Tue, 29 Nov 2011 12:52:15 +0000 (12:52 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Tue, 29 Nov 2011 12:52:15 +0000 (12:52 +0000)
extratests/Makefile.am
extratests/suppressions

index a3b9a2f..739f1c2 100644 (file)
@@ -42,7 +42,11 @@ GUESTS = $(shell virsh -c $(LIBVIRT_DEFAULT_URI) list --all | \
                 tail -n +3 | \
                 awk '{print $$2}')
 
-extra-tests: test-tools-null test-tools-internal test-tools-real
+extra-tests: \
+       test-tools-null \
+       test-tools-internal \
+       test-tools-real \
+       test-ocaml
 
 # Null invocations of the basic tools shouldn't leak memory.
 test-tools-null:
@@ -92,7 +96,6 @@ test-tools-real:
          if [ $$r -ne 0 ]; then exit $$r; fi; \
        done
 
-
 # XXX Not tested:
 # ../clone/virt-sysprep
 # ../edit/virt-edit
@@ -102,3 +105,7 @@ test-tools-real:
 # ../sparsify/virt-sparsify (OCaml)
 # ../tools/virt-win-reg (Perl)
 # ../tools/virt-make-fs (Perl)
+
+# Test OCaml bindings under valgrind.
+test-ocaml:
+       $(MAKE) -C ../ocaml VG="$(VG)" check
index c573854..97d4b78 100644 (file)
    fun:calloc
    obj:/usr/lib/libnl.so.1.1
 }
+
+# OCaml, by design, doesn't bother to free the major heap before
+# calling exit.  Ignore that leak.
+{
+   ocaml_heap_leak
+   Memcheck:Leak
+   ...
+   fun:caml_alloc_for_heap
+}
+# On the other hand, these seem to be a real bugs in OCaml:
+{
+   ocaml_heap_leak_2
+   Memcheck:Leak
+   fun:malloc
+   fun:caml_thread_new_descriptor
+   fun:caml_thread_new
+}
+{
+   ocaml_heap_leak_3
+   Memcheck:Leak
+   fun:malloc
+   fun:caml_thread_new_descriptor
+   fun:caml_thread_initialize
+}
+{
+   ocaml_heap_leak_4
+   Memcheck:Leak
+   ...
+   fun:pthread_create*
+   ...
+   fun:caml_thread_new
+}