fs/asyncreader: skip some tests to work around race detector bug

The race detector currently detects a race with len(chan) against
close(chan).

See: https://github.com/golang/go/issues/27070

Skip the tests which trip this bug under the race detector.
This commit is contained in:
Nick Craig-Wood 2018-08-20 10:44:54 +01:00
parent 77806494c8
commit 7712a0e111
3 changed files with 22 additions and 0 deletions

View File

@ -13,6 +13,7 @@ import (
"testing/iotest"
"time"
"github.com/ncw/rclone/lib/israce"
"github.com/ncw/rclone/lib/readers"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@ -303,6 +304,9 @@ func TestAsyncReaderSkipBytes(t *testing.T) {
8000, len(data), BufferSize, 2 * BufferSize}
for buffers := 1; buffers <= 5; buffers++ {
if israce.Enabled && buffers > 1 {
t.Skip("FIXME Skipping further tests with race detector until https://github.com/golang/go/issues/27070 is fixed.")
}
t.Run(fmt.Sprintf("%d", buffers), func(t *testing.T) {
for _, initialRead := range initialReads {
t.Run(fmt.Sprintf("%d", initialRead), func(t *testing.T) {

9
lib/israce/israce.go Normal file
View File

@ -0,0 +1,9 @@
// +build race
// Package israce reports if the Go race detector is enabled.
//
// From https://stackoverflow.com/questions/44944959/how-can-i-check-if-the-race-detector-is-enabled-at-runtime
package israce
// Enabled reports if the race detector is enabled.
const Enabled = true

9
lib/israce/norace.go Normal file
View File

@ -0,0 +1,9 @@
// +build !race
// Package israce reports if the Go race detector is enabled.
//
// From https://stackoverflow.com/questions/44944959/how-can-i-check-if-the-race-detector-is-enabled-at-runtime
package israce
// Enabled reports if the race detector is enabled.
const Enabled = false