Start a unique quic server per integration test case

This fixes a race condition that could lead to errors during version negotiation.

Fixes #676.
This commit is contained in:
Lucas Clemente
2017-06-15 13:40:36 +02:00
parent d335458080
commit 960a445ebe
2 changed files with 12 additions and 5 deletions

View File

@@ -79,6 +79,9 @@ var _ = Describe("Chrome tests", func() {
}
supportedVersionsBefore = protocol.SupportedVersions
protocol.SupportedVersions = []protocol.VersionNumber{version}
})
JustBeforeEach(func() {
wd = getWebdriverForVersion(version)
})

View File

@@ -61,14 +61,10 @@ func TestIntegration(t *testing.T) {
var _ = BeforeSuite(func() {
setupHTTPHandlers()
setupQuicServer()
setupSelenium()
})
var _ = AfterSuite(func() {
err := server.Close()
Expect(err).NotTo(HaveOccurred())
stopSelenium()
}, 10)
@@ -104,7 +100,11 @@ var _ = BeforeEach(func() {
}
})
var _ = JustBeforeEach(startQuicServer)
var _ = AfterEach(func() {
stopQuicServer()
// remove uploadDir
if len(uploadDir) < 20 {
panic("uploadDir too short")
@@ -187,7 +187,7 @@ func setupHTTPHandlers() {
})
}
func setupQuicServer() {
func startQuicServer() {
server = &h2quic.Server{
Server: &http.Server{
TLSConfig: testdata.GetTLSConfig(),
@@ -206,6 +206,10 @@ func setupQuicServer() {
}()
}
func stopQuicServer() {
Expect(server.Close()).NotTo(HaveOccurred())
}
func setupSelenium() {
var err error
pullCmd := exec.Command("docker", "pull", "lclemente/standalone-chrome:dev")