Skip to content

Commit

Permalink
Replace deprecated math/rand functions (#30733)
Browse files Browse the repository at this point in the history
Suggested by logs in #30729

- Remove `math/rand.Seed`
`rand.Seed is deprecated: As of Go 1.20 there is no reason to call Seed
with a random value.`
- Replace `math/rand.Read`
`rand.Read is deprecated: For almost all use cases, [crypto/rand.Read]
is more appropriate.`
- Replace `math/rand` with `math/rand/v2`, which is available since Go
1.22
  • Loading branch information
harryzcy authored Apr 27, 2024
1 parent 8de2992 commit 7b8e418
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 16 deletions.
2 changes: 1 addition & 1 deletion models/user/user_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ package user_test

import (
"context"
"crypto/rand"
"fmt"
"math/rand"
"strings"
"testing"
"time"
Expand Down
16 changes: 5 additions & 11 deletions modules/auth/password/pwn/pwn_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
package pwn

import (
"math/rand"
"math/rand/v2"
"net/http"
"os"
"strings"
"testing"
"time"
Expand All @@ -18,11 +17,6 @@ var client = New(WithHTTP(&http.Client{
Timeout: time.Second * 2,
}))

func TestMain(m *testing.M) {
rand.Seed(time.Now().Unix())
os.Exit(m.Run())
}

func TestPassword(t *testing.T) {
// Check input error
_, err := client.CheckPassword("", false)
Expand Down Expand Up @@ -81,24 +75,24 @@ func testPassword() string {

// Set special character
for i := 0; i < 5; i++ {
random := rand.Intn(len(specialCharSet))
random := rand.IntN(len(specialCharSet))
password.WriteString(string(specialCharSet[random]))
}

// Set numeric
for i := 0; i < 5; i++ {
random := rand.Intn(len(numberSet))
random := rand.IntN(len(numberSet))
password.WriteString(string(numberSet[random]))
}

// Set uppercase
for i := 0; i < 5; i++ {
random := rand.Intn(len(upperCharSet))
random := rand.IntN(len(upperCharSet))
password.WriteString(string(upperCharSet[random]))
}

for i := 0; i < 5; i++ {
random := rand.Intn(len(allCharSet))
random := rand.IntN(len(allCharSet))
password.WriteString(string(allCharSet[random]))
}
inRune := []rune(password.String())
Expand Down
6 changes: 3 additions & 3 deletions tests/integration/benchmarks_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
package integration

import (
"math/rand"
"math/rand/v2"
"net/http"
"net/url"
"testing"
Expand All @@ -18,7 +18,7 @@ import (
func StringWithCharset(length int, charset string) string {
b := make([]byte, length)
for i := range b {
b[i] = charset[rand.Intn(len(charset))]
b[i] = charset[rand.IntN(len(charset))]
}
return string(b)
}
Expand All @@ -37,7 +37,7 @@ func BenchmarkRepoBranchCommit(b *testing.B) {
b.ResetTimer()
b.Run("CreateBranch", func(b *testing.B) {
b.StopTimer()
branchName := StringWithCharset(5+rand.Intn(10), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
branchName := StringWithCharset(5+rand.IntN(10), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
b.StartTimer()
for i := 0; i < b.N; i++ {
b.Run("new_"+branchName, func(b *testing.B) {
Expand Down
2 changes: 1 addition & 1 deletion tests/integration/git_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ package integration

import (
"bytes"
"crypto/rand"
"encoding/hex"
"fmt"
"math/rand"
"net/http"
"net/url"
"os"
Expand Down

0 comments on commit 7b8e418

Please sign in to comment.