@@ -25,7 +25,7 @@ func TestReadManifest(t *testing.T) {
25
25
defer mf .Close ()
26
26
got , _ , err := readManifest (mf )
27
27
if err != nil {
28
- t .Fatalf ("Should have read Manifest correctly, but got err %q" , err )
28
+ t .Fatalf ("should have read manifest correctly, but got err %q" , err )
29
29
}
30
30
31
31
c , _ := gps .NewSemverConstraint ("^0.12.0" )
@@ -80,7 +80,7 @@ func TestWriteManifest(t *testing.T) {
80
80
81
81
got , err := m .MarshalTOML ()
82
82
if err != nil {
83
- t .Fatalf ("Error while marshaling valid manifest to TOML: %q" , err )
83
+ t .Fatalf ("error while marshaling valid manifest to TOML: %q" , err )
84
84
}
85
85
86
86
if string (got ) != want {
@@ -89,7 +89,7 @@ func TestWriteManifest(t *testing.T) {
89
89
t .Fatal (err )
90
90
}
91
91
} else {
92
- t .Errorf ("Valid manifest did not marshal to TOML as expected:\n \t (GOT): %s\n \t (WNT): %s" , string (got ), want )
92
+ t .Errorf ("valid manifest did not marshal to TOML as expected:\n \t (GOT): %s\n \t (WNT): %s" , string (got ), want )
93
93
}
94
94
}
95
95
}
@@ -113,48 +113,54 @@ func TestReadManifestErrors(t *testing.T) {
113
113
defer mf .Close ()
114
114
_ , _ , err = readManifest (mf )
115
115
if err == nil {
116
- t .Errorf ("Reading manifest with %s should have caused error, but did not" , tst .name )
116
+ t .Errorf ("reading manifest with %s should have caused error, but did not" , tst .name )
117
117
} else if ! strings .Contains (err .Error (), tst .name ) {
118
- t .Errorf ("Unexpected error %q; expected %s error" , err , tst .name )
118
+ t .Errorf ("unexpected error %q; expected %s error" , err , tst .name )
119
119
}
120
120
}
121
121
}
122
122
123
123
func TestValidateManifest (t * testing.T ) {
124
124
cases := []struct {
125
+ name string
125
126
tomlString string
126
127
wantWarn []error
127
128
wantError error
128
129
}{
129
130
{
131
+ name : "valid required" ,
130
132
tomlString : `
131
133
required = ["github.com/foo/bar"]
132
134
` ,
133
135
wantWarn : []error {},
134
136
wantError : nil ,
135
137
},
136
138
{
139
+ name : "invalid required" ,
137
140
tomlString : `
138
141
required = "github.com/foo/bar"
139
142
` ,
140
143
wantWarn : []error {},
141
144
wantError : errInvalidRequired ,
142
145
},
143
146
{
147
+ name : "empty required" ,
144
148
tomlString : `
145
149
required = []
146
150
` ,
147
151
wantWarn : []error {},
148
152
wantError : nil ,
149
153
},
150
154
{
155
+ name : "invalid required list" ,
151
156
tomlString : `
152
157
required = [1, 2, 3]
153
158
` ,
154
159
wantWarn : []error {},
155
160
wantError : errInvalidRequired ,
156
161
},
157
162
{
163
+ name : "invalid required format" ,
158
164
tomlString : `
159
165
[[required]]
160
166
name = "foo"
@@ -163,34 +169,39 @@ func TestValidateManifest(t *testing.T) {
163
169
wantError : errInvalidRequired ,
164
170
},
165
171
{
172
+ name : "valid ignored" ,
166
173
tomlString : `
167
174
ignored = ["foo"]
168
175
` ,
169
176
wantWarn : []error {},
170
177
wantError : nil ,
171
178
},
172
179
{
180
+ name : "invalid ignored" ,
173
181
tomlString : `
174
182
ignored = "foo"
175
183
` ,
176
184
wantWarn : []error {},
177
185
wantError : errInvalidIgnored ,
178
186
},
179
187
{
188
+ name : "empty ignored" ,
180
189
tomlString : `
181
190
ignored = []
182
191
` ,
183
192
wantWarn : []error {},
184
193
wantError : nil ,
185
194
},
186
195
{
196
+ name : "invalid ignored list" ,
187
197
tomlString : `
188
198
ignored = [1, 2, 3]
189
199
` ,
190
200
wantWarn : []error {},
191
201
wantError : errInvalidIgnored ,
192
202
},
193
203
{
204
+ name : "invalid ignored format" ,
194
205
tomlString : `
195
206
[[ignored]]
196
207
name = "foo"
@@ -199,6 +210,7 @@ func TestValidateManifest(t *testing.T) {
199
210
wantError : errInvalidIgnored ,
200
211
},
201
212
{
213
+ name : "valid metadata" ,
202
214
tomlString : `
203
215
[metadata]
204
216
authors = "foo"
@@ -208,6 +220,7 @@ func TestValidateManifest(t *testing.T) {
208
220
wantError : nil ,
209
221
},
210
222
{
223
+ name : "invalid metadata" ,
211
224
tomlString : `
212
225
foo = "some-value"
213
226
version = 14
@@ -220,13 +233,14 @@ func TestValidateManifest(t *testing.T) {
220
233
version = ""
221
234
` ,
222
235
wantWarn : []error {
223
- errors .New ("Unknown field in manifest: foo" ),
224
- errors .New ("Unknown field in manifest: bar" ),
225
- errors .New ("Unknown field in manifest: version" ),
236
+ errors .New ("unknown field in manifest: foo" ),
237
+ errors .New ("unknown field in manifest: bar" ),
238
+ errors .New ("unknown field in manifest: version" ),
226
239
},
227
240
wantError : nil ,
228
241
},
229
242
{
243
+ name : "invalid metadata format" ,
230
244
tomlString : `
231
245
metadata = "project-name"
232
246
@@ -237,6 +251,7 @@ func TestValidateManifest(t *testing.T) {
237
251
wantError : nil ,
238
252
},
239
253
{
254
+ name : "plain constraint" ,
240
255
tomlString : `
241
256
[[constraint]]
242
257
name = "github.com/foo/bar"
@@ -245,27 +260,31 @@ func TestValidateManifest(t *testing.T) {
245
260
wantError : nil ,
246
261
},
247
262
{
263
+ name : "empty constraint" ,
248
264
tomlString : `
249
265
[[constraint]]
250
266
` ,
251
267
wantWarn : []error {},
252
268
wantError : nil ,
253
269
},
254
270
{
271
+ name : "invalid constraint" ,
255
272
tomlString : `
256
273
constraint = "foo"
257
274
` ,
258
275
wantWarn : []error {},
259
276
wantError : errInvalidConstraint ,
260
277
},
261
278
{
279
+ name : "invalid constraint list" ,
262
280
tomlString : `
263
281
constraint = ["foo", "bar"]
264
282
` ,
265
283
wantWarn : []error {},
266
284
wantError : errInvalidConstraint ,
267
285
},
268
286
{
287
+ name : "valid override" ,
269
288
tomlString : `
270
289
[[override]]
271
290
name = "github.com/foo/bar"
@@ -274,27 +293,31 @@ func TestValidateManifest(t *testing.T) {
274
293
wantError : nil ,
275
294
},
276
295
{
296
+ name : "empty override" ,
277
297
tomlString : `
278
298
[[override]]
279
299
` ,
280
300
wantWarn : []error {},
281
301
wantError : nil ,
282
302
},
283
303
{
304
+ name : "invalid override" ,
284
305
tomlString : `
285
306
override = "bar"
286
307
` ,
287
308
wantWarn : []error {},
288
309
wantError : errInvalidOverride ,
289
310
},
290
311
{
312
+ name : "invalid override list" ,
291
313
tomlString : `
292
314
override = ["foo", "bar"]
293
315
` ,
294
316
wantWarn : []error {},
295
317
wantError : errInvalidOverride ,
296
318
},
297
319
{
320
+ name : "invalid fields" ,
298
321
tomlString : `
299
322
[[constraint]]
300
323
name = "github.com/foo/bar"
@@ -306,14 +329,15 @@ func TestValidateManifest(t *testing.T) {
306
329
nick = "foo"
307
330
` ,
308
331
wantWarn : []error {
309
- errors .New ("Invalid key \" location\" in \" constraint\" " ),
310
- errors .New ("Invalid key \" link\" in \" constraint\" " ),
311
- errors .New ("Invalid key \" nick\" in \" override\" " ),
332
+ errors .New ("invalid key \" location\" in \" constraint\" " ),
333
+ errors .New ("invalid key \" link\" in \" constraint\" " ),
334
+ errors .New ("invalid key \" nick\" in \" override\" " ),
312
335
errors .New ("metadata in \" constraint\" should be a TOML table" ),
313
336
},
314
337
wantError : nil ,
315
338
},
316
339
{
340
+ name : "constraint metadata" ,
317
341
tomlString : `
318
342
[[constraint]]
319
343
name = "github.com/foo/bar"
@@ -325,6 +349,7 @@ func TestValidateManifest(t *testing.T) {
325
349
wantError : nil ,
326
350
},
327
351
{
352
+ name : "invalid revision" ,
328
353
tomlString : `
329
354
[[constraint]]
330
355
name = "github.com/foo/bar"
@@ -334,6 +359,7 @@ func TestValidateManifest(t *testing.T) {
334
359
wantError : nil ,
335
360
},
336
361
{
362
+ name : "invalid hg revision" ,
337
363
tomlString : `
338
364
[[constraint]]
339
365
name = "foobar.com/hg"
@@ -355,24 +381,26 @@ func TestValidateManifest(t *testing.T) {
355
381
}
356
382
357
383
for _ , c := range cases {
358
- errs , err := validateManifest (c .tomlString )
384
+ t .Run (c .name , func (t * testing.T ) {
385
+ errs , err := validateManifest (c .tomlString )
359
386
360
- // compare validation errors
361
- if err != c .wantError {
362
- t .Fatalf ("Manifest errors are not as expected: \n \t (GOT) %v \n \t (WNT) %v" , err , c .wantError )
363
- }
387
+ // compare validation errors
388
+ if err != c .wantError {
389
+ t .Fatalf ("manifest errors are not as expected: \n \t (GOT) %v \n \t (WNT) %v" , err , c .wantError )
390
+ }
364
391
365
- // compare length of error slice
366
- if len (errs ) != len (c .wantWarn ) {
367
- t .Fatalf ("Number of manifest errors are not as expected: \n \t (GOT) %v errors(%v)\n \t (WNT) %v errors(%v)." , len (errs ), errs , len (c .wantWarn ), c .wantWarn )
368
- }
392
+ // compare length of error slice
393
+ if len (errs ) != len (c .wantWarn ) {
394
+ t .Fatalf ("number of manifest errors are not as expected: \n \t (GOT) %v errors(%v)\n \t (WNT) %v errors(%v)." , len (errs ), errs , len (c .wantWarn ), c .wantWarn )
395
+ }
369
396
370
- // check if the expected errors exist in actual errors slice
371
- for _ , er := range errs {
372
- if ! contains (c .wantWarn , er ) {
373
- t .Fatalf ("Manifest errors are not as expected: \n \t (MISSING) %v\n \t (FROM) %v" , er , c .wantWarn )
397
+ // check if the expected errors exist in actual errors slice
398
+ for _ , er := range errs {
399
+ if ! contains (c .wantWarn , er ) {
400
+ t .Fatalf ("manifest errors are not as expected: \n \t (MISSING) %v\n \t (FROM) %v" , er , c .wantWarn )
401
+ }
374
402
}
375
- }
403
+ })
376
404
}
377
405
}
378
406
@@ -470,13 +498,13 @@ func TestValidateProjectRoots(t *testing.T) {
470
498
stderrOutput .Reset ()
471
499
err := ValidateProjectRoots (ctx , & c .manifest , sm )
472
500
if err != c .wantError {
473
- t .Fatalf ("Unexpected error while validating project roots:\n \t (GOT): %v\n \t (WNT): %v" , err , c .wantError )
501
+ t .Fatalf ("unexpected error while validating project roots:\n \t (GOT): %v\n \t (WNT): %v" , err , c .wantError )
474
502
}
475
503
476
504
warnings := stderrOutput .String ()
477
505
for _ , warn := range c .wantWarn {
478
506
if ! strings .Contains (warnings , warn ) {
479
- t .Fatalf ("Expected ValidateProjectRoot errors to contain: %q" , warn )
507
+ t .Fatalf ("expected ValidateProjectRoot errors to contain: %q" , warn )
480
508
}
481
509
}
482
510
})
0 commit comments