@@ -63,12 +63,13 @@ func TestSingleLeaseCandidate(t *testing.T) {
63
63
}
64
64
defer server .TearDownFn ()
65
65
config := server .ClientConfig
66
- ctx , cancel := context .WithCancel (context .Background ())
67
- defer cancel ()
68
66
69
67
for _ , tc := range tests {
70
68
t .Run (tc .name , func (t * testing.T ) {
71
- cletest := setupCLE (config , ctx , cancel , t )
69
+ ctx , cancel := context .WithCancel (context .Background ())
70
+ defer cancel ()
71
+
72
+ cletest := setupCLE (config , ctx , t )
72
73
defer cletest .cleanup ()
73
74
go cletest .createAndRunFakeController ("foo1" , "default" , "foo" , "1.20.0" , "1.20.0" , tc .preferredStrategy )
74
75
cletest .pollForLease (ctx , "foo" , "default" , tc .expectedHolderIdentity )
@@ -101,12 +102,13 @@ func TestSingleLeaseCandidateUsingThirdPartyStrategy(t *testing.T) {
101
102
}
102
103
defer server .TearDownFn ()
103
104
config := server .ClientConfig
104
- ctx , cancel := context .WithCancel (context .Background ())
105
- defer cancel ()
106
105
107
106
for _ , tc := range tests {
108
107
t .Run (tc .name , func (t * testing.T ) {
109
- cletest := setupCLE (config , ctx , cancel , t )
108
+ ctx , cancel := context .WithCancel (context .Background ())
109
+ defer cancel ()
110
+
111
+ cletest := setupCLE (config , ctx , t )
110
112
defer cletest .cleanup ()
111
113
go cletest .createAndRunFakeController ("foo1" , "default" , "foo" , "1.20.0" , "1.20.0" , tc .preferredStrategy )
112
114
cletest .pollForLease (ctx , "foo" , "default" , tc .expectedHolderIdentity )
@@ -139,12 +141,12 @@ func TestMultipleLeaseCandidate(t *testing.T) {
139
141
defer server .TearDownFn ()
140
142
config := server .ClientConfig
141
143
142
- ctx , cancel := context .WithCancel (context .Background ())
143
- defer cancel ()
144
144
for _ , tc := range tests {
145
145
t .Run (tc .name , func (t * testing.T ) {
146
+ ctx , cancel := context .WithCancel (context .Background ())
147
+ defer cancel ()
146
148
147
- cletest := setupCLE (config , ctx , cancel , t )
149
+ cletest := setupCLE (config , ctx , t )
148
150
defer cletest .cleanup ()
149
151
go cletest .createAndRunFakeController ("baz1" , "default" , "baz" , "1.20.0" , "1.20.0" , tc .preferredStrategy )
150
152
go cletest .createAndRunFakeController ("baz2" , "default" , "baz" , "1.20.0" , "1.19.0" , tc .preferredStrategy )
@@ -182,12 +184,13 @@ func TestMultipleLeaseCandidateUsingThirdPartyStrategy(t *testing.T) {
182
184
}
183
185
defer server .TearDownFn ()
184
186
config := server .ClientConfig
185
- ctx , cancel := context .WithCancel (context .Background ())
186
- defer cancel ()
187
187
188
188
for _ , tc := range tests {
189
189
t .Run (tc .name , func (t * testing.T ) {
190
- cletest := setupCLE (config , ctx , cancel , t )
190
+ ctx , cancel := context .WithCancel (context .Background ())
191
+ defer cancel ()
192
+
193
+ cletest := setupCLE (config , ctx , t )
191
194
defer cletest .cleanup ()
192
195
go cletest .createAndRunFakeController ("baz1" , "default" , "baz" , "1.20.0" , "1.20.0" , tc .preferredStrategy )
193
196
go cletest .createAndRunFakeController ("baz2" , "default" , "baz" , "1.20.0" , "1.19.0" , tc .preferredStrategy )
@@ -211,7 +214,8 @@ func TestLeaseSwapIfBetterAvailable(t *testing.T) {
211
214
config := server .ClientConfig
212
215
213
216
ctx , cancel := context .WithCancel (context .Background ())
214
- cletest := setupCLE (config , ctx , cancel , t )
217
+ defer cancel ()
218
+ cletest := setupCLE (config , ctx , t )
215
219
defer cletest .cleanup ()
216
220
217
221
go cletest .createAndRunFakeController ("bar1" , "default" , "bar" , "1.20.0" , "1.20.0" , v1 .OldestEmulationVersion )
@@ -234,7 +238,7 @@ func TestUpgradeSkew(t *testing.T) {
234
238
235
239
ctx , cancel := context .WithCancel (context .Background ())
236
240
defer cancel ()
237
- cletest := setupCLE (config , ctx , cancel , t )
241
+ cletest := setupCLE (config , ctx , t )
238
242
defer cletest .cleanup ()
239
243
240
244
go cletest .createAndRunFakeLegacyController ("foo1-130" , "default" , "foobar" )
@@ -307,11 +311,12 @@ type cleTest struct {
307
311
clientset * kubernetes.Clientset
308
312
t * testing.T
309
313
mu sync.Mutex
314
+ ctx context.Context
310
315
ctxList map [string ]ctxCancelPair
311
316
}
312
317
313
318
func (t * cleTest ) createAndRunFakeLegacyController (name string , namespace string , targetLease string ) {
314
- ctx , cancel := context .WithCancel (context . Background () )
319
+ ctx , cancel := context .WithCancel (t . ctx )
315
320
t .mu .Lock ()
316
321
defer t .mu .Unlock ()
317
322
t .ctxList [name + "/" + namespace ] = ctxCancelPair {ctx , cancel }
@@ -345,7 +350,7 @@ func (t *cleTest) createAndRunFakeController(name string, namespace string, targ
345
350
t .t .Error (err )
346
351
}
347
352
348
- ctx , cancel := context .WithCancel (context . Background () )
353
+ ctx , cancel := context .WithCancel (t . ctx )
349
354
t .mu .Lock ()
350
355
t .ctxList [name + "/" + namespace ] = ctxCancelPair {ctx , cancel }
351
356
t .mu .Unlock ()
@@ -415,7 +420,7 @@ func (t *cleTest) pollForLease(ctx context.Context, name, namespace string, hold
415
420
return lease .Spec .HolderIdentity != nil && * lease .Spec .HolderIdentity == * holder , nil
416
421
})
417
422
if err != nil {
418
- t .t .Fatalf ("timeout awiting for Lease %s %s err: %v" , name , namespace , err )
423
+ t .t .Fatalf ("timeout waiting for Lease %s %s err: %v" , name , namespace , err )
419
424
}
420
425
}
421
426
@@ -427,28 +432,23 @@ func (t *cleTest) cancelController(name, namespace string) {
427
432
}
428
433
429
434
func (t * cleTest ) cleanup () {
430
- t .mu .Lock ()
431
- defer t .mu .Unlock ()
432
- for _ , c := range t .ctxList {
433
- c .cancel ()
434
- }
435
435
err := t .clientset .CoordinationV1 ().Leases ("kube-system" ).Delete (context .TODO (), "leader-election-controller" , metav1.DeleteOptions {})
436
436
if err != nil && ! apierrors .IsNotFound (err ) {
437
437
t .t .Error (err )
438
438
}
439
439
}
440
440
441
- func setupCLE (config * rest.Config , ctx context.Context , cancel func (), t * testing.T ) * cleTest {
441
+ func setupCLE (config * rest.Config , ctx context.Context , t * testing.T ) * cleTest {
442
442
clientset , err := kubernetes .NewForConfig (config )
443
443
if err != nil {
444
444
t .Fatal (err )
445
445
}
446
446
447
- a := ctxCancelPair {ctx , cancel }
448
447
return & cleTest {
449
448
config : config ,
450
449
clientset : clientset ,
451
- ctxList : map [string ]ctxCancelPair {"main" : a },
450
+ ctx : ctx ,
451
+ ctxList : map [string ]ctxCancelPair {},
452
452
t : t ,
453
453
}
454
454
}
0 commit comments