forked from quic-go/quic-go
Merge pull request #2300 from lucas-clemente/interop-multiconnect
add support for the multiconnect interop test case
This commit is contained in:
@@ -62,6 +62,8 @@ func runTestcase(testcase string) error {
|
|||||||
defer r.Close()
|
defer r.Close()
|
||||||
return downloadFiles(r, urls)
|
return downloadFiles(r, urls)
|
||||||
case "handshake", "transfer", "retry":
|
case "handshake", "transfer", "retry":
|
||||||
|
case "multiconnect":
|
||||||
|
return runMultiConnectTest(urls)
|
||||||
case "versionnegotiation":
|
case "versionnegotiation":
|
||||||
return runVersionNegotiationTest(urls)
|
return runVersionNegotiationTest(urls)
|
||||||
case "resumption":
|
case "resumption":
|
||||||
@@ -90,6 +92,19 @@ func runVersionNegotiationTest(urls []string) error {
|
|||||||
return nil
|
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 {
|
func runResumptionTest(urls []string) error {
|
||||||
if len(urls) < 2 {
|
if len(urls) < 2 {
|
||||||
return errors.New("expected at least 2 URLs")
|
return errors.New("expected at least 2 URLs")
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ func main() {
|
|||||||
tlsConf.KeyLogWriter = keyLog
|
tlsConf.KeyLogWriter = keyLog
|
||||||
|
|
||||||
switch testcase {
|
switch testcase {
|
||||||
case "versionnegotiation", "handshake", "transfer", "resumption":
|
case "versionnegotiation", "handshake", "transfer", "resumption", "multiconnect":
|
||||||
err = runHTTP09Server(quicConf)
|
err = runHTTP09Server(quicConf)
|
||||||
case "retry":
|
case "retry":
|
||||||
// By default, quic-go performs a Retry on every incoming connection.
|
// By default, quic-go performs a Retry on every incoming connection.
|
||||||
|
|||||||
Reference in New Issue
Block a user