Skip to content

Commit 12c0eae

Browse files
author
Kenichi Omichi
committed
Use ExpectNoError(err)
We missed another pattern to check error doesn't happen on e2e tests. This covers the pattern for consistent test implementation.
1 parent 6ee74bf commit 12c0eae

File tree

8 files changed

+25
-22
lines changed

8 files changed

+25
-22
lines changed

hack/verify-test-code.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ do
3535
then
3636
errors_expect_no_error+=( "${file}" )
3737
fi
38+
if grep -E "Expect\(err\)\.To\(gomega\.BeNil\(\)\)" "${file}" > /dev/null
39+
then
40+
errors_expect_no_error+=( "${file}" )
41+
fi
3842
done
3943

4044
errors_expect_error=()

test/e2e/apimachinery/crd_conversion_webhook.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ func testCustomResourceConversionWebhook(f *framework.Framework, crd *apiextensi
415415
},
416416
}
417417
_, err := customResourceClients["v1"].Create(context.TODO(), crInstance, metav1.CreateOptions{})
418-
gomega.Expect(err).To(gomega.BeNil())
418+
framework.ExpectNoError(err)
419419
ginkgo.By("v2 custom resource should be converted")
420420
v2crd, err := customResourceClients["v2"].Get(context.TODO(), name, metav1.GetOptions{})
421421
framework.ExpectNoError(err, "Getting v2 of custom resource %s", name)
@@ -440,13 +440,13 @@ func testCRListConversion(f *framework.Framework, testCrd *crd.TestCrd) {
440440
},
441441
}
442442
_, err := customResourceClients["v1"].Create(context.TODO(), crInstance, metav1.CreateOptions{})
443-
gomega.Expect(err).To(gomega.BeNil())
443+
framework.ExpectNoError(err)
444444

