Handle rand deprecations in go 1.20

Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
This commit is contained in:
James Hewitt 2023-08-27 11:06:16 +01:00
parent 0eb8fee87e
commit 1a3e73cb84
No known key found for this signature in database
GPG key ID: EA6C3C654B6193E4
8 changed files with 12 additions and 10 deletions

View file

@ -27,7 +27,7 @@ jobs:
matrix: matrix:
go: go:
- 1.20.7 - 1.20.7
- 1.21 - 1.21.0
steps: steps:
- -
name: Checkout name: Checkout

View file

@ -2,7 +2,7 @@
ARG GO_VERSION=1.20.7 ARG GO_VERSION=1.20.7
ARG ALPINE_VERSION=3.18 ARG ALPINE_VERSION=3.18
ARG GOLANGCI_LINT_VERSION=v1.52 ARG GOLANGCI_LINT_VERSION=v1.54.2
ARG BUILDTAGS="include_gcs" ARG BUILDTAGS="include_gcs"
FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint

View file

@ -9,7 +9,6 @@ import (
"reflect" "reflect"
"strings" "strings"
"testing" "testing"
"time"
"github.com/gorilla/mux" "github.com/gorilla/mux"
) )
@ -221,7 +220,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())
tests := make([]routeTestCase, 1000) tests := make([]routeTestCase, 1000)
for idx := range tests { for idx := range tests {
tests[idx] = routeTestCase{ tests[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
@ -189,13 +190,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,9 +2,9 @@ package s3
import ( import (
"bytes" "bytes"
"crypto/rand"
"errors" "errors"
"fmt" "fmt"
"math/rand"
"os" "os"
"path" "path"
"reflect" "reflect"

View file

@ -3,6 +3,7 @@ package testsuites
import ( import (
"bytes" "bytes"
"context" "context"
crand "crypto/rand"
"crypto/sha256" "crypto/sha256"
"io" "io"
"math/rand" "math/rand"
@ -1232,7 +1233,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

@ -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))