Files
xen/tools/ocaml/tests/bindings/main.ml
T
Andrew Cooper d97847e858 tools/ocaml: Gitlab CI test for bindings
... 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>
2026-10-26 18:36:52 +00:00

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";
()