mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
... as building and interpreting Ocaml objects in C is rather fragile. For C producing objects for Ocaml to consume, one trick to check validity is Gc.compact() which forces a major sweep, walking all objects. If this doesn't segfault, then we at least got the pointer <-> integer aspects right. For now, start with a very simple version call. (Re)introduce tools/ocaml/tests and add test-ocaml-bindings which is installed into $(DESTDIR)$(LIBEXEC)/tests to be picked up automatically with the other dom0 tests. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Andrii Sultanov <andriy.sultanov@vates.tech>
20 lines
328 B
OCaml
20 lines
328 B
OCaml
open Printf
|
|
|
|
let xch = Xenctrl.interface_open ()
|
|
|
|
let test_xenversion () =
|
|
let ver = Xenctrl.version xch in
|
|
printf "Xen version: %d.%d%s\n" ver.major ver.minor ver.extra
|
|
|
|
|
|
let () =
|
|
printf "Test Ocaml Bindings\n%!";
|
|
|
|
test_xenversion ();
|
|
|
|
printf "Starting GC.compact()\n%!";
|
|
Gc.compact ();
|
|
printf "GC done\n";
|
|
|
|
()
|