From ff4cd338d90b8b45639aa758b0a2cabb9f1c7a0b Mon Sep 17 00:00:00 2001 From: James Rasell Date: Tue, 15 Jun 2021 09:31:08 +0200 Subject: [PATCH] plugins: fix test data race. --- plugins/drivers/testutils/testing_test.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/plugins/drivers/testutils/testing_test.go b/plugins/drivers/testutils/testing_test.go index e8e75e3a7..0c0c9efe2 100644 --- a/plugins/drivers/testutils/testing_test.go +++ b/plugins/drivers/testutils/testing_test.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "sync" + "sync/atomic" "testing" "time" @@ -53,7 +54,9 @@ func TestBaseDriver_Fingerprint(t *testing.T) { }, } - var complete bool + var complete atomic.Value + complete.Store(false) + impl := &MockDriver{ FingerprintF: func(ctx context.Context) (<-chan *drivers.Fingerprint, error) { ch := make(chan *drivers.Fingerprint) @@ -62,7 +65,7 @@ func TestBaseDriver_Fingerprint(t *testing.T) { ch <- fingerprints[0] time.Sleep(500 * time.Millisecond) ch <- fingerprints[1] - complete = true + complete.Store(true) }() return ch, nil }, @@ -91,10 +94,9 @@ func TestBaseDriver_Fingerprint(t *testing.T) { require.Fail("did not receive fingerprint[1]") } }() - require.False(complete) + require.False(complete.Load().(bool)) wg.Wait() - require.True(complete) - + require.True(complete.Load().(bool)) } func TestBaseDriver_RecoverTask(t *testing.T) {