Commit e25fdb96 authored by Brad Fitzpatrick's avatar Brad Fitzpatrick

doc: mention testing/quick RNG seeding change in Go 1.9 notes

Also reword the testing/quick.Config field docs to conform to the
normal subject-first style. Without that style, godoc links
/pkg/testing/quick/#Config.Rand to the wrong line, since it doesn't
recognize the preceding comment as necessarily being attached.

Fixes #20809

Change-Id: I9aebbf763eed9b1ab1a153fa11850d88a65571c6
Reviewed-on: https://go-review.googlesource.com/46910Reviewed-by: 's avatarIan Lance Taylor <iant@golang.org>
parent 33b3cc15
......@@ -786,10 +786,18 @@ CL 40331: https://golang.org/cl/40331: cmd/link,runtime/cgo: enable PT_TLS gener
<dl id="testing/quick"><dt><a href="/pkg/testing/quick/">testing/quick</a></dt>
<dd>
<p><!-- CL 39152 -->
The package now chooses values in the full range when
generating <code>int64</code> and <code>uint64</code> random
numbers; in earlier releases generated values were always
limited to the [-2<sup>62</sup>, 2<sup>62</sup>) range.
The package now chooses values in the full range when
generating <code>int64</code> and <code>uint64</code> random
numbers; in earlier releases generated values were always
limited to the [-2<sup>62</sup>, 2<sup>62</sup>) range.
</p>
<p>
In previous releases, using a nil
<a href="/pkg/testing/quick/#Config.Rand"><code>Config.Rand</code></a>
value caused the same deterministic random number generator to be used.
It now uses a random number generator seeded on the current time.
For the old behavior, use <code>rand.New(rand.NewSource(0))</code>.
</p>
</dl><!-- testing/quick -->
......
......@@ -175,19 +175,20 @@ func sizedValue(t reflect.Type, rand *rand.Rand, size int) (value reflect.Value,
// A Config structure contains options for running a test.
type Config struct {
// MaxCount sets the maximum number of iterations. If zero,
// MaxCountScale is used.
// MaxCount sets the maximum number of iterations.
// If zero, MaxCountScale is used.
MaxCount int
// MaxCountScale is a non-negative scale factor applied to the default
// maximum. If zero, the default is unchanged.
// MaxCountScale is a non-negative scale factor applied to the
// default maximum.
// If zero, the default is unchanged.
MaxCountScale float64
// If non-nil, rand is a source of random numbers. Otherwise a default
// pseudo-random source will be used.
// Rand specifies a source of random numbers.
// If nil, a default pseudo-random source will be used.
Rand *rand.Rand
// If non-nil, the Values function generates a slice of arbitrary
// reflect.Values that are congruent with the arguments to the function
// being tested. Otherwise, the top-level Value function is used
// to generate them.
// Values specifies a function to generate a slice of
// arbitrary reflect.Values that are congruent with the
// arguments to the function being tested.
// If nil, the top-level Value function is used to generate them.
Values func([]reflect.Value, *rand.Rand)
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment