From 4b9a82ab1c3ed58f2b2fae165d4b98097f3e93dc Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Sun, 29 Jan 2023 13:43:40 +0100 Subject: [PATCH] Tezt_tezos: Allow to specify a `runner` to call `curl` --- tezt/lib_tezos/RPC_legacy.ml | 11 ++++++----- tezt/lib_tezos/RPC_legacy.mli | 13 ++++++++++--- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/tezt/lib_tezos/RPC_legacy.ml b/tezt/lib_tezos/RPC_legacy.ml index 8d02b2668877..46996e6ba8c9 100644 --- a/tezt/lib_tezos/RPC_legacy.ml +++ b/tezt/lib_tezos/RPC_legacy.ml @@ -217,17 +217,18 @@ module Curl = struct let* output = Process.check_and_read_stdout process in return (JSON.parse ~origin:url output) - let get ?(args = []) url = - let process = Process.spawn "curl" (args @ ["-s"; url]) in + let get ?runner ?(args = []) url = + let process = Process.spawn ?runner "curl" (args @ ["-s"; url]) in Runnable.{value = process; run = parse url} - let get_raw ?(args = []) url = - let process = Process.spawn "curl" (args @ ["-s"; url]) in + let get_raw ?runner ?(args = []) url = + let process = Process.spawn ?runner "curl" (args @ ["-s"; url]) in Runnable.{value = process; run = Process.check_and_read_stdout} - let post ?(args = []) url data = + let post ?runner ?(args = []) url data = let process = Process.spawn + ?runner "curl" (args @ [ diff --git a/tezt/lib_tezos/RPC_legacy.mli b/tezt/lib_tezos/RPC_legacy.mli index e3d9dd875104..a226956271ce 100644 --- a/tezt/lib_tezos/RPC_legacy.mli +++ b/tezt/lib_tezos/RPC_legacy.mli @@ -197,15 +197,22 @@ module Curl : sig Fails if [curl] is not found in path. *) - val get : ?args:string list -> string -> JSON.t Runnable.process + val get : + ?runner:Runner.t -> ?args:string list -> string -> JSON.t Runnable.process (** Same as [get] but does not parse the returned value *) - val get_raw : ?args:string list -> string -> string Runnable.process + val get_raw : + ?runner:Runner.t -> ?args:string list -> string -> string Runnable.process (** [post url data] returns a runnable posting [data] to [url] with curl. The response is parsed and returned as JSON. Fails if [curl] is not found in path. *) - val post : ?args:string list -> string -> JSON.t -> JSON.t Runnable.process + val post : + ?runner:Runner.t -> + ?args:string list -> + string -> + JSON.t -> + JSON.t Runnable.process end -- GitLab