Stop using math/rand.Read and rand.Seed (deprecated in Go 1.20)
From golangci-lint: > SA1019: rand.Read has been deprecated since Go 1.20 because it >shouldn't be used: For almost all use cases, crypto/rand.Read is more >appropriate. (staticcheck) > SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative >has been available since Go 1.0: Programs that call Seed and then expect >a specific sequence of results from the global random source (using >functions such as Int) can be broken when a dependency changes how >much it consumes from the global random source. To avoid such breakages, >programs that need a specific result sequence should use >NewRand(NewSource(seed)) to obtain a random generator that other >packages cannot access. (staticcheck) See also: - https://pkg.go.dev/math/rand@go1.20#Read - https://pkg.go.dev/math/rand@go1.20#Seed Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
This commit is contained in:
@@ -18,21 +18,16 @@ package kmutex
|
||||
|
||||
import (
|
||||
"context"
|
||||
"math/rand"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/containerd/containerd/pkg/seed"
|
||||
"github.com/containerd/containerd/pkg/randutil"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func init() {
|
||||
seed.WithTimeAndRand()
|
||||
}
|
||||
|
||||
func TestBasic(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -60,7 +55,7 @@ func TestBasic(t *testing.T) {
|
||||
waitLock = true
|
||||
break
|
||||
}
|
||||
time.Sleep(time.Duration(rand.Int63n(100)) * time.Millisecond)
|
||||
time.Sleep(time.Duration(randutil.Int63n(100)) * time.Millisecond)
|
||||
}
|
||||
assert.Equal(t, waitLock, true)
|
||||
}
|
||||
@@ -130,7 +125,7 @@ func TestMultileAcquireOnKeys(t *testing.T) {
|
||||
for i := 0; i < nloops; i++ {
|
||||
km.Lock(ctx, key)
|
||||
|
||||
time.Sleep(time.Duration(rand.Int63n(100)) * time.Nanosecond)
|
||||
time.Sleep(time.Duration(randutil.Int63n(100)) * time.Nanosecond)
|
||||
|
||||
km.Unlock(key)
|
||||
}
|
||||
@@ -161,7 +156,7 @@ func TestMultiAcquireOnSameKey(t *testing.T) {
|
||||
for i := 0; i < nloops; i++ {
|
||||
km.Lock(ctx, key)
|
||||
|
||||
time.Sleep(time.Duration(rand.Int63n(100)) * time.Nanosecond)
|
||||
time.Sleep(time.Duration(randutil.Int63n(100)) * time.Nanosecond)
|
||||
|
||||
km.Unlock(key)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user