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 (
 | 
					import (
 | 
				
			||||||
	"context"
 | 
						"context"
 | 
				
			||||||
 | 
						"crypto/rand"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"math/rand"
 | 
					 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,9 +4,8 @@
 | 
				
			|||||||
package pwn
 | 
					package pwn
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"math/rand"
 | 
						"math/rand/v2"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"os"
 | 
					 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
@@ -18,11 +17,6 @@ var client = New(WithHTTP(&http.Client{
 | 
				
			|||||||
	Timeout: time.Second * 2,
 | 
						Timeout: time.Second * 2,
 | 
				
			||||||
}))
 | 
					}))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func TestMain(m *testing.M) {
 | 
					 | 
				
			||||||
	rand.Seed(time.Now().Unix())
 | 
					 | 
				
			||||||
	os.Exit(m.Run())
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func TestPassword(t *testing.T) {
 | 
					func TestPassword(t *testing.T) {
 | 
				
			||||||
	// Check input error
 | 
						// Check input error
 | 
				
			||||||
	_, err := client.CheckPassword("", false)
 | 
						_, err := client.CheckPassword("", false)
 | 
				
			||||||
@@ -81,24 +75,24 @@ func testPassword() string {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	// Set special character
 | 
						// Set special character
 | 
				
			||||||
	for i := 0; i < 5; i++ {
 | 
						for i := 0; i < 5; i++ {
 | 
				
			||||||
		random := rand.Intn(len(specialCharSet))
 | 
							random := rand.IntN(len(specialCharSet))
 | 
				
			||||||
		password.WriteString(string(specialCharSet[random]))
 | 
							password.WriteString(string(specialCharSet[random]))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Set numeric
 | 
						// Set numeric
 | 
				
			||||||
	for i := 0; i < 5; i++ {
 | 
						for i := 0; i < 5; i++ {
 | 
				
			||||||
		random := rand.Intn(len(numberSet))
 | 
							random := rand.IntN(len(numberSet))
 | 
				
			||||||
		password.WriteString(string(numberSet[random]))
 | 
							password.WriteString(string(numberSet[random]))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Set uppercase
 | 
						// Set uppercase
 | 
				
			||||||
	for i := 0; i < 5; i++ {
 | 
						for i := 0; i < 5; i++ {
 | 
				
			||||||
		random := rand.Intn(len(upperCharSet))
 | 
							random := rand.IntN(len(upperCharSet))
 | 
				
			||||||
		password.WriteString(string(upperCharSet[random]))
 | 
							password.WriteString(string(upperCharSet[random]))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for i := 0; i < 5; i++ {
 | 
						for i := 0; i < 5; i++ {
 | 
				
			||||||
		random := rand.Intn(len(allCharSet))
 | 
							random := rand.IntN(len(allCharSet))
 | 
				
			||||||
		password.WriteString(string(allCharSet[random]))
 | 
							password.WriteString(string(allCharSet[random]))
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	inRune := []rune(password.String())
 | 
						inRune := []rune(password.String())
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
package integration
 | 
					package integration
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"math/rand"
 | 
						"math/rand/v2"
 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/url"
 | 
						"net/url"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
@@ -18,7 +18,7 @@ import (
 | 
				
			|||||||
func StringWithCharset(length int, charset string) string {
 | 
					func StringWithCharset(length int, charset string) string {
 | 
				
			||||||
	b := make([]byte, length)
 | 
						b := make([]byte, length)
 | 
				
			||||||
	for i := range b {
 | 
						for i := range b {
 | 
				
			||||||
		b[i] = charset[rand.Intn(len(charset))]
 | 
							b[i] = charset[rand.IntN(len(charset))]
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return string(b)
 | 
						return string(b)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -37,7 +37,7 @@ func BenchmarkRepoBranchCommit(b *testing.B) {
 | 
				
			|||||||
				b.ResetTimer()
 | 
									b.ResetTimer()
 | 
				
			||||||
				b.Run("CreateBranch", func(b *testing.B) {
 | 
									b.Run("CreateBranch", func(b *testing.B) {
 | 
				
			||||||
					b.StopTimer()
 | 
										b.StopTimer()
 | 
				
			||||||
					branchName := StringWithCharset(5+rand.Intn(10), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
 | 
										branchName := StringWithCharset(5+rand.IntN(10), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
 | 
				
			||||||
					b.StartTimer()
 | 
										b.StartTimer()
 | 
				
			||||||
					for i := 0; i < b.N; i++ {
 | 
										for i := 0; i < b.N; i++ {
 | 
				
			||||||
						b.Run("new_"+branchName, func(b *testing.B) {
 | 
											b.Run("new_"+branchName, func(b *testing.B) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,9 +5,9 @@ package integration
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"bytes"
 | 
						"bytes"
 | 
				
			||||||
 | 
						"crypto/rand"
 | 
				
			||||||
	"encoding/hex"
 | 
						"encoding/hex"
 | 
				
			||||||
	"fmt"
 | 
						"fmt"
 | 
				
			||||||
	"math/rand"
 | 
					 | 
				
			||||||
	"net/http"
 | 
						"net/http"
 | 
				
			||||||
	"net/url"
 | 
						"net/url"
 | 
				
			||||||
	"os"
 | 
						"os"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user