cmd/swarm, swarm/api/http, swarm/bmt, swarm/fuse, swarm/network/stream, swarm/storage, swarm/storage/encryption, swarm/testutil: use pseudo-random instead of crypto-random for test files content generation (#18083)
- Replace "crypto/rand" to "math/rand" for files content generation - Remove swarm/network_test.go.Shuffle and swarm/btm/btm_test.go.Shuffle - because go1.9 support dropped (see https://github.com/ethereum/go-ethereum/pull/17807 and comments to swarm/network_test.go.Shuffle)
This commit is contained in:
committed by
Viktor Trón
parent
cff97119a7
commit
eb8fa3cc89
@ -17,8 +17,10 @@
|
||||
package testutil
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"os"
|
||||
"strings"
|
||||
"testing"
|
||||
@ -42,3 +44,22 @@ func TempFileWithContent(t *testing.T, content string) string {
|
||||
}
|
||||
return tempFile.Name()
|
||||
}
|
||||
|
||||
// RandomBytes returns pseudo-random deterministic result
|
||||
// because test fails must be reproducible
|
||||
func RandomBytes(seed, length int) []byte {
|
||||
b := make([]byte, length)
|
||||
reader := rand.New(rand.NewSource(int64(seed)))
|
||||
for n := 0; n < length; {
|
||||
read, err := reader.Read(b[n:])
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
n += read
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func RandomReader(seed, length int) *bytes.Reader {
|
||||
return bytes.NewReader(RandomBytes(seed, length))
|
||||
}
|
||||
|
Reference in New Issue
Block a user