diff --git a/test/e2e/petset.go b/test/e2e/petset.go index 67bca9535d7..3f61f65bea9 100644 --- a/test/e2e/petset.go +++ b/test/e2e/petset.go @@ -202,8 +202,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() { } By("Reading value under foo from member with index 2") - if v := pet.read(2, "foo"); v != "bar" { - framework.Failf("Read unexpected value %v, expected bar under key foo", v) + if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil { + framework.Failf("%v", err) } }) @@ -223,8 +223,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() { } By("Reading value under foo from member with index 2") - if v := pet.read(2, "foo"); v != "bar" { - framework.Failf("Read unexpected value %v, expected bar under key foo", v) + if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil { + framework.Failf("%v", err) } }) @@ -244,8 +244,8 @@ var _ = framework.KubeDescribe("PetSet [Slow] [Feature:PetSet]", func() { } By("Reading value under foo from member with index 2") - if v := pet.read(2, "foo"); v != "bar" { - framework.Failf("Read unexpected value %v, expected bar under key foo", v) + if err := pollReadWithTimeout(pet, 2, "foo", "bar"); err != nil { + framework.Failf("%v", err) } }) }) @@ -804,6 +804,18 @@ func ExpectNoError(err error) { Expect(err).NotTo(HaveOccurred()) } +func pollReadWithTimeout(pet petTester, petNumber int, key, expectedVal string) error { + return wait.PollImmediate(time.Second, timeout, func() (bool, error) { + val := pet.read(petNumber, key) + if val == "" { + return false, nil + } else if val != expectedVal { + return false, fmt.Errorf("Expected value %v, found %v", expectedVal, val) + } + return true, nil + }) +} + func isInitialized(pod api.Pod) bool { initialized, ok := pod.Annotations[petset.PetSetInitAnnotation] if !ok {