445445
// Now cr-instance-1 is stored as v1. lets change storage version
446446
crd, err = integration.UpdateV1CustomResourceDefinitionWithRetry(testCrd.APIExtensionClient, crd.Name, func(c *apiextensionsv1.CustomResourceDefinition) {
447447
c.Spec.Versions = alternativeAPIVersions
448448
})
449-
gomega.Expect(err).To(gomega.BeNil())
449+
framework.ExpectNoError(err)
450450
ginkgo.By("Create a v2 custom resource")
451451
crInstance = &unstructured.Unstructured{
452452
Object: map[string]interface{}{
@@ -471,13 +471,13 @@ func testCRListConversion(f *framework.Framework, testCrd *crd.TestCrd) {
471471
break
472472
}
473473
}
474-
gomega.Expect(err).To(gomega.BeNil())
474+
framework.ExpectNoError(err)
475475

476476
// Now that we have a v1 and v2 object, both list operation in v1 and v2 should work as expected.
477477

478478
ginkgo.By("List CRs in v1")
479479
list, err := customResourceClients["v1"].List(context.TODO(), metav1.ListOptions{})
480-
gomega.Expect(err).To(gomega.BeNil())
480+
framework.ExpectNoError(err)
481481
gomega.Expect(len(list.Items)).To(gomega.BeIdenticalTo(2))
482482
framework.ExpectEqual((list.Items[0].GetName() == name1 && list.Items[1].GetName() == name2) ||
483483
(list.Items[0].GetName() == name2 && list.Items[1].GetName() == name1), true)
@@ -486,7 +486,7 @@ func testCRListConversion(f *framework.Framework, testCrd *crd.TestCrd) {
486486

487487
ginkgo.By("List CRs in v2")
488488
list, err = customResourceClients["v2"].List(context.TODO(), metav1.ListOptions{})
489-
gomega.Expect(err).To(gomega.BeNil())
489+
framework.ExpectNoError(err)
490490
gomega.Expect(len(list.Items)).To(gomega.BeIdenticalTo(2))
491491
framework.ExpectEqual((list.Items[0].GetName() == name1 && list.Items[1].GetName() == name2) ||
492492
(list.Items[0].GetName() == name2 && list.Items[1].GetName() == name1), true)

test/e2e/apimachinery/webhook.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ import (
4848
imageutils "k8s.io/kubernetes/test/utils/image"
4949

5050
"github.com/onsi/ginkgo"
51-
"github.com/onsi/gomega"
5251

5352
// ensure libs have a chance to initialize
5453
_ "github.com/stretchr/testify/assert"
@@ -1064,7 +1063,7 @@ func testMutatingPodWebhook(f *framework.Framework) {
10641063
client := f.ClientSet
10651064
pod := toBeMutatedPod(f)
10661065
mutatedPod, err := client.CoreV1().Pods(f.Namespace.Name).Create(context.TODO(), pod, metav1.CreateOptions{})
1067-
gomega.Expect(err).To(gomega.BeNil())
1066+
framework.ExpectNoError(err)
10681067
if len(mutatedPod.Spec.InitContainers) != 1 {
10691068
framework.Failf("expect pod to have 1 init container, got %#v", mutatedPod.Spec.InitContainers)
10701069
}
@@ -2211,9 +2210,9 @@ func testSlowWebhookTimeoutNoError(f *framework.Framework) {
22112210
client := f.ClientSet
22122211
name := "e2e-test-slow-webhook-configmap"
22132212
_, err := client.CoreV1().ConfigMaps(f.Namespace.Name).Create(context.TODO(), &v1.ConfigMap{ObjectMeta: metav1.ObjectMeta{Name: name}}, metav1.CreateOptions{})
2214-
gomega.Expect(err).To(gomega.BeNil())
2213+
framework.ExpectNoError(err)
22152214
err = client.CoreV1().ConfigMaps(f.Namespace.Name).Delete(context.TODO(), name, metav1.DeleteOptions{})
2216-
gomega.Expect(err).To(gomega.BeNil())
2215+
framework.ExpectNoError(err)
22172216
}
22182217

22192218
// createAdmissionWebhookMultiVersionTestCRDWithV1Storage creates a new CRD specifically

test/e2e/common/init_container.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ var _ = framework.KubeDescribe("InitContainer [NodeConformance]", func() {
222222
event, err := watchtools.Until(ctx, startedPod.ResourceVersion, w,
223223
recordEvents(events, conditions.PodCompleted),
224224
)
225-
gomega.Expect(err).To(gomega.BeNil())
225+
framework.ExpectNoError(err)
226226

227227
checkInvariants(events, containerInitInvariant)
228228
endPod := event.Object.(*v1.Pod)
@@ -299,7 +299,7 @@ var _ = framework.KubeDescribe("InitContainer [NodeConformance]", func() {
299299
ctx, cancel := watchtools.ContextWithOptionalTimeout(context.Background(), framework.PodStartTimeout)
300300
defer cancel()
301301
event, err := watchtools.Until(ctx, startedPod.ResourceVersion, w, recordEvents(events, conditions.PodRunning))
302-
gomega.Expect(err).To(gomega.BeNil())
302+
framework.ExpectNoError(err)
303303

304304
checkInvariants(events, containerInitInvariant)
305305
endPod := event.Object.(*v1.Pod)
@@ -429,7 +429,7 @@ var _ = framework.KubeDescribe("InitContainer [NodeConformance]", func() {
429429
}
430430
},
431431
)
432-
gomega.Expect(err).To(gomega.BeNil())
432+
framework.ExpectNoError(err)
433433

434434
checkInvariants(events, containerInitInvariant)
435435
endPod := event.Object.(*v1.Pod)
@@ -544,7 +544,7 @@ var _ = framework.KubeDescribe("InitContainer [NodeConformance]", func() {
544544
}),
545545
recordEvents(events, conditions.PodCompleted),
546546
)
547-
gomega.Expect(err).To(gomega.BeNil())
547+
framework.ExpectNoError(err)
548548

549549
checkInvariants(events, containerInitInvariant)
550550
endPod := event.Object.(*v1.Pod)

test/e2e/common/node_lease.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ var _ = framework.KubeDescribe("NodeLease", func() {
177177
// running as cluster e2e test, because node e2e test does not create and
178178
// run controller manager, i.e., no node lifecycle controller.
179179
node, err := f.ClientSet.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{})
180-
gomega.Expect(err).To(gomega.BeNil())
180+
framework.ExpectNoError(err)
181181
_, readyCondition := testutils.GetNodeCondition(&node.Status, v1.NodeReady)
182182
framework.ExpectEqual(readyCondition.Status, v1.ConditionTrue)
183183
})
@@ -186,7 +186,7 @@ var _ = framework.KubeDescribe("NodeLease", func() {
186186

187187
func getHeartbeatTimeAndStatus(clientSet clientset.Interface, nodeName string) (time.Time, v1.NodeStatus) {
188188
node, err := clientSet.CoreV1().Nodes().Get(context.TODO(), nodeName, metav1.GetOptions{})
189-
gomega.Expect(err).To(gomega.BeNil())
189+
framework.ExpectNoError(err)
190190
_, readyCondition := testutils.GetNodeCondition(&node.Status, v1.NodeReady)
191191
framework.ExpectEqual(readyCondition.Status, v1.ConditionTrue)
192192
heartbeatTime := readyCondition.LastHeartbeatTime.Time

test/e2e/kubectl/kubectl.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ var _ = SIGDescribe("Kubectl client", func() {
594594
gomega.Expect(runOutput).ToNot(gomega.ContainSubstring("stdin closed"))
595595
g := func(pods []*v1.Pod) sort.Interface { return sort.Reverse(controller.ActivePods(pods)) }
596596
runTestPod, _, err := polymorphichelpers.GetFirstPod(f.ClientSet.CoreV1(), ns, "run=run-test-3", 1*time.Minute, g)
597-
gomega.Expect(err).To(gomega.BeNil())
597+
framework.ExpectNoError(err)
598598
if !e2epod.CheckPodsRunningReady(c, ns, []string{runTestPod.Name}, time.Minute) {
599599
framework.Failf("Pod %q of Job %q should still be running", runTestPod.Name, "run-test-3")
600600
}
@@ -609,7 +609,7 @@ var _ = SIGDescribe("Kubectl client", func() {
609609
gomega.Expect(logOutput).ToNot(gomega.ContainSubstring("stdin closed"))
610610
return strings.Contains(logOutput, "abcd1234"), nil
611611
})
612-
gomega.Expect(err).To(gomega.BeNil())
612+
framework.ExpectNoError(err)
613613

614614
gomega.Expect(c.CoreV1().Pods(ns).Delete(context.TODO(), "run-test-3", metav1.DeleteOptions{})).To(gomega.BeNil())
615615
})

test/e2e/storage/vsphere/vsphere_volume_fstype.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func invokeTestForFstype(f *framework.Framework, client clientset.Interface, nam
113113
// Detach and delete volume
114114
detachVolume(f, client, pod, persistentvolumes[0].Spec.VsphereVolume.VolumePath)
115115
err = e2epv.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace)
116-
gomega.Expect(err).To(gomega.BeNil())
116+
framework.ExpectNoError(err)
117117
}
118118

119119
func invokeTestForInvalidFstype(f *framework.Framework, client clientset.Interface, namespace string, fstype string) {
@@ -137,7 +137,7 @@ func invokeTestForInvalidFstype(f *framework.Framework, client clientset.Interfa
137137
// Detach and delete volume
138138
detachVolume(f, client, pod, persistentvolumes[0].Spec.VsphereVolume.VolumePath)
139139
err = e2epv.DeletePersistentVolumeClaim(client, pvclaim.Name, namespace)
140-
gomega.Expect(err).To(gomega.BeNil())
140+
framework.ExpectNoError(err)
141141

142142
gomega.Expect(eventList.Items).NotTo(gomega.BeEmpty())
143143
errorMsg := `MountVolume.MountDevice failed for volume "` + persistentvolumes[0].Name + `" : executable file not found`
@@ -184,7 +184,7 @@ func createPodAndVerifyVolumeAccessible(client clientset.Interface, namespace st
184184
// detachVolume delete the volume passed in the argument and wait until volume is detached from the node,
185185
func detachVolume(f *framework.Framework, client clientset.Interface, pod *v1.Pod, volPath string) {
186186
pod, err := f.ClientSet.CoreV1().Pods(pod.Namespace).Get(context.TODO(), pod.Name, metav1.GetOptions{})
187-
gomega.Expect(err).To(gomega.BeNil())
187+
framework.ExpectNoError(err)
188188
nodeName := pod.Spec.NodeName
189189
ginkgo.By("Deleting pod")
190190
e2epod.DeletePodWithWait(client, pod)

test/e2e_node/hugepages_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ var _ = SIGDescribe("HugePages [Serial] [Feature:HugePages][NodeSpecialFeature:H
327327
ginkgo.By("checking if the expected hugetlb settings were applied")
328328
f.PodClient().Create(verifyPod)
329329
err := e2epod.WaitForPodSuccessInNamespace(f.ClientSet, verifyPod.Name, f.Namespace.Name)
330-
gomega.Expect(err).To(gomega.BeNil())
330+
framework.ExpectNoError(err)
331331
}
332332
})
333333
}

0 commit comments

Comments
 (0)