type return = unit M.t
type 'a test_case = string * speed_level * ('a -> return)
val test_case : string -> speed_level -> ('a -> return) -> 'a test_case
type 'a test = string * 'a test_case list
type 'a with_options = ?and_exit:bool -> ?verbose:bool -> ?compact:bool -> ?tail_errors:[ `Limit of int | `Unlimited ] -> ?quick_only:bool -> ?show_errors:bool -> ?json:bool -> ?filter:(Re.re option * Alcotest_engine__Core.IntSet.t option) -> ?log_dir:string -> 'a
val run : (string -> unit test list -> return) with_options
val run_with_args : (string -> 'a -> 'a test list -> return) with_options