net/http: convert TestSetsRemoteAddr to use clientServerTest

This is an example of converting an old HTTP/1-only test to test
against both HTTP/1 and HTTP/2.

Please send more of these!

Also, for comparing the http.Transport's responses between HTTP/1 and
HTTP/2, see clientserver_test.go's h12Compare type and tests using
h12Compare. Sometimes that's the more appropriate option.

Change-Id: Iea24d844481efd5849173b60e15dcc561a32b88f
Reviewed-on: https://go-review.googlesource.com/17409
Reviewed-by: Burcu Dogan <jbd@google.com>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Brad Fitzpatrick 2015-12-03 17:43:10 -08:00
parent 30b87bb9aa
commit 1ea31c7baf

View file

@ -735,14 +735,17 @@ func TestHandlersCanSetConnectionClose10(t *testing.T) {
}))
}
func TestSetsRemoteAddr(t *testing.T) {
func TestSetsRemoteAddr_h1(t *testing.T) { testSetsRemoteAddr(t, false) }
func TestSetsRemoteAddr_h2(t *testing.T) { testSetsRemoteAddr(t, true) }
func testSetsRemoteAddr(t *testing.T, h2 bool) {
defer afterTest(t)
ts := httptest.NewServer(HandlerFunc(func(w ResponseWriter, r *Request) {
cst := newClientServerTest(t, h2, HandlerFunc(func(w ResponseWriter, r *Request) {
fmt.Fprintf(w, "%s", r.RemoteAddr)
}))
defer ts.Close()
defer cst.close()
res, err := Get(ts.URL)
res, err := cst.c.Get(cst.ts.URL)
if err != nil {
t.Fatalf("Get error: %v", err)
}