Handle rand deprecations in go 1.20

Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
(cherry picked from commit 1a3e73cb84)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
James Hewitt 2023-08-27 11:06:16 +01:00 committed by Sebastiaan van Stijn
parent 29b8ba0b93
commit 31f5cd4865
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C
7 changed files with 11 additions and 9 deletions

View file

@ -9,7 +9,6 @@ import (
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
"time"
"github.com/gorilla/mux" "github.com/gorilla/mux"
) )
@ -218,7 +217,6 @@ func TestRouterWithBadCharacters(t *testing.T) {
// with random UTF8 characters not in the 128 bit ASCII range. // with random UTF8 characters not in the 128 bit ASCII range.
// These are not valid characters for the router and we expect // These are not valid characters for the router and we expect
// 404s on every test. // 404s on every test.
rand.Seed(time.Now().UTC().UnixNano())
testCases := make([]routeTestCase, 1000) testCases := make([]routeTestCase, 1000)
for idx := range testCases { for idx := range testCases {
testCases[idx] = routeTestCase{ testCases[idx] = routeTestCase{

View file

@ -21,6 +21,7 @@ import (
) )
var sbsMu sync.Mutex var sbsMu sync.Mutex
var randSource rand.Rand
type statsBlobStore struct { type statsBlobStore struct {
stats map[string]int stats map[string]int
@ -195,13 +196,13 @@ func makeTestEnv(t *testing.T, name string) *testEnv {
func makeBlob(size int) []byte { func makeBlob(size int) []byte {
blob := make([]byte, size) blob := make([]byte, size)
for i := 0; i < size; i++ { for i := 0; i < size; i++ {
blob[i] = byte('A' + rand.Int()%48) blob[i] = byte('A' + randSource.Int()%48)
} }
return blob return blob
} }
func init() { func init() {
rand.Seed(42) randSource = *rand.New(rand.NewSource(42))
} }
func populate(t *testing.T, te *testEnv, blobCount, size, numUnique int) { func populate(t *testing.T, te *testEnv, blobCount, size, numUnique int) {

View file

@ -2,8 +2,8 @@ package s3
import ( import (
"bytes" "bytes"
"crypto/rand"
"io/ioutil" "io/ioutil"
"math/rand"
"os" "os"
"strconv" "strconv"
"testing" "testing"

View file

@ -3,6 +3,7 @@ package testsuites
import ( import (
"bytes" "bytes"
"context" "context"
crand "crypto/rand"
"crypto/sha1" "crypto/sha1"
"io" "io"
"io/ioutil" "io/ioutil"
@ -1214,7 +1215,7 @@ func randomFilename(length int64) string {
var randomBytes = make([]byte, 128<<20) var randomBytes = make([]byte, 128<<20)
func init() { func init() {
_, _ = rand.Read(randomBytes) // always returns len(randomBytes) and nil error _, _ = crand.Read(randomBytes) // always returns len(randomBytes) and nil error
} }
func randomContents(length int64) []byte { func randomContents(length int64) []byte {

View file

@ -2,6 +2,7 @@ package storage
import ( import (
"bytes" "bytes"
crand "crypto/rand"
"io" "io"
mrand "math/rand" mrand "math/rand"
"testing" "testing"
@ -14,7 +15,7 @@ import (
func TestSimpleRead(t *testing.T) { func TestSimpleRead(t *testing.T) {
ctx := context.Background() ctx := context.Background()
content := make([]byte, 1<<20) content := make([]byte, 1<<20)
n, err := mrand.Read(content) n, err := crand.Read(content)
if err != nil { if err != nil {
t.Fatalf("unexpected error building random data: %v", err) t.Fatalf("unexpected error building random data: %v", err)
} }

View file

@ -1,6 +1,6 @@
#!/usr/bin/env bash #!/usr/bin/env bash
GOLANGCI_LINT_VERSION="v1.52.0" GOLANGCI_LINT_VERSION="v1.54.2"
# #
# Install developer tools to $GOBIN (or $GOPATH/bin if unset) # Install developer tools to $GOBIN (or $GOPATH/bin if unset)

View file

@ -3,6 +3,7 @@ package testutil
import ( import (
"archive/tar" "archive/tar"
"bytes" "bytes"
crand "crypto/rand"
"fmt" "fmt"
"io" "io"
mrand "math/rand" mrand "math/rand"
@ -45,7 +46,7 @@ func CreateRandomTarFile() (rs io.ReadSeeker, dgst digest.Digest, err error) {
randomData := make([]byte, fileSize) randomData := make([]byte, fileSize)
// Fill up the buffer with some random data. // Fill up the buffer with some random data.
n, err := mrand.Read(randomData) n, err := crand.Read(randomData)
if n != len(randomData) { if n != len(randomData) {
return nil, "", fmt.Errorf("short read creating random reader: %v bytes != %v bytes", n, len(randomData)) return nil, "", fmt.Errorf("short read creating random reader: %v bytes != %v bytes", n, len(randomData))