| # Test that coverage instrumentation is working. Without the instrumentation |
| # it is _extremely_ unlikely that the fuzzer would produce this particular |
| # input in any reasonable amount of time. |
| |
| [short] skip |
| [!fuzz-instrumented] skip |
| env GOCACHE=$WORK/cache |
| |
| # TODO(#51484): enabled debugging info to help diagnose a deadlock in the fuzzer |
| env GODEBUG=fuzzdebug=1 |
| ! go test -fuzz=FuzzCov -v |
| ! stderr 'cov instrumentation working' |
| |
| -- go.mod -- |
| module test |
| |
| -- cov_test.go -- |
| package cov |
| |
| import "testing" |
| |
| func FuzzCov(f *testing.F) { |
| f.Fuzz(func(t *testing.T, b []byte) { |
| if len(b) == 8 && |
| b[0] == 'h' && |
| b[1] == 'e' && |
| b[2] == 'l' && |
| b[3] == 'l' && |
| b[4] == 'o' && |
| b[5] == ' ' && |
| b[6] == ':' && |
| b[7] == ')' { |
| panic("cov instrumentation working") |
| } |
| }) |
| } |