@@ -19,166 +19,105 @@ package bucketpool
19
19
import (
20
20
"math/rand"
21
21
"testing"
22
+
23
+ "github.com/stretchr/testify/assert"
24
+ "github.com/stretchr/testify/require"
22
25
)
23
26
24
27
func TestPool (t * testing.T ) {
25
28
maxSize := 16384
26
29
pool := New (1024 , maxSize )
27
- if pool .maxSize != maxSize {
28
- t .Fatalf ("Invalid max pool size: %d, expected %d" , pool .maxSize , maxSize )
29
- }
30
- if len (pool .pools ) != 5 {
31
- t .Fatalf ("Invalid number of pools: %d, expected %d" , len (pool .pools ), 5 )
32
- }
30
+ require .Equal (t , maxSize , pool .maxSize , "Invalid max pool size" )
31
+ require .Len (t , pool .pools , 5 , "Invalid number of pools" )
33
32
34
33
buf := pool .Get (64 )
35
- if len (* buf ) != 64 {
36
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
37
- }
38
- if cap (* buf ) != 1024 {
39
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
40
- }
34
+ require .Len (t , * buf , 64 , "unexpected buf length" )
35
+ require .Equal (t , 1024 , cap (* buf ), "unexpected buf cap" )
41
36
42
37
// get from same pool, check that length is right
43
38
buf = pool .Get (128 )
44
- if len (* buf ) != 128 {
45
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
46
- }
47
- if cap (* buf ) != 1024 {
48
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
49
- }
39
+ require .Len (t , * buf , 128 , "unexpected buf length" )
40
+ require .Equal (t , 1024 , cap (* buf ), "unexpected buf cap" )
50
41
pool .Put (buf )
51
42
52
43
// get boundary size
53
44
buf = pool .Get (1024 )
54
- if len (* buf ) != 1024 {
55
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
56
- }
57
- if cap (* buf ) != 1024 {
58
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
59
- }
45
+ require .Len (t , * buf , 1024 , "unexpected buf length" )
46
+ require .Equal (t , 1024 , cap (* buf ), "unexpected buf cap" )
60
47
pool .Put (buf )
61
48
62
49
// get from the middle
63
50
buf = pool .Get (5000 )
64
- if len (* buf ) != 5000 {
65
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
66
- }
67
- if cap (* buf ) != 8192 {
68
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
69
- }
51
+ require .Len (t , * buf , 5000 , "unexpected buf length" )
52
+ require .Equal (t , 8192 , cap (* buf ), "unexpected buf cap" )
70
53
pool .Put (buf )
71
54
72
55
// check last pool
73
56
buf = pool .Get (16383 )
74
- if len (* buf ) != 16383 {
75
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
76
- }
77
- if cap (* buf ) != 16384 {
78
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
79
- }
57
+ require .Len (t , * buf , 16383 , "unexpected buf length" )
58
+ require .Equal (t , 16384 , cap (* buf ), "unexpected buf cap" )
80
59
pool .Put (buf )
81
60
82
61
// get big buffer
83
62
buf = pool .Get (16385 )
84
- if len (* buf ) != 16385 {
85
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
86
- }
87
- if cap (* buf ) != 16385 {
88
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
89
- }
63
+ require .Len (t , * buf , 16385 , "unexpected buf length" )
64
+ require .Equal (t , 16385 , cap (* buf ), "unexpected buf cap" )
90
65
pool .Put (buf )
91
66
}
92
67
93
68
func TestPoolOneSize (t * testing.T ) {
94
69
maxSize := 1024
95
70
pool := New (1024 , maxSize )
96
- if pool .maxSize != maxSize {
97
- t .Fatalf ("Invalid max pool size: %d, expected %d" , pool .maxSize , maxSize )
98
- }
71
+ require .Equal (t , maxSize , pool .maxSize , "Invalid max pool size" )
99
72
buf := pool .Get (64 )
100
- if len (* buf ) != 64 {
101
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
102
- }
103
- if cap (* buf ) != 1024 {
104
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
105
- }
73
+ require .Len (t , * buf , 64 , "unexpected buf length" )
74
+ require .Equal (t , 1024 , cap (* buf ), "unexpected buf cap" )
106
75
pool .Put (buf )
107
76
108
77
buf = pool .Get (1025 )
109
- if len (* buf ) != 1025 {
110
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
111
- }
112
- if cap (* buf ) != 1025 {
113
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
114
- }
78
+ require .Len (t , * buf , 1025 , "unexpected buf length" )
79
+ require .Equal (t , 1025 , cap (* buf ), "unexpected buf cap" )
115
80
pool .Put (buf )
116
81
}
117
82
118
83
func TestPoolTwoSizeNotMultiplier (t * testing.T ) {
119
84
maxSize := 2000
120
85
pool := New (1024 , maxSize )
121
- if pool .maxSize != maxSize {
122
- t .Fatalf ("Invalid max pool size: %d, expected %d" , pool .maxSize , maxSize )
123
- }
86
+ require .Equal (t , maxSize , pool .maxSize , "Invalid max pool size" )
124
87
buf := pool .Get (64 )
125
- if len (* buf ) != 64 {
126
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
127
- }
128
- if cap (* buf ) != 1024 {
129
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
130
- }
88
+ require .Len (t , * buf , 64 , "unexpected buf length" )
89
+ require .Equal (t , 1024 , cap (* buf ), "unexpected buf cap" )
131
90
pool .Put (buf )
132
91
133
92
buf = pool .Get (2001 )
134
- if len (* buf ) != 2001 {
135
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
136
- }
137
- if cap (* buf ) != 2001 {
138
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
139
- }
93
+ require .Len (t , * buf , 2001 , "unexpected buf length" )
94
+ require .Equal (t , 2001 , cap (* buf ), "unexpected buf cap" )
140
95
pool .Put (buf )
141
96
}
142
97
143
98
func TestPoolMaxSizeLessThanMinSize (t * testing.T ) {
144
- defer func () {
145
- if r := recover (); r == nil {
146
- t .Errorf ("Expected the code to panic" )
147
- }
148
- }()
149
-
150
- New (15000 , 1024 )
99
+ assert .Panics (t , func () { New (15000 , 1024 ) })
151
100
}
152
101
153
102
func TestPoolWeirdMaxSize (t * testing.T ) {
154
103
maxSize := 15000
155
104
pool := New (1024 , maxSize )
156
- if pool .maxSize != maxSize {
157
- t .Fatalf ("Invalid max pool size: %d, expected %d" , pool .maxSize , maxSize )
158
- }
105
+ require .Equal (t , maxSize , pool .maxSize , "Invalid max pool size" )
159
106
160
107
buf := pool .Get (14000 )
161
- if len (* buf ) != 14000 {
162
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
163
- }
164
- if cap (* buf ) != 15000 {
165
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
166
- }
108
+ require .Len (t , * buf , 14000 , "unexpected buf length" )
109
+ require .Equal (t , 15000 , cap (* buf ), "unexpected buf cap" )
167
110
pool .Put (buf )
168
111
169
112
buf = pool .Get (16383 )
170
- if len (* buf ) != 16383 {
171
- t .Fatalf ("unexpected buf length: %d" , len (* buf ))
172
- }
173
- if cap (* buf ) != 16383 {
174
- t .Fatalf ("unexpected buf cap: %d" , cap (* buf ))
175
- }
113
+ require .Len (t , * buf , 16383 , "unexpected buf length" )
114
+ require .Equal (t , 16383 , cap (* buf ), "unexpected buf cap" )
176
115
pool .Put (buf )
177
116
}
178
117
179
118
func TestFuzz (t * testing.T ) {
180
119
maxTestSize := 16384
181
- for i := 0 ; i < 20000 ; i ++ {
120
+ for range 20000 {
182
121
minSize := rand .Intn (maxTestSize )
183
122
if minSize == 0 {
184
123
minSize = 1
@@ -187,18 +126,12 @@ func TestFuzz(t *testing.T) {
187
126
p := New (minSize , maxSize )
188
127
bufSize := rand .Intn (maxTestSize )
189
128
buf := p .Get (bufSize )
190
- if len (* buf ) != bufSize {
191
- t .Fatalf ("Invalid length %d, expected %d" , len (* buf ), bufSize )
192
- }
129
+ require .Len (t , * buf , bufSize , "unexpected buf length" )
193
130
sPool := p .findPool (bufSize )
194
131
if sPool == nil {
195
- if cap (* buf ) != len (* buf ) {
196
- t .Fatalf ("Invalid cap %d, expected %d" , cap (* buf ), len (* buf ))
197
- }
132
+ require .Equal (t , len (* buf ), cap (* buf ), "unexpected buf cap" )
198
133
} else {
199
- if cap (* buf ) != sPool .size {
200
- t .Fatalf ("Invalid cap %d, expected %d" , cap (* buf ), sPool .size )
201
- }
134
+ require .Equal (t , sPool .size , cap (* buf ), "unexpected buf cap" )
202
135
}
203
136
p .Put (buf )
204
137
}
0 commit comments