pv controller test: use sub tests

This makes it possible to run individual tests.
This commit is contained in:
Patrick Ohly 2020-10-28 10:39:59 +01:00
parent 06f934ea1f
commit 22f81e9e0b
2 changed files with 16 additions and 6 deletions

View File

@ -632,9 +632,7 @@ func evaluateTestResults(ctrl *PersistentVolumeController, reactor *pvtesting.Vo
// controllerTest.testCall *once*.
// 3. Compare resulting volumes and claims with expected volumes and claims.
func runSyncTests(t *testing.T, tests []controllerTest, storageClasses []*storage.StorageClass, pods []*v1.Pod) {
for _, test := range tests {
klog.V(4).Infof("starting test %q", test.name)
doit := func(t *testing.T, test controllerTest) {
// Initialize the controller
client := &fake.Clientset{}
ctrl, err := newTestController(client, nil, true)
@ -679,6 +677,13 @@ func runSyncTests(t *testing.T, tests []controllerTest, storageClasses []*storag
evaluateTestResults(ctrl, reactor.VolumeReactor, test, t)
}
for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) {
doit(t, test)
})
}
}
// Test multiple calls to syncClaim/syncVolume and periodic sync of all

View File

@ -273,9 +273,7 @@ func TestControllerSync(t *testing.T) {
},
}
for _, test := range tests {
klog.V(4).Infof("starting test %q", test.name)
doit := func(test controllerTest) {
// Initialize the controller
client := &fake.Clientset{}
@ -353,6 +351,13 @@ func TestControllerSync(t *testing.T) {
evaluateTestResults(ctrl, reactor.VolumeReactor, test, t)
}
for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) {
doit(test)
})
}
}
func storeVersion(t *testing.T, prefix string, c cache.Store, version string, expectedReturn bool) {