From a9963ee4e07ee1332d186df129f26efac7151380 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 14 Jan 2022 14:24:45 +0000 Subject: [PATCH 1/3] test: Increase disconnectTimeout to reduce test flakes WebRTC uses UDP, which means a network connection is never open or closed. It uses timeouts to determine connection state; on a slow CI runner, these timeouts could be reached. Increasing this timeout should reduce flakes, but is unlikely to remove this flake entirely. --- peer/conn_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/peer/conn_test.go b/peer/conn_test.go index c316125fe5cee..e3b7665d6c70a 100644 --- a/peer/conn_test.go +++ b/peer/conn_test.go @@ -23,7 +23,7 @@ import ( ) const ( - disconnectedTimeout = time.Millisecond * 200 + disconnectedTimeout = time.Second failedTimeout = disconnectedTimeout * 5 keepAliveInterval = time.Millisecond * 2 ) From b10cc8633d87193b31dbd280e642148c755bba7d Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 14 Jan 2022 14:40:04 +0000 Subject: [PATCH 2/3] Fix close after offline --- peer/conn_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/peer/conn_test.go b/peer/conn_test.go index e3b7665d6c70a..c6912a24c0faa 100644 --- a/peer/conn_test.go +++ b/peer/conn_test.go @@ -89,6 +89,7 @@ func TestConn(t *testing.T) { sch, err := server.Accept(context.Background()) require.NoError(t, err) + defer sch.Close() _ = cch.Close() _, err = sch.Read(make([]byte, 4)) @@ -102,6 +103,7 @@ func TestConn(t *testing.T) { require.NoError(t, err) sch, err := server.Accept(context.Background()) require.NoError(t, err) + defer sch.Close() err = wan.Stop() require.NoError(t, err) @@ -117,6 +119,7 @@ func TestConn(t *testing.T) { require.NoError(t, err) sch, err := server.Accept(context.Background()) require.NoError(t, err) + defer sch.Close() go func() { for i := 0; i < 1024; i++ { _, err := cch.Write(make([]byte, 4096)) From 30ea590ee656a099db56ac6e7f2782b88002170b Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 14 Jan 2022 14:58:12 +0000 Subject: [PATCH 3/3] Run tests in parallel --- .github/workflows/coder.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/coder.yaml b/.github/workflows/coder.yaml index a39f30c840a71..1b7f1df5f866b 100644 --- a/.github/workflows/coder.yaml +++ b/.github/workflows/coder.yaml @@ -130,7 +130,7 @@ jobs: - run: gotestsum --jsonfile="gotests.json" --packages="./..." -- -covermode=atomic -coverprofile="gotests.coverage" -timeout=3m - -count=3 -race + -count=3 -race -parallel=2 - uses: codecov/codecov-action@v2 with: