cmd/go: add fuzzing coverage test

Adds a test script for fuzzing coverage instrumentation.

Fixes #48654

Change-Id: Ieea7b4146bd5581baae869441cc1c652dd7485f5
Reviewed-on: https://go-review.googlesource.com/c/go/+/375736
Trust: Katie Hockman <katie@golang.org>
Reviewed-by: Katie Hockman <katie@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
Run-TryBot: Roland Shoemaker <roland@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
Roland Shoemaker 2022-01-05 12:25:28 -08:00
parent 88cafe0f58
commit 2b39d86344
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
# 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
! go test -fuzz=FuzzCov
! 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")
}
})
}