From 8bdd5caf7e815013be86d02102bbc109a90d8d9d Mon Sep 17 00:00:00 2001 From: Jarek Kowalski Date: Wed, 12 Feb 2020 20:39:33 -0800 Subject: [PATCH] server: added retry loop when launching server --- tests/end_to_end_test/server_start_test.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/tests/end_to_end_test/server_start_test.go b/tests/end_to_end_test/server_start_test.go index 897e60d47..e679cff7f 100644 --- a/tests/end_to_end_test/server_start_test.go +++ b/tests/end_to_end_test/server_start_test.go @@ -58,7 +58,7 @@ func TestServerStart(t *testing.T) { var sp serverParameters - e.RunAndProcessStderr(t, sp.ProcessOutput, "server", "start", "--ui", "--address=localhost:0", "--random-password", "--tls-generate-cert", "--auto-shutdown=10s") + e.RunAndProcessStderr(t, sp.ProcessOutput, "server", "start", "--ui", "--address=localhost:0", "--random-password", "--tls-generate-cert", "--auto-shutdown=60s") t.Logf("detected server parameters %#v", sp) cli, err := serverapi.NewClient(serverapi.ClientOptions{ @@ -73,7 +73,7 @@ func TestServerStart(t *testing.T) { defer cli.Shutdown(ctx) // nolint:errcheck - time.Sleep(1 * time.Second) + waitUntilServerStarted(t, cli) st := verifyServerConnected(t, cli, true) if got, want := st.Storage, "filesystem"; got != want { @@ -126,8 +126,7 @@ func TestServerStartWithoutInitialRepository(t *testing.T) { defer cli.Shutdown(ctx) // nolint:errcheck - time.Sleep(1 * time.Second) - + waitUntilServerStarted(t, cli) verifyServerConnected(t, cli, false) if err = cli.CreateRepository(ctx, &serverapi.CreateRequest{ @@ -169,3 +168,15 @@ func verifyServerConnected(t *testing.T, cli *serverapi.Client, want bool) *serv return st } + +func waitUntilServerStarted(t *testing.T, cli *serverapi.Client) { + for i := 0; i < 60; i++ { + if _, err := cli.Status(context.Background()); err == nil { + return + } + + time.Sleep(1 * time.Second) + } + + t.Fatalf("server failed to start") +}