Skip to content

Commit e709771

Browse files
committed
change metadata fuzz operations as const and slice instead of map
Signed-off-by: Jin Dong <[email protected]>
1 parent a4e3218 commit e709771

File tree

1 file changed

+58
-54
lines changed

1 file changed

+58
-54
lines changed

contrib/fuzz/metadata_fuzz_test.go

Lines changed: 58 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,13 @@ func testEnv(t *testing.T) (context.Context, *bolt.DB, func(), error) {
5151

5252
func FuzzImageStore(f *testing.F) {
5353
f.Fuzz(func(t *testing.T, data []byte) {
54-
imageStoreOptions := map[int]string{
55-
0: "Create",
56-
1: "List",
57-
2: "Update",
58-
3: "Delete",
59-
}
54+
const (
55+
opCreate = "Create"
56+
opList = "List"
57+
opUpdate = "Update"
58+
opDelete = "Delete"
59+
)
60+
imageStoreOptions := []string{opCreate, opList, opUpdate, opDelete}
6061

6162
ctx, db, cancel, err := testEnv(t)
6263
if err != nil {
@@ -76,27 +77,27 @@ func FuzzImageStore(f *testing.F) {
7677
return
7778
}
7879
switch imageStoreOptions[opType%len(imageStoreOptions)] {
79-
case "Create":
80+
case opCreate:
8081
i := images.Image{}
8182
err := f.GenerateStruct(&i)
8283
if err != nil {
8384
return
8485
}
8586
_, _ = store.Create(ctx, i)
86-
case "List":
87+
case opList:
8788
newFs, err := f.GetString()
8889
if err != nil {
8990
return
9091
}
9192
_, _ = store.List(ctx, newFs)
92-
case "Update":
93+
case opUpdate:
9394
i := images.Image{}
9495
err := f.GenerateStruct(&i)
9596
if err != nil {
9697
return
9798
}
9899
_, _ = store.Update(ctx, i)
99-
case "Delete":
100+
case opDelete:
100101
name, err := f.GetString()
101102
if err != nil {
102103
return
@@ -109,14 +110,15 @@ func FuzzImageStore(f *testing.F) {
109110

110111
func FuzzLeaseManager(f *testing.F) {
111112
f.Fuzz(func(t *testing.T, data []byte) {
112-
leaseManagerOptions := map[int]string{
113-
0: "Create",
114-
1: "List",
115-
2: "AddResource",
116-
3: "Delete",
117-
4: "DeleteResource",
118-
5: "ListResources",
119-
}
113+
const (
114+
opCreate = "Create"
115+
opList = "List"
116+
opAddResource = "AddResource"
117+
opDelete = "Delete"
118+
opDeleteResource = "DeleteResource"
119+
opListResources = "ListResources"
120+
)
121+
leaseManagerOptions := []string{opCreate, opList, opAddResource, opDelete, opDeleteResource, opListResources}
120122
ctx, db, cancel, err := testEnv(t)
121123
if err != nil {
122124
return
@@ -136,7 +138,7 @@ func FuzzLeaseManager(f *testing.F) {
136138
return
137139
}
138140
switch leaseManagerOptions[opType%len(leaseManagerOptions)] {
139-
case "Create":
141+
case opCreate:
140142
err := db.Update(func(tx *bolt.Tx) error {
141143
sm := make(map[string]string)
142144
err2 := f.FuzzMap(&sm)
@@ -149,9 +151,9 @@ func FuzzLeaseManager(f *testing.F) {
149151
if err != nil {
150152
return
151153
}
152-
case "List":
154+
case opList:
153155
_, _ = lm.List(ctx)
154-
case "AddResource":
156+
case opAddResource:
155157
l := leases.Lease{}
156158
err := f.GenerateStruct(&l)
157159
if err != nil {
@@ -166,14 +168,14 @@ func FuzzLeaseManager(f *testing.F) {
166168
_ = lm.AddResource(metadata.WithTransactionContext(ctx, tx), l, r)
167169
return nil
168170
})
169-
case "Delete":
171+
case opDelete:
170172
l := leases.Lease{}
171173
err = f.GenerateStruct(&l)
172174
if err != nil {
173175
return
174176
}
175177
_ = lm.Delete(ctx, l)
176-
case "DeleteResource":
178+
case opDeleteResource:
177179
l := leases.Lease{}
178180
err := f.GenerateStruct(&l)
179181
if err != nil {
@@ -185,7 +187,7 @@ func FuzzLeaseManager(f *testing.F) {
185187
return
186188
}
187189
_ = lm.DeleteResource(ctx, l, r)
188-
case "ListResources":
190+
case opListResources:
189191
l := leases.Lease{}
190192
err := f.GenerateStruct(&l)
191193
if err != nil {
@@ -199,13 +201,14 @@ func FuzzLeaseManager(f *testing.F) {
199201

200202
func FuzzContainerStore(f *testing.F) {
201203
f.Fuzz(func(t *testing.T, data []byte) {
202-
containerStoreOptions := map[int]string{
203-
0: "Create",
204-
1: "List",
205-
2: "Delete",
206-
3: "Update",
207-
4: "Get",
208-
}
204+
const (
205+
opCreate = "Create"
206+
opList = "List"
207+
opDelete = "Delete"
208+
opUpdate = "Update"
209+
opGet = "Get"
210+
)
211+
containerStoreOptions := []string{opCreate, opList, opDelete, opUpdate, opGet}
209212
ctx, db, cancel, err := testEnv(t)
210213
if err != nil {
211214
return
@@ -226,7 +229,7 @@ func FuzzContainerStore(f *testing.F) {
226229
return
227230
}
228231
switch containerStoreOptions[opType%len(containerStoreOptions)] {
229-
case "Create":
232+
case opCreate:
230233
err := f.GenerateStruct(&c)
231234
if err != nil {
232235
return
@@ -235,25 +238,25 @@ func FuzzContainerStore(f *testing.F) {
235238
_, _ = store.Create(metadata.WithTransactionContext(ctx, tx), c)
236239
return nil
237240
})
238-
case "List":
241+
case opList:
239242
filt, err := f.GetString()
240243
if err != nil {
241244
return
242245
}
243246
_, _ = store.List(ctx, filt)
244-
case "Delete":
247+
case opDelete:
245248
id, err := f.GetString()
246249
if err != nil {
247250
return
248251
}
249252
_ = store.Delete(ctx, id)
250-
case "Update":
253+
case opUpdate:
251254
fieldpaths, err := f.GetString()
252255
if err != nil {
253256
return
254257
}
255258
_, _ = store.Update(ctx, c, fieldpaths)
256-
case "Get":
259+
case opGet:
257260
id, err := f.GetString()
258261
if err != nil {
259262
return
@@ -322,16 +325,17 @@ func testDB(t *testing.T, opt ...testOpt) (context.Context, *metadata.DB, func()
322325

323326
func FuzzContentStore(f *testing.F) {
324327
f.Fuzz(func(t *testing.T, data []byte) {
325-
contentStoreOptions := map[int]string{
326-
0: "Info",
327-
1: "Update",
328-
2: "Walk",
329-
3: "Delete",
330-
4: "ListStatuses",
331-
5: "Status",
332-
6: "Abort",
333-
7: "Commit",
334-
}
328+
const (
329+
opInfo = "Info"
330+
opUpdate = "Update"
331+
opWalk = "Walk"
332+
opDelete = "Delete"
333+
opListStatuses = "ListStatuses"
334+
opStatus = "Status"
335+
opAbort = "Abort"
336+
opCommit = "Commit"
337+
)
338+
contentStoreOptions := []string{opInfo, opUpdate, opWalk, opDelete, opListStatuses, opStatus, opAbort, opCommit}
335339
ctx, db, cancel, err := testDB(t)
336340
defer cancel()
337341
if err != nil {
@@ -351,7 +355,7 @@ func FuzzContentStore(f *testing.F) {
351355
return
352356
}
353357
switch contentStoreOptions[opType%len(contentStoreOptions)] {
354-
case "Info":
358+
case opInfo:
355359
blob, err := f.GetBytes()
356360
if err != nil {
357361
return
@@ -362,19 +366,19 @@ func FuzzContentStore(f *testing.F) {
362366
return
363367
}
364368
_, _ = cs.Info(ctx, dgst)
365-
case "Update":
369+
case opUpdate:
366370
info := content.Info{}
367371
err = f.GenerateStruct(&info)
368372
if err != nil {
369373
return
370374
}
371375
_, _ = cs.Update(ctx, info)
372-
case "Walk":
376+
case opWalk:
373377
walkFn := func(info content.Info) error {
374378
return nil
375379
}
376380
_ = cs.Walk(ctx, walkFn)
377-
case "Delete":
381+
case opDelete:
378382
blob, err := f.GetBytes()
379383
if err != nil {
380384
return
@@ -385,21 +389,21 @@ func FuzzContentStore(f *testing.F) {
385389
return
386390
}
387391
_ = cs.Delete(ctx, dgst)
388-
case "ListStatuses":
392+
case opListStatuses:
389393
_, _ = cs.ListStatuses(ctx)
390-
case "Status":
394+
case opStatus:
391395
ref, err := f.GetString()
392396
if err != nil {
393397
return
394398
}
395399
_, _ = cs.Status(ctx, ref)
396-
case "Abort":
400+
case opAbort:
397401
ref, err := f.GetString()
398402
if err != nil {
399403
return
400404
}
401405
_ = cs.Abort(ctx, ref)
402-
case "Commit":
406+
case opCommit:
403407
desc := ocispec.Descriptor{}
404408
err = f.GenerateStruct(&desc)
405409
if err != nil {

0 commit comments

Comments
 (0)