From 36b4f6774c964599bcaf7dc5dc4d755fee129cdb Mon Sep 17 00:00:00 2001 From: Dmitry Verkhoturov Date: Sun, 29 Dec 2019 23:23:47 +0100 Subject: [PATCH] make TestRPC tests reliably wait for HTTP server to start (#505) * make TestRPC tests reliably wait for HTTP server to start * adjust the wait period to be limited by 3 seconds --- backend/_example/memory_store/server/rpc_test.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/_example/memory_store/server/rpc_test.go b/backend/_example/memory_store/server/rpc_test.go index 6879ca95..3716eb3c 100644 --- a/backend/_example/memory_store/server/rpc_test.go +++ b/backend/_example/memory_store/server/rpc_test.go @@ -401,7 +401,13 @@ func prepTestStore(t *testing.T) (s *RPC, port int, teardown func()) { log.Printf("%v", s.Run(port)) }() - time.Sleep(time.Millisecond * 50) // wait for server to start + // wait for up to 3 seconds for server to start before returning it + for i := 0; i < 300; i++ { + time.Sleep(time.Millisecond * 10) + if _, err := http.Get(fmt.Sprintf("http://localhost:%d", port)); err == nil { + break + } + } return s, port, func() { require.NoError(t, s.Shutdown())