File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -409,6 +409,8 @@ func (cm *controllerManager) Start(ctx context.Context) (err error) {
409
409
cm .Unlock ()
410
410
return errors .New ("manager already started" )
411
411
}
412
+ cm .started = true
413
+
412
414
var ready bool
413
415
defer func () {
414
416
// Only unlock the manager if we haven't reached
Original file line number Diff line number Diff line change @@ -1492,6 +1492,29 @@ var _ = Describe("manger.Manager", func() {
1492
1492
Expect (err ).NotTo (HaveOccurred ())
1493
1493
Expect (m .Add (& failRec {})).To (HaveOccurred ())
1494
1494
})
1495
+
1496
+ It ("should fail if attempted to start a second time" , func () {
1497
+ m , err := New (cfg , Options {})
1498
+ Expect (err ).NotTo (HaveOccurred ())
1499
+
1500
+ ctx , cancel := context .WithCancel (context .Background ())
1501
+ defer cancel ()
1502
+ go func () {
1503
+ defer GinkgoRecover ()
1504
+ Expect (m .Start (ctx )).NotTo (HaveOccurred ())
1505
+ }()
1506
+ // Wait for the Manager to start
1507
+ Eventually (func () bool {
1508
+ mgr , ok := m .(* controllerManager )
1509
+ Expect (ok ).To (BeTrue ())
1510
+ return mgr .runnables .Caches .Started ()
1511
+ }).Should (BeTrue ())
1512
+
1513
+ err = m .Start (ctx )
1514
+ Expect (err ).ToNot (BeNil ())
1515
+ Expect (err .Error ()).To (Equal ("manager already started" ))
1516
+
1517
+ })
1495
1518
})
1496
1519
Describe ("SetFields" , func () {
1497
1520
It ("should inject field values" , func () {
You can’t perform that action at this time.
0 commit comments