NewPseudoRand returns an instance of math/rand.Rand seeded from the environment variable COCKROACH_RANDOM_SEED. If that variable is not set, crypto/rand is used to generate a seed. The seed is also returned so we can easily and cheaply generate unique streams of numbers. The created object is not safe for concurrent access.
NewPseudoSeed generates a seed from crypto/rand.
RandBytes returns a byte slice of the given length with random data.
RandIntInRange returns a value in [min, max)
ReadTestdataBytes reads random bytes, but then nudges them into printable ASCII, *reducing their randomness* to make them a little friendlier for humans using them as testdata.
SeedForTests seeds the random number generator and prints the seed value used. This value can be specified via an environment variable COCKROACH_RANDOM_SEED=x to reuse the same value later. This function should be called from TestMain; individual tests should not touch the seed of the global random number generator.