Skip to content

Commit

Permalink
Do a connect-retry loop during deamon integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
cmaglie committed May 15, 2024
1 parent be1085c commit 404f78a
Showing 1 changed file with 16 additions and 4 deletions.
20 changes: 16 additions & 4 deletions internal/integrationtest/arduino-cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -408,10 +408,22 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string {
}
go _copy(os.Stdout, stdout)
go _copy(os.Stderr, stderr)
conn, err := grpc.NewClient(cli.daemonAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
cli.t.NoError(err)
cli.daemonConn = conn
cli.daemonClient = commands.NewArduinoCoreServiceClient(conn)

// Await the CLI daemon to be ready
var connErr error
for retries := 5; retries > 0; retries-- {
time.Sleep(time.Second)

conn, err := grpc.NewClient(cli.daemonAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
connErr = err
continue
}
cli.daemonConn = conn
cli.daemonClient = commands.NewArduinoCoreServiceClient(conn)
break
}
cli.t.NoError(connErr)
return cli.daemonAddr
}

Expand Down

0 comments on commit 404f78a

Please sign in to comment.