ligo/src/lib_test_helpers/process.mli
2018-02-05 23:34:05 +01:00

45 lines
1.4 KiB
OCaml

(**************************************************************************)
(* *)
(* Copyright (c) 2014 - 2018. *)
(* Dynamic Ledger Solutions, Inc. <contact@tezos.com> *)
(* *)
(* All rights reserved. No warranty, explicit or implicit, provided. *)
(* *)
(**************************************************************************)
module Make(Error : sig
type error
type error += Exn of exn
type 'a tzresult = ('a, error list) result
val pp_print_error: Format.formatter -> error list -> unit
val error_exn: exn -> ('a, error list) result
val join: unit tzresult Lwt.t list -> unit tzresult Lwt.t
val failwith:
('a, Format.formatter, unit, 'b tzresult Lwt.t) format4 ->
'a
end) : sig
open Error
exception Exited of int
module Channel : sig
type ('a, 'b) t
val push: ('a, 'b) t -> 'a -> unit tzresult Lwt.t
val pop: ('a, 'b) t -> 'b tzresult Lwt.t
end
type ('a, 'b) t = {
termination: unit tzresult Lwt.t ;
channel: ('b, 'a) Channel.t ;
}
val detach:
?prefix:string ->
(('a, 'b) Channel.t -> unit tzresult Lwt.t) ->
('a, 'b) t Lwt.t
val wait_all: ('a, 'b) t list -> unit tzresult Lwt.t
end