run multiplex integration tests with all supported QUIC versions

This commit is contained in:
Marten Seemann
2018-07-02 10:49:44 +07:00
parent 3f9212b5f7
commit 879efb12b1

View File

@@ -9,6 +9,7 @@ import (
quic "github.com/lucas-clemente/quic-go"
"github.com/lucas-clemente/quic-go/integrationtests/tools/testlog"
"github.com/lucas-clemente/quic-go/integrationtests/tools/testserver"
"github.com/lucas-clemente/quic-go/internal/protocol"
"github.com/lucas-clemente/quic-go/internal/testdata"
. "github.com/onsi/ginkgo"
@@ -16,8 +17,16 @@ import (
)
var _ = Describe("Multiplexing clients", func() {
for _, v := range append(protocol.SupportedVersions, protocol.VersionTLS) {
version := v
Context(fmt.Sprintf("with QUIC version %s", version), func() {
runServer := func() quic.Listener {
ln, err := quic.ListenAddr("localhost:0", testdata.GetTLSConfig(), nil)
ln, err := quic.ListenAddr(
"localhost:0",
testdata.GetTLSConfig(),
&quic.Config{Versions: []protocol.VersionNumber{version}},
)
Expect(err).ToNot(HaveOccurred())
go func() {
defer GinkgoRecover()
@@ -40,7 +49,13 @@ var _ = Describe("Multiplexing clients", func() {
}
dial := func(conn net.PacketConn, addr net.Addr) {
sess, err := quic.Dial(conn, addr, fmt.Sprintf("quic.clemente.io:%d", addr.(*net.UDPAddr).Port), nil, nil)
sess, err := quic.Dial(
conn,
addr,
fmt.Sprintf("quic.clemente.io:%d", addr.(*net.UDPAddr).Port),
nil,
&quic.Config{Versions: []protocol.VersionNumber{version}},
)
Expect(err).ToNot(HaveOccurred())
str, err := sess.AcceptStream()
Expect(err).ToNot(HaveOccurred())
@@ -112,5 +127,6 @@ var _ = Describe("Multiplexing clients", func() {
Eventually(done1, timeout).Should(BeClosed())
Eventually(done2, timeout).Should(BeClosed())
})
})
}
})