From: Richard W.M. Jones Date: Tue, 29 Nov 2011 12:52:15 +0000 (+0000) Subject: extra tests: Run OCaml tests under valgrind. X-Git-Tag: 1.14.5~15 X-Git-Url: http://git.annexia.org/?a=commitdiff_plain;h=17383b655401deefeaed0e67694720184e4f7a35;p=libguestfs.git extra tests: Run OCaml tests under valgrind. (cherry picked from commit aa4eb4cd109dda0dc7dfdd66a5163a18b0be2277) --- diff --git a/extratests/Makefile.am b/extratests/Makefile.am index 9aba6db..9b4e27c 100644 --- a/extratests/Makefile.am +++ b/extratests/Makefile.am @@ -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: @@ -91,7 +95,6 @@ test-tools-real: if [ $$r -ne 0 ]; then exit $$r; fi; \ done - # XXX Not tested: # ../clone/virt-sysprep # ../edit/virt-edit @@ -101,3 +104,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 diff --git a/extratests/suppressions b/extratests/suppressions index c573854..97d4b78 100644 --- a/extratests/suppressions +++ b/extratests/suppressions @@ -58,3 +58,35 @@ 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 +}