1 # Test that when both race detection and coverage instrumentation are enabled,
2 # and seed values are being executed, the race detector isn't mistakenly
3 # triggered.
4
5 [short] skip
6 [!fuzz] skip
7 [!race] skip
8 env GOCACHE=$WORK/cache
9
10 # Test with coverage instrumentation enabled (-fuzz) and race instrumentation
11 # but without actually fuzzing the target (by using a non-matching pattern)
12 go test -fuzz=xxx -race -v
13 ! stderr 'race detected during execution of test'
14
15 # Test with just race instrumentation enabled
16 go test -race -v
17 ! stderr 'race detected during execution of test'
18
19 # Test with coverage and race instrumentation enabled, and a matching fuzz
20 # pattern
21 go test -fuzz=FuzzRace -race -v -fuzztime=200x
22 ! stderr 'race detected during execution of test'
23
24 -- go.mod --
25 module test
26
27 -- race_test.go --
28 package race
29
30 import "testing"
31
32 func FuzzRace(f *testing.F) {
33 for i := 0; i < 100; i++ {
34 f.Add(i)
35 }
36
37 f.Fuzz(func(t *testing.T, i int) {
38 t.Parallel()
39 })
40 }
41
View as plain text