From 2e7944a9eb31ed067ddbb2182deb612e50900397 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Thu, 1 Mar 2018 21:42:42 +0100 Subject: [PATCH] concurrent connection in h2 --- testing/scenarios/tls_test.go | 36 ++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/testing/scenarios/tls_test.go b/testing/scenarios/tls_test.go index 39db3c2f8..e8eb69e3b 100644 --- a/testing/scenarios/tls_test.go +++ b/testing/scenarios/tls_test.go @@ -2,6 +2,7 @@ package scenarios import ( "crypto/rand" + "sync" "testing" "time" @@ -495,21 +496,30 @@ func TestHTTP2(t *testing.T) { servers, err := InitializeServerConfigs(serverConfig, clientConfig) assert(err, IsNil) - conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{ - IP: []byte{127, 0, 0, 1}, - Port: int(clientPort), - }) - assert(err, IsNil) + var wg sync.WaitGroup + for i := 0; i < 10; i++ { + wg.Add(1) + go func() { + defer wg.Done() - payload := make([]byte, 10240*1024) - rand.Read(payload) - nBytes, err := conn.Write([]byte(payload)) - assert(err, IsNil) - assert(nBytes, Equals, len(payload)) + conn, err := net.DialTCP("tcp", nil, &net.TCPAddr{ + IP: []byte{127, 0, 0, 1}, + Port: int(clientPort), + }) + assert(err, IsNil) - response := readFrom(conn, time.Second*20, len(payload)) - assert(response, Equals, xor([]byte(payload))) - assert(conn.Close(), IsNil) + payload := make([]byte, 10240*1024) + rand.Read(payload) + nBytes, err := conn.Write([]byte(payload)) + assert(err, IsNil) + assert(nBytes, Equals, len(payload)) + + response := readFrom(conn, time.Second*20, len(payload)) + assert(response, Equals, xor([]byte(payload))) + assert(conn.Close(), IsNil) + }() + } + wg.Wait() CloseAllServers(servers) }