Skip to content

Commit

Permalink
Verbosely print StatusError in proxy e2e test
Browse files Browse the repository at this point in the history
  • Loading branch information
sttts committed May 27, 2016
1 parent ae28564 commit 27a3554
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions test/e2e/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"time"

"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/testapi"
client "k8s.io/kubernetes/pkg/client/unversioned"
"k8s.io/kubernetes/pkg/util/intstr"
Expand Down Expand Up @@ -209,12 +210,12 @@ func proxyContext(version string) {
}

wg := sync.WaitGroup{}
errors := []string{}
errs := []string{}
errLock := sync.Mutex{}
recordError := func(s string) {
errLock.Lock()
defer errLock.Unlock()
errors = append(errors, s)
errs = append(errs, s)
}
for i := 0; i < proxyAttempts; i++ {
for path, val := range expectations {
Expand All @@ -223,7 +224,11 @@ func proxyContext(version string) {
defer wg.Done()
body, status, d, err := doProxy(f, path)
if err != nil {
recordError(fmt.Sprintf("%v: path %v gave error: %v", i, path, err))
if serr, ok := err.(*errors.StatusError); ok {
recordError(fmt.Sprintf("%v: path %v gave status error: %+v", i, path, serr.Status()))
} else {
recordError(fmt.Sprintf("%v: path %v gave error: %v", i, path, err))
}
return
}
if status != http.StatusOK {
Expand All @@ -242,15 +247,15 @@ func proxyContext(version string) {
}
wg.Wait()

if len(errors) != 0 {
if len(errs) != 0 {
body, err := f.Client.Pods(f.Namespace.Name).GetLogs(pods[0].Name, &api.PodLogOptions{}).Do().Raw()
if err != nil {
framework.Logf("Error getting logs for pod %s: %v", pods[0].Name, err)
} else {
framework.Logf("Pod %s has the following error logs: %s", pods[0].Name, body)
}

Fail(strings.Join(errors, "\n"))
Fail(strings.Join(errs, "\n"))
}
})
}
Expand Down

0 comments on commit 27a3554

Please sign in to comment.