From e2e56a74f67b5bf4eeda34cadd7b06351bb6ada5 Mon Sep 17 00:00:00 2001 From: Victor Allombert Date: Wed, 14 Aug 2024 15:55:34 +0200 Subject: [PATCH] Tezt/LTF: fix long dynamic bake ring test --- tezt/long_tests/tenderbake.ml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/tezt/long_tests/tenderbake.ml b/tezt/long_tests/tenderbake.ml index 44f3d71bc47e..ee656b646e4e 100644 --- a/tezt/long_tests/tenderbake.ml +++ b/tezt/long_tests/tenderbake.ml @@ -200,7 +200,10 @@ module Sandbox = struct let handles (st : state) = Base.range 0 (Array.length st.daemons - 1) - let add_baker_to_node (st : state) (h : handle) = + (* [add_baker_to_node ?run_baker st h] associates a baker to a + node. [run_baker] allows not to run the baker automatically, and + thus, one need to run it afterward. *) + let add_baker_to_node ?(run_baker = true) (st : state) (h : handle) = match Array.get st.daemons h with | exception Invalid_argument _ -> raise (Invalid_argument (sf "add_baker_to_node: invalid handle %d" h)) @@ -212,6 +215,7 @@ module Sandbox = struct let* client = Client.init ~endpoint:(Client.Node node) () in let delegates = [get_delegate st] in let baker = Baker.create ~protocol node client ~delegates in + let* () = if run_baker then Baker.run baker else Lwt.return_unit in st.daemons.(h) <- (node, Some baker, Some client) ; return (client, baker) @@ -236,9 +240,9 @@ module Sandbox = struct st.daemons <- Array.append st.daemons [|(node, None, None)|] ; return (handle, node) - let add_node_with_baker (st : state) = + let add_node_with_baker ?(run_baker = true) (st : state) = let* handle, node = add_node st in - let* client, baker = add_baker_to_node st handle in + let* client, baker = add_baker_to_node ~run_baker st handle in Log.info "Creating baker #%d (%s)" handle (Baker.name baker) ; return (handle, node, client, baker) @@ -330,13 +334,16 @@ module Rounds = struct let sandbox = Sandbox.make (Inf.cycle (Array.to_list Account.Bootstrap.keys)) in - let* _, _, activator_client, _ = Sandbox.add_node_with_baker sandbox in + let* _, _, activator_client, _ = + Sandbox.add_node_with_baker ~run_baker:false sandbox + in let* () = Base.repeat (nodes_num - 1) @@ fun () -> - let* _ = Sandbox.add_node_with_baker sandbox in + let* _ = Sandbox.add_node_with_baker ~run_baker:false sandbox in unit in let nodes = Sandbox.nodes sandbox in + (* Run all the bakers when the nodes are ready. *) let bakers = Sandbox.bakers sandbox in (* Topology does not really matter here, as long as there is a path from any -- GitLab