diff --git a/internal/sshd/connection_test.go b/internal/sshd/connection_test.go index 8874b075836baa1441151d6882e13ba095c502be..5438935f01b909900843220d8b6dea25406c587b 100644 --- a/internal/sshd/connection_test.go +++ b/internal/sshd/connection_test.go @@ -210,8 +210,8 @@ func TestSessionsMetrics(t *testing.T) { return errors.New("custom error") }) - require.InDelta(t, initialSessionsTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsTotal), 0.1) - require.InDelta(t, initialSessionsErrorTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsErrorsTotal), 0.1) + eventuallyInDelta(t, initialSessionsTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsTotal), 0.1) + eventuallyInDelta(t, initialSessionsErrorTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsErrorsTotal), 0.1) for i, ignoredError := range []struct { desc string @@ -231,8 +231,14 @@ func TestSessionsMetrics(t *testing.T) { return ignored }) - require.InDelta(t, initialSessionsTotal+2+float64(i), testutil.ToFloat64(metrics.SliSshdSessionsTotal), 0.1) - require.InDelta(t, initialSessionsErrorTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsErrorsTotal), 0.1) + eventuallyInDelta(t, initialSessionsTotal+2+float64(i), testutil.ToFloat64(metrics.SliSshdSessionsTotal), 0.1) + eventuallyInDelta(t, initialSessionsErrorTotal+1, testutil.ToFloat64(metrics.SliSshdSessionsErrorsTotal), 0.1) }) } } + +func eventuallyInDelta(t *testing.T, expected, actual, delta float64) { + require.Eventually(t, func() bool { + return ((expected - actual) < delta) + }, 1*time.Second, time.Millisecond) +}