From 2d1e96ac46641d660ee65e43ba69a156495e7b19 Mon Sep 17 00:00:00 2001 From: Florent Poinsard <35779988+frouioui@users.noreply.github.com> Date: Fri, 8 Nov 2024 13:52:55 -0600 Subject: [PATCH] Fix flakiness in `TestListenerShutdown` (#17024) Signed-off-by: Florent Poinsard --- go/mysql/server_test.go | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-) diff --git a/go/mysql/server_test.go b/go/mysql/server_test.go index 975bc964633..b301e956ef4 100644 --- a/go/mysql/server_test.go +++ b/go/mysql/server_test.go @@ -1414,7 +1414,9 @@ func TestListenerShutdown(t *testing.T) { l.Shutdown() - waitForConnRefuse(t, ctx, 1) + require.Eventually(t, func() bool { + return connRefuse.Get() == 1 + }, 1*time.Minute, 100*time.Millisecond, "could not reach the desired connRefuse value") err = conn.Ping() require.EqualError(t, err, "Server shutdown in progress (errno 1053) (sqlstate 08S01)") @@ -1426,24 +1428,6 @@ func TestListenerShutdown(t *testing.T) { require.Equal(t, "Server shutdown in progress", sqlErr.Message) } -func waitForConnRefuse(t *testing.T, ctx context.Context, valWanted int64) { - ctx, cancel := context.WithTimeout(ctx, 10*time.Second) - defer cancel() - tick := time.NewTicker(100 * time.Millisecond) - defer tick.Stop() - - for { - select { - case <-ctx.Done(): - require.FailNow(t, "connRefuse did not reach %v", valWanted) - case <-tick.C: - if connRefuse.Get() == valWanted { - return - } - } - } -} - func TestParseConnAttrs(t *testing.T) { expected := map[string]string{ "_client_version": "8.0.11",