@@ -6,11 +6,12 @@ import (
6
6
"reflect"
7
7
"testing"
8
8
9
+ "math/rand"
10
+
9
11
"github.com/go-spatial/tegola/cache"
10
12
"github.com/go-spatial/tegola/cache/azblob"
11
13
"github.com/go-spatial/tegola/dict"
12
14
"github.com/go-spatial/tegola/internal/ttools"
13
- "math/rand"
14
15
)
15
16
16
17
const TESTENV = "RUN_AZBLOB_TESTS"
@@ -24,29 +25,31 @@ func TestNew(t *testing.T) {
24
25
err error
25
26
}
26
27
27
- fn := func (t * testing.T , tc tcase ) {
28
- t .Parallel ()
29
-
30
- c , err := azblob .New (tc .config )
31
- if err != nil {
32
- if tc .err == nil {
33
- t .Errorf ("unexpected err %v" , err )
28
+ fn := func (tc tcase ) func (* testing.T ) {
29
+ return func (t * testing.T ) {
30
+ t .Parallel ()
31
+
32
+ c , err := azblob .New (tc .config )
33
+ if err != nil {
34
+ if tc .err == nil {
35
+ t .Errorf ("unexpected err %v" , err )
36
+ return
37
+ }
38
+
39
+ if err .Error () == tc .err .Error () {
40
+ // correct error returned
41
+ return
42
+ }
43
+ t .Errorf ("unexpected err, got %v expected %v" , err , tc .err )
34
44
return
35
45
}
36
46
37
- if err .Error () == tc .err .Error () {
38
- // correct error returned
47
+ azb := c .(* azblob.Cache )
48
+
49
+ if tc .expectReadOnly != azb .ReadOnly {
50
+ t .Errorf ("unexpected (*azblob.Cache).ReadOnly value got %v expected %v" , azb .ReadOnly , tc .expectReadOnly )
39
51
return
40
52
}
41
- t .Errorf ("unexpected err, got %v expected %v" , err , tc .err )
42
- return
43
- }
44
-
45
- azb := c .(* azblob.Cache )
46
-
47
- if tc .expectReadOnly != azb .ReadOnly {
48
- t .Errorf ("unexpected (*azblob.Cache).ReadOnly value got %v expected %v" , azb .ReadOnly , tc .expectReadOnly )
49
- return
50
53
}
51
54
}
52
55
@@ -77,10 +80,7 @@ func TestNew(t *testing.T) {
77
80
}
78
81
79
82
for name , tc := range tests {
80
- tc := tc
81
- t .Run (name , func (t * testing.T ) {
82
- fn (t , tc )
83
- })
83
+ t .Run (name , fn (tc ))
84
84
}
85
85
}
86
86
@@ -93,41 +93,43 @@ func TestSetGetPurge(t *testing.T) {
93
93
expected []byte
94
94
}
95
95
96
- fn := func (t * testing.T , tc tcase ) {
96
+ fn := func (tc tcase ) func (* testing.T ) {
97
+ return func (t * testing.T ) {
97
98
98
- fc , err := azblob .New (tc .config )
99
- if err != nil {
100
- t .Errorf ("%v" , err )
101
- return
102
- }
99
+ fc , err := azblob .New (tc .config )
100
+ if err != nil {
101
+ t .Errorf ("%v" , err )
102
+ return
103
+ }
103
104
104
- // test write
105
- if err = fc .Set (& tc .key , tc .expected ); err != nil {
106
- t .Errorf ("write failed. err: %v" , err )
107
- return
108
- }
105
+ // test write
106
+ if err = fc .Set (& tc .key , tc .expected ); err != nil {
107
+ t .Errorf ("write failed. err: %v" , err )
108
+ return
109
+ }
109
110
110
- output , hit , err := fc .Get (& tc .key )
111
- if err != nil {
112
- t .Errorf ("read failed. err: %v" , err )
113
- return
114
- }
115
- if ! hit {
116
- t .Errorf ("read failed. should have been a hit but cache reported a miss" )
117
- return
118
- }
111
+ output , hit , err := fc .Get (& tc .key )
112
+ if err != nil {
113
+ t .Errorf ("read failed. err: %v" , err )
114
+ return
115
+ }
116
+ if ! hit {
117
+ t .Errorf ("read failed. should have been a hit but cache reported a miss" )
118
+ return
119
+ }
119
120
120
- if ! reflect .DeepEqual (output , tc .expected ) {
121
- t .Errorf ("expected %v got %v" , tc .expected , output )
122
- return
123
- }
121
+ if ! reflect .DeepEqual (output , tc .expected ) {
122
+ t .Errorf ("expected %v got %v" , tc .expected , output )
123
+ return
124
+ }
124
125
125
- // test purge
126
- if err = fc .Purge (& tc .key ); err != nil {
127
- t .Errorf ("purge failed. err: %v" , err )
128
- return
129
- }
126
+ // test purge
127
+ if err = fc .Purge (& tc .key ); err != nil {
128
+ t .Errorf ("purge failed. err: %v" , err )
129
+ return
130
+ }
130
131
132
+ }
131
133
}
132
134
133
135
tests := map [string ]tcase {
@@ -162,10 +164,7 @@ func TestSetGetPurge(t *testing.T) {
162
164
}
163
165
164
166
for name , tc := range tests {
165
- tc := tc
166
- t .Run (name , func (t * testing.T ) {
167
- fn (t , tc )
168
- })
167
+ t .Run (name , fn (tc ))
169
168
}
170
169
}
171
170
@@ -187,50 +186,52 @@ func TestSetOverwrite(t *testing.T) {
187
186
expected []byte
188
187
}
189
188
190
- fn := func (t * testing.T , tc tcase ) {
191
- // This test must be run in series otherwise
192
- // there is a race condition in the
193
- // initialization routine (the same test file must
194
- // be created and destroyed)
189
+ fn := func (tc tcase ) func (* testing.T ) {
190
+ return func (t * testing.T ) {
191
+ // This test must be run in series otherwise
192
+ // there is a race condition in the
193
+ // initialization routine (the same test file must
194
+ // be created and destroyed)
195
195
196
- fc , err := azblob .New (tc .config )
197
- if err != nil {
198
- t .Errorf ("%v" , err )
199
- return
200
- }
196
+ fc , err := azblob .New (tc .config )
197
+ if err != nil {
198
+ t .Errorf ("%v" , err )
199
+ return
200
+ }
201
201
202
- // test write1
203
- if err = fc .Set (& tc .key , tc .bytes1 ); err != nil {
204
- t .Errorf ("write 1 failed. err: %v" , err )
205
- return
206
- }
202
+ // test write1
203
+ if err = fc .Set (& tc .key , tc .bytes1 ); err != nil {
204
+ t .Errorf ("write 1 failed. err: %v" , err )
205
+ return
206
+ }
207
207
208
- // test write2
209
- if err = fc .Set (& tc .key , tc .bytes2 ); err != nil {
210
- t .Errorf ("write 2 failed. err: %v" , err )
211
- return
212
- }
208
+ // test write2
209
+ if err = fc .Set (& tc .key , tc .bytes2 ); err != nil {
210
+ t .Errorf ("write 2 failed. err: %v" , err )
211
+ return
212
+ }
213
213
214
- // fetch the cache entry
215
- output , hit , err := fc .Get (& tc .key )
216
- if err != nil {
217
- t .Errorf ("read failed. err: %v" , err )
218
- return
219
- }
220
- if ! hit {
221
- t .Errorf ("read failed. should have been a hit but cache reported a miss" )
222
- return
223
- }
214
+ // fetch the cache entry
215
+ output , hit , err := fc .Get (& tc .key )
216
+ if err != nil {
217
+ t .Errorf ("read failed. err: %v" , err )
218
+ return
219
+ }
220
+ if ! hit {
221
+ t .Errorf ("read failed. should have been a hit but cache reported a miss" )
222
+ return
223
+ }
224
224
225
- if ! reflect .DeepEqual (output , tc .expected ) {
226
- t .Errorf ("expected %v got %v" , tc .expected , output )
227
- return
228
- }
225
+ if ! reflect .DeepEqual (output , tc .expected ) {
226
+ t .Errorf ("expected %v got %v" , tc .expected , output )
227
+ return
228
+ }
229
229
230
- // clean up
231
- if err = fc .Purge (& tc .key ); err != nil {
232
- t .Errorf ("purge failed. err: %v" , err )
233
- return
230
+ // clean up
231
+ if err = fc .Purge (& tc .key ); err != nil {
232
+ t .Errorf ("purge failed. err: %v" , err )
233
+ return
234
+ }
234
235
}
235
236
}
236
237
@@ -253,10 +254,7 @@ func TestSetOverwrite(t *testing.T) {
253
254
}
254
255
255
256
for name , tc := range tests {
256
- tc := tc
257
- t .Run (name , func (t * testing.T ) {
258
- fn (t , tc )
259
- })
257
+ t .Run (name , fn (tc ))
260
258
}
261
259
}
262
260
@@ -270,41 +268,43 @@ func TestMaxZoom(t *testing.T) {
270
268
expectedHit bool
271
269
}
272
270
273
- fn := func (t * testing.T , tc tcase ) {
274
- // This test must be run in series otherwise
275
- // there is a race condition in the
276
- // initialization routine (the same test file must
277
- // be created and destroyed)
278
-
279
- fc , err := azblob .New (tc .config )
280
- if err != nil {
281
- t .Errorf ("error initializing %v" , err )
282
- return
283
- }
271
+ fn := func (tc tcase ) func (* testing.T ) {
272
+ return func (t * testing.T ) {
273
+ // This test must be run in series otherwise
274
+ // there is a race condition in the
275
+ // initialization routine (the same test file must
276
+ // be created and destroyed)
284
277
285
- // test set
286
- if err = fc . Set ( & tc . key , tc . bytes ); err != nil {
287
- t .Errorf ("write failed. err: %v" , err )
288
- return
289
- }
278
+ fc , err := azblob . New ( tc . config )
279
+ if err != nil {
280
+ t .Errorf ("error initializing %v" , err )
281
+ return
282
+ }
290
283
291
- // fetch the cache entry
292
- _ , hit , err := fc .Get (& tc .key )
293
- if err != nil {
294
- t .Errorf ("read failed. err: %v" , err )
295
- return
296
- }
297
- if hit != tc .expectedHit {
298
- t .Errorf ("expectedHit %v got %v" , tc .expectedHit , hit )
299
- return
300
- }
284
+ // test set
285
+ if err = fc .Set (& tc .key , tc .bytes ); err != nil {
286
+ t .Errorf ("write failed. err: %v" , err )
287
+ return
288
+ }
301
289
302
- // clean up
303
- if tc .expectedHit {
304
- if err != fc . Purge ( & tc . key ) {
305
- t .Errorf ("error cleaning %v" , err )
290
+ // fetch the cache entry
291
+ _ , hit , err := fc . Get ( & tc .key )
292
+ if err != nil {
293
+ t .Errorf ("read failed. err: %v" , err )
306
294
return
307
295
}
296
+ if hit != tc .expectedHit {
297
+ t .Errorf ("expectedHit %v got %v" , tc .expectedHit , hit )
298
+ return
299
+ }
300
+
301
+ // clean up
302
+ if tc .expectedHit {
303
+ if err != fc .Purge (& tc .key ) {
304
+ t .Errorf ("error cleaning %v" , err )
305
+ return
306
+ }
307
+ }
308
308
}
309
309
}
310
310
@@ -357,9 +357,6 @@ func TestMaxZoom(t *testing.T) {
357
357
}
358
358
359
359
for name , tc := range tests {
360
- tc := tc
361
- t .Run (name , func (t * testing.T ) {
362
- fn (t , tc )
363
- })
360
+ t .Run (name , fn (tc ))
364
361
}
365
362
}
0 commit comments