@@ -15,9 +15,7 @@ func TestKeys(t *testing.T) {
1515 t .Run ("Empty data" , func (t * testing.T ) {
1616 t .Parallel ()
1717 d := acquireData ()
18- d .Reset () // Ensure clean state from pool
19- defer dataPool .Put (d )
20- defer d .Reset ()
18+ defer releaseData (d )
2119 keys := d .Keys ()
2220 require .Empty (t , keys , "Expected no keys in empty data" )
2321 })
@@ -26,9 +24,7 @@ func TestKeys(t *testing.T) {
2624 t .Run ("Single key" , func (t * testing.T ) {
2725 t .Parallel ()
2826 d := acquireData ()
29- d .Reset () // Ensure clean state from pool
30- defer dataPool .Put (d )
31- defer d .Reset ()
27+ defer releaseData (d )
3228 d .Set ("key1" , "value1" )
3329 keys := d .Keys ()
3430 require .Len (t , keys , 1 , "Expected one key" )
@@ -39,9 +35,7 @@ func TestKeys(t *testing.T) {
3935 t .Run ("Multiple keys" , func (t * testing.T ) {
4036 t .Parallel ()
4137 d := acquireData ()
42- d .Reset () // Ensure clean state from pool
43- defer dataPool .Put (d )
44- defer d .Reset ()
38+ defer releaseData (d )
4539 d .Set ("key1" , "value1" )
4640 d .Set ("key2" , "value2" )
4741 d .Set ("key3" , "value3" )
@@ -56,9 +50,7 @@ func TestKeys(t *testing.T) {
5650 t .Run ("Concurrent access" , func (t * testing.T ) {
5751 t .Parallel ()
5852 d := acquireData ()
59- d .Reset () // Ensure clean state from pool
60- defer dataPool .Put (d )
61- defer d .Reset ()
53+ defer releaseData (d )
6254 d .Set ("key1" , "value1" )
6355 d .Set ("key2" , "value2" )
6456 d .Set ("key3" , "value3" )
@@ -86,9 +78,7 @@ func TestData_Len(t *testing.T) {
8678 t .Run ("Empty data" , func (t * testing.T ) {
8779 t .Parallel ()
8880 d := acquireData ()
89- d .Reset () // Ensure clean state from pool
90- defer dataPool .Put (d )
91- defer d .Reset ()
81+ defer releaseData (d )
9282 length := d .Len ()
9383 require .Equal (t , 0 , length , "Expected length to be 0 for empty data" )
9484 })
@@ -97,9 +87,7 @@ func TestData_Len(t *testing.T) {
9787 t .Run ("Single key" , func (t * testing.T ) {
9888 t .Parallel ()
9989 d := acquireData ()
100- d .Reset () // Ensure clean state from pool
101- defer dataPool .Put (d )
102- defer d .Reset ()
90+ defer releaseData (d )
10391 d .Set ("key1" , "value1" )
10492 length := d .Len ()
10593 require .Equal (t , 1 , length , "Expected length to be 1 when one key is set" )
@@ -109,9 +97,7 @@ func TestData_Len(t *testing.T) {
10997 t .Run ("Multiple keys" , func (t * testing.T ) {
11098 t .Parallel ()
11199 d := acquireData ()
112- d .Reset () // Ensure clean state from pool
113- defer dataPool .Put (d )
114- defer d .Reset ()
100+ defer releaseData (d )
115101 d .Set ("key1" , "value1" )
116102 d .Set ("key2" , "value2" )
117103 d .Set ("key3" , "value3" )
@@ -123,9 +109,7 @@ func TestData_Len(t *testing.T) {
123109 t .Run ("Concurrent access" , func (t * testing.T ) {
124110 t .Parallel ()
125111 d := acquireData ()
126- d .Reset () // Ensure clean state from pool
127- defer dataPool .Put (d )
128- defer d .Reset ()
112+ defer releaseData (d )
129113 d .Set ("key1" , "value1" )
130114 d .Set ("key2" , "value2" )
131115 d .Set ("key3" , "value3" )
@@ -153,9 +137,7 @@ func TestData_Get(t *testing.T) {
153137 t .Run ("Nonexistent key" , func (t * testing.T ) {
154138 t .Parallel ()
155139 d := acquireData ()
156- d .Reset () // Ensure clean state from pool
157- defer dataPool .Put (d )
158- defer d .Reset ()
140+ defer releaseData (d )
159141 value := d .Get ("nonexistent-key" )
160142 require .Nil (t , value , "Expected nil for nonexistent key" )
161143 })
@@ -164,9 +146,7 @@ func TestData_Get(t *testing.T) {
164146 t .Run ("Existing key" , func (t * testing.T ) {
165147 t .Parallel ()
166148 d := acquireData ()
167- d .Reset () // Ensure clean state from pool
168- defer dataPool .Put (d )
169- defer d .Reset ()
149+ defer releaseData (d )
170150 d .Set ("key1" , "value1" )
171151 value := d .Get ("key1" )
172152 require .Equal (t , "value1" , value , "Expected value1 for key1" )
@@ -180,8 +160,7 @@ func TestData_Reset(t *testing.T) {
180160 t .Run ("Reset data" , func (t * testing.T ) {
181161 t .Parallel ()
182162 d := acquireData ()
183- d .Reset () // Ensure clean state from pool
184- defer dataPool .Put (d )
163+ defer releaseData (d )
185164 d .Set ("key1" , "value1" )
186165 d .Set ("key2" , "value2" )
187166 d .Reset ()
@@ -210,10 +189,8 @@ func TestData_ResetPreservesAllocation(t *testing.T) {
210189 t .Parallel ()
211190
212191 d := acquireData ()
213- d .Reset () // Ensure clean state from pool
214192 t .Cleanup (func () {
215- d .Reset ()
216- dataPool .Put (d )
193+ releaseData (d )
217194 })
218195
219196 originalPtr := lockedMapPointer (d )
@@ -237,8 +214,7 @@ func TestData_PoolReuseDoesNotLeakEntries(t *testing.T) {
237214 acquired := make ([]* data , 0 , 6 )
238215 t .Cleanup (func () {
239216 for _ , item := range acquired {
240- item .Reset ()
241- dataPool .Put (item )
217+ releaseData (item )
242218 }
243219 })
244220
@@ -248,13 +224,15 @@ func TestData_PoolReuseDoesNotLeakEntries(t *testing.T) {
248224 return d
249225 }
250226
251- first := acquireWithCleanup ()
227+ // Acquire first outside acquireWithCleanup to avoid double-put:
228+ // it is explicitly released via releaseData below.
229+ first := acquireData ()
252230 first .Set ("key1" , "value1" )
253231 first .Set ("key2" , "value2" )
254232 first .Reset ()
255233
256234 originalPtr := lockedMapPointer (first )
257- dataPool . Put (first )
235+ releaseData (first )
258236
259237 var reused * data
260238 for i := 0 ; i < 5 ; i ++ {
@@ -287,9 +265,7 @@ func TestData_Delete(t *testing.T) {
287265 t .Run ("Delete existing key" , func (t * testing.T ) {
288266 t .Parallel ()
289267 d := acquireData ()
290- d .Reset () // Ensure clean state from pool
291- defer dataPool .Put (d )
292- defer d .Reset ()
268+ defer releaseData (d )
293269 d .Set ("key1" , "value1" )
294270 d .Delete ("key1" )
295271 value := d .Get ("key1" )
@@ -300,9 +276,7 @@ func TestData_Delete(t *testing.T) {
300276 t .Run ("Delete nonexistent key" , func (t * testing.T ) {
301277 t .Parallel ()
302278 d := acquireData ()
303- d .Reset () // Ensure clean state from pool
304- defer dataPool .Put (d )
305- defer d .Reset ()
279+ defer releaseData (d )
306280 d .Delete ("nonexistent-key" )
307281 // No assertion needed, just ensure no panic or error
308282 })
0 commit comments