diff --git a/tests/myutop_main.ml b/tests/myutop_main.ml index 2c8f070bdf8b4a142a36073e6cd80b9275c5a462..76bdbf9e947b13fb5c4e26129e816dfca472d080 100644 --- a/tests/myutop_main.ml +++ b/tests/myutop_main.ml @@ -35,7 +35,25 @@ let () = Ldot(Ldot(Lident "Solver","Events"),"Fired"); Lident "Interval"; Lident "Uninterp"; - ] + ]; + + let first = ref true in + let exec_init s = + match UTop.parse_toplevel_phrase_default s true with + | UTop.Value r -> + ignore(Toploop.execute_phrase true Format.err_formatter r) + | _ -> assert false + in + let init = ["open Popop;;"; + "open Types;;"; + "let b1 = Cl.fresh \"b1\" Bool.ty;;"] in + UTop.at_new_command (fun () -> + if !first then begin + first := false; + List.iter exec_init init; + end + ) + (* Start utop. It never returns. *) let () = UTop_main.main ()