From b24950fe7458e3ac5eb67f3316eb5e65c3faf8e1 Mon Sep 17 00:00:00 2001 From: Ash McKenzie Date: Sat, 1 Jul 2023 12:08:56 +1000 Subject: [PATCH 1/2] New eventuallyInDelta() testing helper function --- internal/sshd/connection_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/sshd/connection_test.go b/internal/sshd/connection_test.go index 8874b0758..33b1c8389 100644 --- a/internal/sshd/connection_test.go +++ b/internal/sshd/connection_test.go @@ -236,3 +236,9 @@ func TestSessionsMetrics(t *testing.T) { }) } } + +func eventuallyInDelta(t *testing.T, expected, actual, delta float64) { + require.Eventually(t, func() bool { + return ((expected - actual) < delta) + }, 1*time.Second, time.Millisecond) +} -- GitLab From 40234704eadcc853be999d3be7c26ae19de0f06d Mon Sep 17 00:00:00 2001 From: Ash McKenzie Date: Sat, 1 Jul 2023 12:09:29 +1000 Subject: [PATCH 2/2] Use eventuallyInDelta() to allow for delay --- internal/sshd/connection_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/sshd/connection_test.go b/internal/sshd/connection_test.go index 33b1c8389..5438935f0 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,8 @@ 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) }) } } -- GitLab