mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-04 05:18:25 +00:00 
			
		
		
		
	Replace deprecated math/rand functions (#30733)
				
					
				
			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
This commit is contained in:
		@@ -5,8 +5,8 @@ package user_test
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"crypto/rand"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"testing"
 | 
			
		||||
	"time"
 | 
			
		||||
 
 | 
			
		||||
@@ -4,9 +4,8 @@
 | 
			
		||||
package pwn
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"math/rand/v2"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"os"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"testing"
 | 
			
		||||
	"time"
 | 
			
		||||
@@ -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)
 | 
			
		||||
@@ -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())
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
package integration
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"math/rand/v2"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"testing"
 | 
			
		||||
@@ -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)
 | 
			
		||||
}
 | 
			
		||||
@@ -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) {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,9 +5,9 @@ package integration
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"bytes"
 | 
			
		||||
	"crypto/rand"
 | 
			
		||||
	"encoding/hex"
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"math/rand"
 | 
			
		||||
	"net/http"
 | 
			
		||||
	"net/url"
 | 
			
		||||
	"os"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user