• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

MinaProtocol / mina / 469

11 Aug 2025 08:33AM UTC coverage: 32.858% (+0.7%) from 32.152%
469

push

buildkite

web-flow
Merge pull request #17607 from MinaProtocol/dkijania/fix_toolchains

[Toolchain] use root to move to /usr/local/bin

5811 of 17685 relevant lines covered (32.86%)

16082.55 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.61
/src/test/command_line_tests/mina_bootstrapper.ml
1
open Async
2
open Core
3
open Config
4
open Mina_cli
5

6
module MinaBootstrapper = struct
7
  type t =
8
    { config : Config.t
9
    ; client_delay : float
10
    ; retry_delay : float
11
    ; retry_attempts : int
12
    }
13

14
  let create config =
15
    { config; client_delay = 40.; retry_delay = 60.; retry_attempts = 10 }
2✔
16

17
  let get_args t working_dir =
18
    [ "daemon"
3✔
19
    ; "-seed"
20
    ; "--demo-mode"
21
    ; "-background"
22
    ; "-working-dir"
23
    ; working_dir
24
    ; "-client-port"
25
    ; sprintf "%d" t.config.port
3✔
26
    ; "-config-directory"
27
    ; t.config.dirs.conf
28
    ; "-genesis-ledger-dir"
29
    ; t.config.dirs.genesis
30
    ; "-external-ip"
31
    ; "0.0.0.0"
32
    ; "-libp2p-keypair"
33
    ; ConfigDirs.libp2p_keypair_folder t.config.dirs
3✔
34
    ]
35

36
  let prepare t =
37
    let working_dir = Sys.getcwd () in
3✔
38
    let args = get_args t working_dir in
3✔
39
    Async.printf "Starting daemon inside %s\n" working_dir ;
3✔
40
    Async.printf "Starting command: %s %s\n" t.config.mina_exe
3✔
41
      (String.concat ~sep:" " args) ;
3✔
42
    return (t.config.mina_exe, args)
3✔
43

44
  let start t =
45
    let%bind prog, args = prepare t in
3✔
46
    Process.create ~prog ~args ()
3✔
47

48
  let wait_for_bootstrap t =
49
    let mina_cli = MinaCli.create ~port:t.config.port t.config.mina_exe in
3✔
50
    Async.printf "Waiting initial %d s. before connecting\n"
3✔
51
      (int_of_float t.client_delay) ;
3✔
52
    let%bind _ =
53
      Deferred.map (after @@ Time.Span.of_sec t.client_delay) ~f:Or_error.return
3✔
54
    in
55
    let rec go retries_remaining =
3✔
56
      match%bind MinaCli.daemon_status mina_cli with
3✔
57
      | Error _ when retries_remaining > 0 ->
×
58
          Async.printf "Daemon not responding.. retrying (%i/%i)\n"
×
59
            (t.retry_attempts - retries_remaining)
60
            t.retry_attempts ;
61
          let%bind () = after @@ Time.Span.of_sec t.retry_delay in
×
62
          go (retries_remaining - 1)
×
63
      | ret ->
3✔
64
          return ret
65
    in
66
    go t.retry_attempts
67
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc