mirror of https://github.com/golang/go.git
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:
parent
88cafe0f58
commit
2b39d86344
|
|
@ -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")
|
||||
}
|
||||
})
|
||||
}
|
||||
Loading…
Reference in New Issue