mirror of
https://github.com/golang/go
synced 2024-11-24 12:00:14 -07:00
testing: document f.Fuzz requirement to not change underlying data
Updates #48606 Change-Id: I6d555fdefccd842fb65ec8d630b4808bcb54a825 Reviewed-on: https://go-review.googlesource.com/c/go/+/353977 Trust: Katie Hockman <katie@golang.org> Run-TryBot: Katie Hockman <katie@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
This commit is contained in:
parent
7ae83c8f38
commit
0b4d4998d5
@ -299,11 +299,12 @@ var supportedTypes = map[reflect.Type]bool{
|
||||
// This function sould be fast and deterministic, and its behavior should not
|
||||
// depend on shared state. No mutatable input arguments, or pointers to them,
|
||||
// should be retained between executions of the fuzz function, as the memory
|
||||
// backing them may be mutated during a subsequent invocation.
|
||||
// backing them may be mutated during a subsequent invocation. ff must not
|
||||
// modify the underlying data of the arguments provided by the fuzzing engine.
|
||||
//
|
||||
// When fuzzing, F.Fuzz does not return until a problem is found, time runs
|
||||
// out (set with -fuzztime), or the test process is interrupted by a signal.
|
||||
// F.Fuzz should be called exactly once unless F.Skip or F.Fail is called.
|
||||
// When fuzzing, F.Fuzz does not return until a problem is found, time runs out
|
||||
// (set with -fuzztime), or the test process is interrupted by a signal. F.Fuzz
|
||||
// should be called exactly once, unless F.Skip or F.Fail is called beforehand.
|
||||
func (f *F) Fuzz(ff interface{}) {
|
||||
if f.fuzzCalled {
|
||||
panic("testing: F.Fuzz called more than once")
|
||||
|
Loading…
Reference in New Issue
Block a user