From c02f793bab8e79e45f4fa798723b13a806557c44 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Tue, 5 Jul 2022 11:09:51 +0200 Subject: test: return immediately on connect if the connection is successfull then return immediately instead of doing all the iterations. It also solves a problem where connections are leaked since there are multiple Dial but only one Close. Signed-off-by: Giuseppe Scrivano --- test/e2e/common_test.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/test/e2e/common_test.go b/test/e2e/common_test.go index 261db8a9a..e882b6be3 100644 --- a/test/e2e/common_test.go +++ b/test/e2e/common_test.go @@ -1081,15 +1081,17 @@ func WaitForFile(path string) (err error) { // WaitForService blocks, waiting for some service listening on given host:port func WaitForService(address url.URL) { // Wait for podman to be ready - var conn net.Conn var err error for i := 1; i <= 5; i++ { + var conn net.Conn conn, err = net.Dial("tcp", address.Host) - if err != nil { - // Podman not available yet... - time.Sleep(time.Duration(i) * time.Second) + if err == nil { + conn.Close() + break } + + // Podman not available yet... + time.Sleep(time.Duration(i) * time.Second) } Expect(err).ShouldNot(HaveOccurred()) - conn.Close() } -- cgit v1.2.3-54-g00ecf