registry: debugTransport should print with testing.T.Log

It should not print to STDOUT so that it only prints the debugTransport
output if there was an error in one of the registry tests.

Signed-off-by: Tibor Vass <tibor@docker.com>
Upstream-commit: 78bc233a0123e9e0a808b566c4c6d46c84e79f71
Component: engine
This commit is contained in:
Tibor Vass
2015-06-01 17:48:30 -04:00
parent fcc50c1993
commit 6623778ef1
2 changed files with 9 additions and 6 deletions

View File

@ -200,23 +200,26 @@ func DockerHeaders(metaHeaders http.Header) []transport.RequestModifier {
return modifiers
}
type debugTransport struct{ http.RoundTripper }
type debugTransport struct {
http.RoundTripper
log func(...interface{})
}
func (tr debugTransport) RoundTrip(req *http.Request) (*http.Response, error) {
dump, err := httputil.DumpRequestOut(req, false)
if err != nil {
fmt.Println("could not dump request")
tr.log("could not dump request")
}
fmt.Println(string(dump))
tr.log(string(dump))
resp, err := tr.RoundTripper.RoundTrip(req)
if err != nil {
return nil, err
}
dump, err = httputil.DumpResponse(resp, false)
if err != nil {
fmt.Println("could not dump response")
tr.log("could not dump response")
}
fmt.Println(string(dump))
tr.log(string(dump))
return resp, err
}

View File

@ -26,7 +26,7 @@ func spawnTestRegistrySession(t *testing.T) *Session {
if err != nil {
t.Fatal(err)
}
var tr http.RoundTripper = debugTransport{NewTransport(ReceiveTimeout, endpoint.IsSecure)}
var tr http.RoundTripper = debugTransport{NewTransport(ReceiveTimeout, endpoint.IsSecure), t.Log}
tr = transport.NewTransport(AuthTransport(tr, authConfig, false), DockerHeaders(nil)...)
client := HTTPClient(tr)
r, err := NewSession(client, authConfig, endpoint)