diff --git a/provisionerd/provisionerd_test.go b/provisionerd/provisionerd_test.go index 23e54d605ca8d..bf8c46ae06133 100644 --- a/provisionerd/provisionerd_test.go +++ b/provisionerd/provisionerd_test.go @@ -70,8 +70,11 @@ func TestProvisionerd(t *testing.T) { close(done) }) completeChan := make(chan struct{}) + var completed sync.Once closer := createProvisionerd(t, func(ctx context.Context) (proto.DRPCProvisionerDaemonClient, error) { - defer close(completeChan) + completed.Do(func() { + defer close(completeChan) + }) return nil, xerrors.New("an error") }, provisionerd.LocalProvisioners{}) require.Condition(t, closedWithin(completeChan, testutil.WaitShort))