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
	 Akihiro Suda
					Akihiro Suda