Merge pull request #2300 from lucas-clemente/interop-multiconnect

add support for the multiconnect interop test case
This commit is contained in:
Marten Seemann
2020-01-17 16:52:10 +07:00
committed by GitHub
2 changed files with 16 additions and 1 deletions

View File

@@ -62,6 +62,8 @@ func runTestcase(testcase string) error {
defer r.Close()
return downloadFiles(r, urls)
case "handshake", "transfer", "retry":
case "multiconnect":
return runMultiConnectTest(urls)
case "versionnegotiation":
return runVersionNegotiationTest(urls)
case "resumption":
@@ -90,6 +92,19 @@ func runVersionNegotiationTest(urls []string) error {
return nil
}
func runMultiConnectTest(urls []string) error {
for _, url := range urls {
r := &http09.RoundTripper{TLSClientConfig: tlsConf}
if err := downloadFile(r, url); err != nil {
return err
}
if err := r.Close(); err != nil {
return err
}
}
return nil
}
func runResumptionTest(urls []string) error {
if len(urls) < 2 {
return errors.New("expected at least 2 URLs")

View File

@@ -42,7 +42,7 @@ func main() {
tlsConf.KeyLogWriter = keyLog
switch testcase {
case "versionnegotiation", "handshake", "transfer", "resumption":
case "versionnegotiation", "handshake", "transfer", "resumption", "multiconnect":
err = runHTTP09Server(quicConf)
case "retry":
// By default, quic-go performs a Retry on every incoming connection.