Skip to content

Commit b2fd594

Browse files
committedJan 5, 2021
Manager.Start() now takes context instead of a channel
- started manager will be stopped when ctx is cancelled
1 parent 008f9c7 commit b2fd594

File tree

1 file changed

+8
-19
lines changed

1 file changed

+8
-19
lines changed
 

‎controllers/suite_test.go

+8-19
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ package controllers_test
1313
import (
1414
"context"
1515
"path/filepath"
16-
"sync"
1716
"testing"
1817

1918
"k8s.io/client-go/util/retry"
@@ -43,22 +42,15 @@ var (
4342
testEnv *envtest.Environment
4443
client runtimeClient.Client
4544
clientSet *kubernetes.Clientset
46-
stopMgr chan struct{}
47-
mgrStopped *sync.WaitGroup
4845
scheme *runtime.Scheme
4946
fakeExecutor *fakePodExecutor
5047
ctx = context.Background()
48+
cancelFunc context.CancelFunc
5149
updateWithRetry = func(cr *rabbitmqv1beta1.RabbitmqCluster, mutateFn func(r *rabbitmqv1beta1.RabbitmqCluster)) error {
5250
return retry.RetryOnConflict(retry.DefaultRetry, func() error {
53-
objKey, err := runtimeClient.ObjectKeyFromObject(cr)
54-
if err != nil {
51+
if err := client.Get(ctx, runtimeClient.ObjectKeyFromObject(cr), cr); err != nil {
5552
return err
5653
}
57-
58-
if err := client.Get(ctx, objKey, cr); err != nil {
59-
return err
60-
}
61-
6254
mutateFn(cr)
6355
return client.Update(ctx, cr)
6456
})
@@ -93,17 +85,16 @@ var _ = BeforeSuite(func() {
9385
Expect(rabbitmqv1beta1.AddToScheme(scheme)).To(Succeed())
9486
Expect(defaultscheme.AddToScheme(scheme)).To(Succeed())
9587

96-
startManager(scheme)
88+
cancelFunc = startManager(scheme)
9789
})
9890

9991
var _ = AfterSuite(func() {
100-
close(stopMgr)
101-
mgrStopped.Wait()
92+
cancelFunc()
10293
By("tearing down the test environment")
10394
Expect(testEnv.Stop()).To(Succeed())
10495
})
10596

106-
func startManager(scheme *runtime.Scheme) {
97+
func startManager(scheme *runtime.Scheme) context.CancelFunc {
10798
mgr, err := ctrl.NewManager(cfg, ctrl.Options{Scheme: scheme})
10899
Expect(err).NotTo(HaveOccurred())
109100
client = mgr.GetClient()
@@ -119,13 +110,11 @@ func startManager(scheme *runtime.Scheme) {
119110
}
120111
Expect(reconciler.SetupWithManager(mgr)).To(Succeed())
121112

122-
stopMgr = make(chan struct{})
123-
mgrStopped = &sync.WaitGroup{}
124-
mgrStopped.Add(1)
113+
managerCtx, cancel := context.WithCancel(context.Background())
125114
go func() {
126-
defer mgrStopped.Done()
127-
Expect(mgr.Start(stopMgr)).To(Succeed())
115+
Expect(mgr.Start(managerCtx)).To(Succeed())
128116
}()
117+
return cancel
129118
}
130119

131120
type fakePodExecutor struct {

0 commit comments

Comments
 (0)
Please sign in to comment.