From b289c233943537bca3afa596ec9439c9d85fd4d4 Mon Sep 17 00:00:00 2001 From: Tim Allclair Date: Fri, 29 Jul 2022 14:56:19 -0700 Subject: [PATCH] [e2epod] wait: Don't override non-timeout errors --- test/e2e/framework/pod/wait.go | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/test/e2e/framework/pod/wait.go b/test/e2e/framework/pod/wait.go index add50187cfa..076bdcc525f 100644 --- a/test/e2e/framework/pod/wait.go +++ b/test/e2e/framework/pod/wait.go @@ -276,14 +276,15 @@ func WaitForPodCondition(c clientset.Interface, ns, podName, conditionDesc strin if err == nil { return nil } - if IsTimeout(err) && lastPod != nil { - return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc), - lastPod, - ) - } - if lastPodError != nil { - // If the last API call was an error. - err = lastPodError + if IsTimeout(err) { + if lastPod != nil { + return TimeoutError(fmt.Sprintf("timed out while waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc), + lastPod, + ) + } else if lastPodError != nil { + // If the last API call was an error, propagate that instead of the timeout error. + err = lastPodError + } } return maybeTimeoutError(err, "waiting for pod %s to be %s", podIdentifier(ns, podName), conditionDesc) }