@@ -11,55 +11,51 @@ import (
11
11
"github.com/segmentio/ksuid"
12
12
)
13
13
14
- func randIntRange (min int , max int ) int {
15
- return rand .Intn (max - min ) + min
14
+ func randIntRange (rnd * rand. Rand , min int , max int ) int {
15
+ return rnd .Intn (max - min ) + min
16
16
}
17
17
18
- func nonEmptyRandIntRange (min int , max int , def int ) int {
18
+ func nonEmptyRandIntRange (rnd * rand. Rand , min int , max int , def int ) int {
19
19
if max > min && min > 0 {
20
- return randIntRange (min , max )
20
+ return randIntRange (rnd , min , max )
21
21
}
22
- return randIntRange (1 , def )
22
+ return randIntRange (rnd , 1 , def )
23
23
}
24
24
25
- func randInt64Range (min int64 , max int64 ) int64 {
26
- return rand .Int63n (max - min ) + min
25
+ func randInt64Range (rnd * rand. Rand , min int64 , max int64 ) int64 {
26
+ return rnd .Int63n (max - min ) + min
27
27
}
28
28
29
- func nonEmptyRandInt64Range (min int64 , max int64 , def int64 ) int64 {
29
+ func nonEmptyRandInt64Range (rnd * rand. Rand , min int64 , max int64 , def int64 ) int64 {
30
30
if max > min && min > 0 {
31
- return randInt64Range (min , max )
31
+ return randInt64Range (rnd , min , max )
32
32
}
33
- return randInt64Range (1 , def )
33
+ return randInt64Range (rnd , 1 , def )
34
34
}
35
35
36
- func randFloat32Range (min float32 , max float32 ) float32 {
37
- return rand .Float32 () * (max - min )
36
+ func randFloat32Range (rnd * rand. Rand , min float32 , max float32 ) float32 {
37
+ return rnd .Float32 () * (max - min )
38
38
}
39
39
40
- func nonEmptyRandFloat32Range (min float32 , max float32 , def float32 ) float32 {
40
+ func nonEmptyRandFloat32Range (rnd * rand. Rand , min float32 , max float32 , def float32 ) float32 {
41
41
if max > min && min > 0 {
42
- return randFloat32Range (min , max )
42
+ return randFloat32Range (rnd , min , max )
43
43
}
44
- return randFloat32Range (1 , def )
44
+ return randFloat32Range (rnd , 1 , def )
45
45
}
46
46
47
- func randFloat64Range (min float64 , max float64 ) float64 {
48
- return rand .Float64 () * (max - min )
47
+ func randFloat64Range (rnd * rand. Rand , min float64 , max float64 ) float64 {
48
+ return rnd .Float64 () * (max - min )
49
49
}
50
50
51
- func nonEmptyRandFloat64Range (min float64 , max float64 , def float64 ) float64 {
51
+ func nonEmptyRandFloat64Range (rnd * rand. Rand , min float64 , max float64 , def float64 ) float64 {
52
52
if max > min && min > 0 {
53
- return randFloat64Range (min , max )
53
+ return randFloat64Range (rnd , min , max )
54
54
}
55
- return randFloat64Range (1 , def )
55
+ return randFloat64Range (rnd , 1 , def )
56
56
}
57
57
58
- func randString (len int ) string {
59
- return nonEmptyRandStringWithTime (len , time .Now ().UTC ())
60
- }
61
-
62
- func randStringWithTime (len int , t time.Time ) string {
58
+ func randStringWithTime (rnd * rand.Rand , len int , t time.Time ) string {
63
59
id , _ := ksuid .NewRandomWithTime (t )
64
60
65
61
var buf strings.Builder
@@ -70,41 +66,41 @@ func randStringWithTime(len int, t time.Time) string {
70
66
71
67
// Pad some extra random data
72
68
buff := make ([]byte , len - buf .Len ())
73
- rand .Read (buff )
69
+ rnd .Read (buff )
74
70
buf .WriteString (base64 .StdEncoding .EncodeToString (buff ))
75
71
76
72
return buf .String ()[:len ]
77
73
}
78
74
79
- func nonEmptyRandStringWithTime (len int , t time.Time ) string {
75
+ func nonEmptyRandStringWithTime (rnd * rand. Rand , len int , t time.Time ) string {
80
76
if len <= 0 {
81
77
len = 1
82
78
}
83
- return randStringWithTime (len , t )
79
+ return randStringWithTime (rnd , len , t )
84
80
}
85
81
86
- func randDate () string {
87
- time := randTime ()
82
+ func randDate (rnd * rand. Rand ) string {
83
+ time := randTime (rnd )
88
84
return time .Format ("2006-01-02" )
89
85
}
90
86
91
- func randTime () time.Time {
87
+ func randTime (rnd * rand. Rand ) time.Time {
92
88
min := time .Date (1970 , 1 , 0 , 0 , 0 , 0 , 0 , time .UTC ).Unix ()
93
89
max := time .Date (2024 , 1 , 0 , 0 , 0 , 0 , 0 , time .UTC ).Unix ()
94
90
95
- sec := rand .Int63n (max - min ) + min
91
+ sec := rnd .Int63n (max - min ) + min
96
92
return time .Unix (sec , 0 )
97
93
}
98
94
99
- func randTimeNewer (d time.Time ) time.Time {
95
+ func randTimeNewer (rnd * rand. Rand , d time.Time ) time.Time {
100
96
min := time .Date (d .Year ()+ 1 , 1 , 0 , 0 , 0 , 0 , 0 , time .UTC ).Unix ()
101
97
max := time .Date (2024 , 1 , 0 , 0 , 0 , 0 , 0 , time .UTC ).Unix ()
102
98
103
- sec := rand .Int63n (max - min + 1 ) + min
99
+ sec := rnd .Int63n (max - min + 1 ) + min
104
100
return time .Unix (sec , 0 )
105
101
}
106
102
107
- func randIpV4Address (v , pos int ) string {
103
+ func randIpV4Address (rnd * rand. Rand , v , pos int ) string {
108
104
if pos < 0 || pos > 4 {
109
105
panic (fmt .Sprintf ("invalid position for the desired value of the IP part %d, 0-3 supported" , pos ))
110
106
}
@@ -116,7 +112,7 @@ func randIpV4Address(v, pos int) string {
116
112
if i == pos {
117
113
blocks = append (blocks , strconv .Itoa (v ))
118
114
} else {
119
- blocks = append (blocks , strconv .Itoa (rand .Intn (255 )))
115
+ blocks = append (blocks , strconv .Itoa (rnd .Intn (255 )))
120
116
}
121
117
}
122
118
return strings .Join (blocks , "." )
0 commit comments