1 # Test that coverage instrumentation is working. Without the instrumentation
2 # it is _extremely_ unlikely that the fuzzer would produce this particular
3 # input in any reasonable amount of time.
4
5 [short] skip
6 [!fuzz-instrumented] skip
7 env GOCACHE=$WORK/cache
8
9 # TODO(#51484): enabled debugging info to help diagnose a deadlock in the fuzzer
10 env GODEBUG=fuzzdebug=1
11 ! go test -fuzz=FuzzCov -v
12 ! stderr 'cov instrumentation working'
13
14 -- go.mod --
15 module test
16
17 -- cov_test.go --
18 package cov
19
20 import "testing"
21
22 func FuzzCov(f *testing.F) {
23 f.Fuzz(func(t *testing.T, b []byte) {
24 if len(b) == 8 &&
25 b[0] == 'h' &&
26 b[1] == 'e' &&
27 b[2] == 'l' &&
28 b[3] == 'l' &&
29 b[4] == 'o' &&
30 b[5] == ' ' &&
31 b[6] == ':' &&
32 b[7] == ')' {
33 panic("cov instrumentation working")
34 }
35 })
36 }
37
View as plain text