mirror of
https://github.com/golang/go
synced 2024-11-24 16:20:13 -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
|
// This function sould be fast and deterministic, and its behavior should not
|
||||||
// depend on shared state. No mutatable input arguments, or pointers to them,
|
// depend on shared state. No mutatable input arguments, or pointers to them,
|
||||||
// should be retained between executions of the fuzz function, as the memory
|
// 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
|
// When fuzzing, F.Fuzz does not return until a problem is found, time runs out
|
||||||
// out (set with -fuzztime), or the test process is interrupted by a signal.
|
// (set with -fuzztime), or the test process is interrupted by a signal. F.Fuzz
|
||||||
// F.Fuzz should be called exactly once unless F.Skip or F.Fail is called.
|
// should be called exactly once, unless F.Skip or F.Fail is called beforehand.
|
||||||
func (f *F) Fuzz(ff interface{}) {
|
func (f *F) Fuzz(ff interface{}) {
|
||||||
if f.fuzzCalled {
|
if f.fuzzCalled {
|
||||||
panic("testing: F.Fuzz called more than once")
|
panic("testing: F.Fuzz called more than once")
|
||||||
|
Loading…
Reference in New Issue
Block a user