Tezt_mavryk.Dac_node
Spawn Data-availability-committee (DAC) nodes and control them.
val create_coordinator :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?allow_v1_api:bool ->
committee_members:string list ->
node:Node.t ->
client:Client.t ->
unit ->
t
Creates a DAC node to run in coordinator mode registered with the specified committee members.
val create_coordinator_with_endpoint :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?allow_v1_api:bool ->
committee_members:string list ->
endpoint:Client.endpoint ->
client:Client.t ->
unit ->
t
Same as create_coordinator
, but do not assume the endpoint is a node.
val create_committee_member :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?coordinator_rpc_host:string ->
?coordinator_rpc_port:int ->
?allow_v1_api:bool ->
address:string ->
node:Node.t ->
client:Client.t ->
unit ->
t
Creates a DAC node to run in committee_member mode, using the specified address, coordinator rpc host and port.
val create_committee_member_with_endpoint :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?coordinator_rpc_host:string ->
?coordinator_rpc_port:int ->
?allow_v1_api:bool ->
address:string ->
endpoint:Client.endpoint ->
client:Client.t ->
unit ->
t
Same as create_committee_member
, but do not assume the endpoint is a node.
val create_observer :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?coordinator_rpc_host:string ->
?coordinator_rpc_port:int ->
?timeout:int ->
?allow_v1_api:bool ->
committee_member_rpcs:(string * int) list ->
node:Node.t ->
client:Client.t ->
unit ->
t
Creates a DAC node to run in observer mode, using the specified coordinator rpc host and port and set the committee member endpoints to committee_member_rpcs
.
val create_observer_with_endpoint :
?path:string ->
?name:string ->
?color:Tezt_wrapper.Log.Color.t ->
?data_dir:string ->
?event_pipe:string ->
?rpc_host:string ->
?rpc_port:int ->
?reveal_data_dir:string ->
?coordinator_rpc_host:string ->
?coordinator_rpc_port:int ->
?timeout:int ->
?allow_v1_api:bool ->
committee_member_rpcs:(string * int) list ->
endpoint:Client.endpoint ->
client:Client.t ->
unit ->
t
Same as create_obsever
, but do not assume the endpoint is a node.
val name : t -> string
Get the name of an dac node.
val mode : t -> string
Get the mode in which a dac node is configured to run. Returned values can be either "Coordinator", "Commitee_member" or "Observer".
val rpc_host : t -> string
Get the RPC host given as --rpc-addr
to an dac node.
val rpc_port : t -> int
Get the RPC port given as --rpc-addr
to an dac node.
val endpoint : t -> string
Return the endpoint of the dac node, i.e., http://rpc_host:rpc_port.
val data_dir : t -> string
Get the data-dir of an dac node.
val reveal_data_dir : t -> string
Get the reveal-data-dir of an dac node.
val allow_v1_api : t -> bool
allow_v1_api dac_node
is true
if current node allows running V1
API.
val ls_reveal_data_dir : t -> string list Lwt.t
Calls ls
on reveal data dir.
val run :
?wait_ready:bool ->
?env:string Tezt_wrapper.Base.String_map.t ->
t ->
unit Lwt.t
run ?wait_ready ?env node
launches the given dac node where env is a map of environment variable.
If wait_ready
is true
, the promise waits for the dac node to be ready. true
by default.
val terminate : ?timeout:float -> t -> unit Lwt.t
Send SIGTERM and wait for the process to terminate.
Default timeout
is 30 seconds, after which SIGKILL is sent.
val kill : t -> unit Lwt.t
Send SIGKILL and wait for the process to terminate.
val log_events : ?max_length:int -> t -> unit
Shows in stdout every events sent by the node
val wait_for :
?where:string ->
t ->
string ->
(Tezt_wrapper.JSON.t -> 'a option) ->
'a Lwt.t
See Daemon.Make.wait_for
.
val is_running_not_ready : t -> bool
is_running_not_ready dac_node
returns true if the given node is running but its status is not ready
val wait : t -> Unix.process_status Lwt.t
Wait until a node terminates and return its status. If the node is not running, make the test fail.
val init_config : t -> string Lwt.t
Run mavkit-dac-node init-config
. Returns the name of the resulting configuration file.
module Config_file : sig ... end
C node configuration files.
val with_sleeping_node :
?rpc_port:int ->
?rpc_address:string ->
timeout:float ->
((string * int) -> unit Lwt.t) ->
unit Lwt.t
with_sleeping_node
creates and runs an embedded node that sleeps for timeout
seconds upon receiving any request then returns "ok". It is used to test timeout capabilities of clients.
val as_rpc_endpoint : t -> Endpoint.t
Expose the RPC server address of this node as a foreign endpoint.
module RPC : RPC_core.CALLERS with type uri_provider := t