1[
2    {
3        "id": "9784",
4        "name": "Add valid sample action with mandatory arguments",
5        "category": [
6            "actions",
7            "sample"
8        ],
9        "setup": [
10            [
11                "$TC actions flush action sample",
12                0,
13                1,
14                255
15            ]
16        ],
17        "cmdUnderTest": "$TC actions add action sample rate 10 group 1 index 2",
18        "expExitCode": "0",
19        "verifyCmd": "$TC actions get action sample index 2",
20        "matchPattern": "action order [0-9]+: sample rate 1/10 group 1.*index 2 ref",
21        "matchCount": "1",
22        "teardown": [
23            "$TC actions flush action sample"
24        ]
25    },
26    {
27        "id": "5c91",
28        "name": "Add valid sample action with mandatory arguments and continue control action",
29        "category": [
30            "actions",
31            "sample"
32        ],
33        "setup": [
34            [
35                "$TC actions flush action sample",
36                0,
37                1,
38                255
39            ]
40        ],
41        "cmdUnderTest": "$TC actions add action sample rate 700 group 2 continue index 2",
42        "expExitCode": "0",
43        "verifyCmd": "$TC actions get action sample index 2",
44        "matchPattern": "action order [0-9]+: sample rate 1/700 group 2 continue.*index 2 ref",
45        "matchCount": "1",
46        "teardown": [
47            "$TC actions flush action sample"
48        ]
49    },
50    {
51        "id": "334b",
52        "name": "Add valid sample action with mandatory arguments and drop control action",
53        "category": [
54            "actions",
55            "sample"
56        ],
57        "setup": [
58            [
59                "$TC actions flush action sample",
60                0,
61                1,
62                255
63            ]
64        ],
65        "cmdUnderTest": "$TC actions add action sample rate 10000 group 11 drop index 22",
66        "expExitCode": "0",
67        "verifyCmd": "$TC actions list action sample",
68        "matchPattern": "action order [0-9]+: sample rate 1/10000 group 11 drop.*index 22 ref",
69        "matchCount": "1",
70        "teardown": [
71            "$TC actions flush action sample"
72        ]
73    },
74    {
75        "id": "da69",
76        "name": "Add valid sample action with mandatory arguments and reclassify control action",
77        "category": [
78            "actions",
79            "sample"
80        ],
81        "setup": [
82            [
83                "$TC actions flush action sample",
84                0,
85                1,
86                255
87            ]
88        ],
89        "cmdUnderTest": "$TC actions add action sample rate 20000 group 72 reclassify index 100",
90        "expExitCode": "0",
91        "verifyCmd": "$TC actions list action sample",
92        "matchPattern": "action order [0-9]+: sample rate 1/20000 group 72 reclassify.*index 100 ref",
93        "matchCount": "1",
94        "teardown": [
95            "$TC actions flush action sample"
96        ]
97    },
98    {
99        "id": "13ce",
100        "name": "Add valid sample action with mandatory arguments and pipe control action",
101        "category": [
102            "actions",
103            "sample"
104        ],
105        "setup": [
106            [
107                "$TC actions flush action sample",
108                0,
109                1,
110                255
111            ]
112        ],
113        "cmdUnderTest": "$TC actions add action sample rate 20 group 2 pipe index 100",
114        "expExitCode": "0",
115        "verifyCmd": "$TC actions list action sample",
116        "matchPattern": "action order [0-9]+: sample rate 1/20 group 2 pipe.*index 100 ref",
117        "matchCount": "1",
118        "teardown": [
119            "$TC actions flush action sample"
120        ]
121    },
122    {
123        "id": "1886",
124        "name": "Add valid sample action with mandatory arguments and jump control action",
125        "category": [
126            "actions",
127            "sample"
128        ],
129        "setup": [
130            [
131                "$TC actions flush action sample",
132                0,
133                1,
134                255
135            ]
136        ],
137        "cmdUnderTest": "$TC actions add action sample rate 700 group 25 jump 4 index 200",
138        "expExitCode": "0",
139        "verifyCmd": "$TC actions get action sample index 200",
140        "matchPattern": "action order [0-9]+: sample rate 1/700 group 25 jump 4.*index 200 ref",
141        "matchCount": "1",
142        "teardown": [
143            "$TC actions flush action sample"
144        ]
145    },
146    {
147        "id": "7571",
148        "name": "Add sample action with invalid rate",
149        "category": [
150            "actions",
151            "sample"
152        ],
153        "setup": [
154            [
155                "$TC actions flush action sample",
156                0,
157                1,
158                255
159            ]
160        ],
161        "cmdUnderTest": "$TC actions add action sample rate 0 group 1 index 2",
162        "expExitCode": "255",
163        "verifyCmd": "$TC actions get action sample index 2",
164        "matchPattern": "action order [0-9]+: sample rate 1/0 group 1.*index 2 ref",
165        "matchCount": "0",
166        "teardown": [
167            "$TC actions flush action sample"
168        ]
169    },
170    {
171        "id": "b6d4",
172        "name": "Add sample action with mandatory arguments and invalid control action",
173        "category": [
174            "actions",
175            "sample"
176        ],
177        "setup": [
178            [
179                "$TC actions flush action sample",
180                0,
181                1,
182                255
183            ]
184        ],
185        "cmdUnderTest": "$TC actions add action sample rate 200000 group 52 foo index 1",
186        "expExitCode": "255",
187        "verifyCmd": "$TC actions list action sample",
188        "matchPattern": "action order [0-9]+: sample rate 1/200000 group 52 foo.*index 1 ref",
189        "matchCount": "0",
190        "teardown": []
191    },
192    {
193        "id": "a874",
194        "name": "Add invalid sample action without mandatory arguments",
195        "category": [
196            "actions",
197            "sample"
198        ],
199        "setup": [
200            [
201                "$TC actions flush action sample",
202                0,
203                1,
204                255
205            ]
206        ],
207        "cmdUnderTest": "$TC actions add action sample index 1",
208        "expExitCode": "255",
209        "verifyCmd": "$TC actions list action sample",
210        "matchPattern": "action order [0-9]+: sample.*index 1 ref",
211        "matchCount": "0",
212        "teardown": []
213    },
214    {
215        "id": "ac01",
216        "name": "Add invalid sample action without mandatory argument rate",
217        "category": [
218            "actions",
219            "sample"
220        ],
221        "setup": [
222            [
223                "$TC actions flush action sample",
224                0,
225                1,
226                255
227            ]
228        ],
229        "cmdUnderTest": "$TC actions add action sample group 10 index 1",
230        "expExitCode": "255",
231        "verifyCmd": "$TC actions list action sample",
232        "matchPattern": "action order [0-9]+: sample.*group 10.*index 1 ref",
233        "matchCount": "0",
234        "teardown": []
235    },
236    {
237        "id": "4203",
238        "name": "Add invalid sample action without mandatory argument group",
239        "category": [
240            "actions",
241            "sample"
242        ],
243        "setup": [
244            [
245                "$TC actions flush action sample",
246                0,
247                1,
248                255
249            ]
250        ],
251        "cmdUnderTest": "$TC actions add action sample rate 100 index 10",
252        "expExitCode": "255",
253        "verifyCmd": "$TC actions get action sample index 10",
254        "matchPattern": "action order [0-9]+: sample rate 1/100.*index 10 ref",
255        "matchCount": "0",
256        "teardown": []
257    },
258    {
259        "id": "14a7",
260        "name": "Add invalid sample action without mandatory argument group",
261        "category": [
262            "actions",
263            "sample"
264        ],
265        "setup": [
266            [
267                "$TC actions flush action sample",
268                0,
269                1,
270                255
271            ]
272        ],
273        "cmdUnderTest": "$TC actions add action sample rate 100 index 10",
274        "expExitCode": "255",
275        "verifyCmd": "$TC actions get action sample index 10",
276        "matchPattern": "action order [0-9]+: sample rate 1/100.*index 10 ref",
277        "matchCount": "0",
278        "teardown": []
279    },
280    {
281        "id": "8f2e",
282        "name": "Add valid sample action with trunc argument",
283        "category": [
284            "actions",
285            "sample"
286        ],
287        "setup": [
288            [
289                "$TC actions flush action sample",
290                0,
291                1,
292                255
293            ]
294        ],
295        "cmdUnderTest": "$TC actions add action sample rate 1024 group 4 trunc 1024 index 10",
296        "expExitCode": "0",
297        "verifyCmd": "$TC actions get action sample index 10",
298        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 trunc_size 1024 pipe.*index 10 ref",
299        "matchCount": "1",
300        "teardown": [
301            "$TC actions flush action sample"
302        ]
303    },
304    {
305        "id": "45f8",
306        "name": "Add sample action with maximum rate argument",
307        "category": [
308            "actions",
309            "sample"
310        ],
311        "setup": [
312            [
313                "$TC actions flush action sample",
314                0,
315                1,
316                255
317            ]
318        ],
319        "cmdUnderTest": "$TC actions add action sample rate 4294967295 group 4 index 10",
320        "expExitCode": "0",
321        "verifyCmd": "$TC actions get action sample index 10",
322        "matchPattern": "action order [0-9]+: sample rate 1/4294967295 group 4 pipe.*index 10 ref",
323        "matchCount": "1",
324        "teardown": [
325            "$TC actions flush action sample"
326        ]
327    },
328    {
329        "id": "ad0c",
330        "name": "Add sample action with maximum trunc argument",
331        "category": [
332            "actions",
333            "sample"
334        ],
335        "setup": [
336            [
337                "$TC actions flush action sample",
338                0,
339                1,
340                255
341            ]
342        ],
343        "cmdUnderTest": "$TC actions add action sample rate 16000 group 4 trunc 4294967295 index 10",
344        "expExitCode": "0",
345        "verifyCmd": "$TC actions get action sample index 10",
346        "matchPattern": "action order [0-9]+: sample rate 1/16000 group 4 trunc_size 4294967295 pipe.*index 10 ref",
347        "matchCount": "1",
348        "teardown": [
349            "$TC actions flush action sample"
350        ]
351    },
352    {
353        "id": "83a9",
354        "name": "Add sample action with maximum group argument",
355        "category": [
356            "actions",
357            "sample"
358        ],
359        "setup": [
360            [
361                "$TC actions flush action sample",
362                0,
363                1,
364                255
365            ]
366        ],
367        "cmdUnderTest": "$TC actions add action sample rate 4294 group 4294967295 index 1",
368        "expExitCode": "0",
369        "verifyCmd": "$TC actions get action sample index 1",
370        "matchPattern": "action order [0-9]+: sample rate 1/4294 group 4294967295 pipe.*index 1 ref",
371        "matchCount": "1",
372        "teardown": [
373            "$TC actions flush action sample"
374        ]
375    },
376    {
377        "id": "ed27",
378        "name": "Add sample action with invalid rate argument",
379        "category": [
380            "actions",
381            "sample"
382        ],
383        "setup": [
384            [
385                "$TC actions flush action sample",
386                0,
387                1,
388                255
389            ]
390        ],
391        "cmdUnderTest": "$TC actions add action sample rate 4294967296 group 4 index 10",
392        "expExitCode": "255",
393        "verifyCmd": "$TC actions get action sample index 10",
394        "matchPattern": "action order [0-9]+: sample rate 1/4294967296 group 4 pipe.*index 10 ref",
395        "matchCount": "0",
396        "teardown": []
397    },
398    {
399        "id": "2eae",
400        "name": "Add sample action with invalid group argument",
401        "category": [
402            "actions",
403            "sample"
404        ],
405        "setup": [
406            [
407                "$TC actions flush action sample",
408                0,
409                1,
410                255
411            ]
412        ],
413        "cmdUnderTest": "$TC actions add action sample rate 4098 group 5294967299 continue index 1",
414        "expExitCode": "255",
415        "verifyCmd": "$TC actions get action sample index 1",
416        "matchPattern": "action order [0-9]+: sample rate 1/4098 group 5294967299 continue.*index 1 ref",
417        "matchCount": "0",
418        "teardown": []
419    },
420    {
421        "id": "6ff3",
422        "name": "Add sample action with invalid trunc size",
423        "category": [
424            "actions",
425            "sample"
426        ],
427        "setup": [
428            [
429                "$TC actions flush action sample",
430                0,
431                1,
432                255
433            ]
434        ],
435        "cmdUnderTest": "$TC actions add action sample rate 1024 group 4 trunc 112233445566 index 11",
436        "expExitCode": "255",
437        "verifyCmd": "$TC actions get action sample index 11",
438        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 trunc_size 112233445566.*index 11 ref",
439        "matchCount": "0",
440        "teardown": []
441    },
442    {
443        "id": "2b2a",
444        "name": "Add sample action with invalid index",
445        "category": [
446            "actions",
447            "sample"
448        ],
449        "setup": [
450            [
451                "$TC actions flush action sample",
452                0,
453                1,
454                255
455            ]
456        ],
457        "cmdUnderTest": "$TC actions add action sample rate 1024 group 4 index 5294967299",
458        "expExitCode": "255",
459        "verifyCmd": "$TC actions get action sample index 5294967299",
460        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 pipe.*index 5294967299 ref",
461        "matchCount": "0",
462        "teardown": []
463    },
464    {
465        "id": "dee2",
466        "name": "Add sample action with maximum allowed index",
467        "category": [
468            "actions",
469            "sample"
470        ],
471        "setup": [
472            [
473                "$TC actions flush action sample",
474                0,
475                1,
476                255
477            ]
478        ],
479        "cmdUnderTest": "$TC actions add action sample rate 1024 group 4 index 4294967295",
480        "expExitCode": "0",
481        "verifyCmd": "$TC actions get action sample index 4294967295",
482        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 pipe.*index 4294967295 ref",
483        "matchCount": "1",
484        "teardown": [
485            "$TC actions flush action sample"
486        ]
487    },
488    {
489        "id": "560e",
490        "name": "Add sample action with cookie",
491        "category": [
492            "actions",
493            "sample"
494        ],
495        "setup": [
496            [
497                "$TC actions flush action sample",
498                0,
499                1,
500                255
501            ]
502        ],
503        "cmdUnderTest": "$TC actions add action sample rate 1024 group 4 index 45 cookie aabbccdd",
504        "expExitCode": "0",
505        "verifyCmd": "$TC actions get action sample index 45",
506        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 pipe.*index 45.*cookie aabbccdd",
507        "matchCount": "1",
508        "teardown": [
509            "$TC actions flush action sample"
510        ]
511    },
512    {
513        "id": "704a",
514        "name": "Replace existing sample action with new rate argument",
515        "category": [
516            "actions",
517            "sample"
518        ],
519        "setup": [
520            [
521                "$TC actions flush action sample",
522                0,
523                1,
524                255
525            ],
526            "$TC actions add action sample rate 1024 group 4 index 4"
527        ],
528        "cmdUnderTest": "$TC actions replace action sample rate 2048 group 4 index 4",
529        "expExitCode": "0",
530        "verifyCmd": "$TC actions list action sample",
531        "matchPattern": "action order [0-9]+: sample rate 1/2048 group 4 pipe.*index 4",
532        "matchCount": "1",
533        "teardown": [
534            "$TC actions flush action sample"
535        ]
536    },
537    {
538        "id": "60eb",
539        "name": "Replace existing sample action with new group argument",
540        "category": [
541            "actions",
542            "sample"
543        ],
544        "setup": [
545            [
546                "$TC actions flush action sample",
547                0,
548                1,
549                255
550            ],
551            "$TC actions add action sample rate 1024 group 4 index 4"
552        ],
553        "cmdUnderTest": "$TC actions replace action sample rate 1024 group 7 index 4",
554        "expExitCode": "0",
555        "verifyCmd": "$TC actions list action sample",
556        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 7 pipe.*index 4",
557        "matchCount": "1",
558        "teardown": [
559            "$TC actions flush action sample"
560        ]
561    },
562    {
563        "id": "2cce",
564        "name": "Replace existing sample action with new trunc argument",
565        "category": [
566            "actions",
567            "sample"
568        ],
569        "setup": [
570            [
571                "$TC actions flush action sample",
572                0,
573                1,
574                255
575            ],
576            "$TC actions add action sample rate 1024 group 4 trunc 48 index 4"
577        ],
578        "cmdUnderTest": "$TC actions replace action sample rate 1024 group 7 trunc 64 index 4",
579        "expExitCode": "0",
580        "verifyCmd": "$TC actions list action sample",
581        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 7 trunc_size 64 pipe.*index 4",
582        "matchCount": "1",
583        "teardown": [
584            "$TC actions flush action sample"
585        ]
586    },
587    {
588        "id": "59d1",
589        "name": "Replace existing sample action with new control argument",
590        "category": [
591            "actions",
592            "sample"
593        ],
594        "setup": [
595            [
596                "$TC actions flush action sample",
597                0,
598                1,
599                255
600            ],
601            "$TC actions add action sample rate 1024 group 4 reclassify index 4"
602        ],
603        "cmdUnderTest": "$TC actions replace action sample rate 1024 group 7 pipe index 4",
604        "expExitCode": "0",
605        "verifyCmd": "$TC actions list action sample",
606        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 7 pipe.*index 4",
607        "matchCount": "1",
608        "teardown": [
609            "$TC actions flush action sample"
610        ]
611    },
612    {
613        "id": "0a6e",
614        "name": "Replace sample action with invalid goto chain control",
615        "category": [
616            "actions",
617            "sample"
618        ],
619        "setup": [
620            [
621                "$TC actions flush action sample",
622                0,
623                1,
624                255
625            ],
626            "$TC actions add action sample rate 1024 group 4 pass index 90"
627        ],
628        "cmdUnderTest": "$TC actions replace action sample rate 1024 group 7 goto chain 42 index 90 cookie c1a0c1a0",
629        "expExitCode": "255",
630        "verifyCmd": "$TC actions list action sample",
631        "matchPattern": "action order [0-9]+: sample rate 1/1024 group 4 pass.*index 90",
632        "matchCount": "1",
633        "teardown": [
634            "$TC actions flush action sample"
635        ]
636    },
637    {
638        "id": "3872",
639        "name": "Delete sample action with valid index",
640        "category": [
641            "actions",
642            "sample"
643        ],
644        "setup": [
645            [
646                "$TC actions flush action sample",
647                0,
648                1,
649                255
650            ],
651	    "$TC actions add action sample rate 10 group 1 index 20"
652        ],
653        "cmdUnderTest": "$TC actions del action sample index 20",
654        "expExitCode": "0",
655        "verifyCmd": "$TC actions get action sample index 20",
656        "matchPattern": "action order [0-9]+: sample rate 1/10 group 1.*index 20 ref",
657        "matchCount": "0",
658        "teardown": [
659            "$TC actions flush action sample"
660        ]
661    },
662    {
663        "id": "a394",
664        "name": "Delete sample action with invalid index",
665        "category": [
666            "actions",
667            "sample"
668        ],
669        "setup": [
670            [
671                "$TC actions flush action sample",
672                0,
673                1,
674                255
675            ],
676            "$TC actions add action sample rate 10 group 1 index 20"
677        ],
678        "cmdUnderTest": "$TC actions del action sample index 10",
679        "expExitCode": "255",
680        "verifyCmd": "$TC actions get action sample index 20",
681        "matchPattern": "action order [0-9]+: sample rate 1/10 group 1.*index 20 ref",
682        "matchCount": "1",
683        "teardown": [
684            "$TC actions flush action sample"
685        ]
686    }
687]
688