From aa4eb4cd109dda0dc7dfdd66a5163a18b0be2277 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 Nov 2011 12:52:15 +0000 Subject: [PATCH] extra tests: Run OCaml tests under valgrind. --- extratests/Makefile.am | 11 +++++++++-- extratests/suppressions | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/extratests/Makefile.am b/extratests/Makefile.am index a3b9a2f..739f1c2 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: @@ -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 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 +} -- 1.8.3.1