sig
  val assert_failure : string -> 'a
  val assert_bool : string -> bool -> unit
  val ( @? ) : string -> bool -> unit
  val assert_string : string -> unit
  val assert_equal :
    ?cmp:('-> '-> bool) ->
    ?printer:('-> string) -> ?msg:string -> '-> '-> unit
  val assert_raises : ?msg:string -> exn -> (unit -> 'a) -> unit
  val cmp_float : ?epsilon:float -> float -> float -> bool
  val bracket : (unit -> 'a) -> ('-> 'b) -> ('-> 'c) -> unit -> 'c
  type test_fun = unit -> unit
  type tests = (string * Test.test_fun) list
  val install_tests : string -> (unit -> Test.tests) -> unit
  val run_tests : string list option -> bool
  val test_program : string -> Test.test_fun
end