(* TEST_BELOW (* Blank lines added here to preserve locations. *) *) (* test for backtrace and stack unwinding with dynlink. *) (* https://github.com/ocaml-multicore/ocaml-multicore/issues/440 *) (* https://github.com/ocaml-multicore/ocaml-multicore/pull/499 *) let () = Dynlink.allow_unsafe_modules true; try Dynlink.loadfile "backtrace_dynlink_plugin.cmxs" with | Dynlink.Error err -> print_endline @@ Dynlink.error_message err; Printexc.print_backtrace stdout; | exn -> Printexc.to_string exn |> print_endline; print_endline "ERROR" (* TEST include dynlink; readonly_files = "backtrace_dynlink_plugin.ml"; libraries = ""; shared-libraries; native-dynlink; setup-ocamlopt.byte-build-env; module = "backtrace_dynlink.ml"; flags = "-g"; ocamlopt.byte; unset module; program = "backtrace_dynlink_plugin.cmxs"; flags = "-shared -g"; all_modules = "backtrace_dynlink_plugin.ml"; ocamlopt.byte; program = "${test_build_directory}/main.exe"; unset flags; libraries = "dynlink"; all_modules = "backtrace_dynlink.cmx"; ocamlopt.byte; ocamlrunparam += ",b=1"; run; { no-flambda; check-program-output; }{ reference = "${test_source_directory}/backtrace_dynlink.flambda.reference"; flambda; check-program-output; } *)