diff --git a/src/sync/export_test.go b/src/sync/export_test.go index fa5983a2d1e5d23ccf3abb0091a036b1badf5dbb..6f49b3bd8a8f790536fdc5659113cec7c43f14b3 100644 --- a/src/sync/export_test.go +++ b/src/sync/export_test.go @@ -7,3 +7,5 @@ package sync // Export for testing. var Runtime_Semacquire = runtime_Semacquire var Runtime_Semrelease = runtime_Semrelease + +const RaceEnabled = raceenabled diff --git a/src/sync/waitgroup_test.go b/src/sync/waitgroup_test.go index 06a77798d088d3d11e9a45a23c85dc20b150bdbd..d3329624fc360db8947c7fad1852a7c3556cf92f 100644 --- a/src/sync/waitgroup_test.go +++ b/src/sync/waitgroup_test.go @@ -47,6 +47,12 @@ func TestWaitGroup(t *testing.T) { } } +func knownRacy(t *testing.T) { + if RaceEnabled { + t.Skip("skipping known-racy test under the race detector") + } +} + func TestWaitGroupMisuse(t *testing.T) { defer func() { err := recover() @@ -62,6 +68,7 @@ func TestWaitGroupMisuse(t *testing.T) { } func TestWaitGroupMisuse2(t *testing.T) { + knownRacy(t) if runtime.NumCPU() <= 2 { t.Skip("NumCPU<=2, skipping: this test requires parallelism") } @@ -104,6 +111,7 @@ func TestWaitGroupMisuse2(t *testing.T) { } func TestWaitGroupMisuse3(t *testing.T) { + knownRacy(t) if runtime.NumCPU() <= 1 { t.Skip("NumCPU==1, skipping: this test requires parallelism") }