Merge branch 'tc-testing-updates'

Lucas Bates says:

====================
tc-testing: Test suite updates

This patch series is a roundup of changes to the tc-testing
suite:

 - Add test cases for police and mirred modules and some coverage
   in already-submitted test categories
 - Break the test case files down into more user-friendly sizes
 - Bug fix to the tdc.py script's handling of the -l argument

v2: fix the lack of final newlines in two new files (thanks David)
====================

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2017-10-14 18:47:53 -07:00
commit ae0783b1bf
9 changed files with 2097 additions and 1169 deletions

View File

@ -0,0 +1,469 @@
[
{
"id": "e89a",
"name": "Add valid pass action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action pass index 8",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action pass.*index 8 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "a02c",
"name": "Add valid pipe action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action pipe index 6",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action pipe.*index 6 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "feef",
"name": "Add valid reclassify action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action reclassify index 5",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action reclassify.*index 5 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "8a7a",
"name": "Add valid drop action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action drop index 30",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action drop.*index 30 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "9a52",
"name": "Add valid continue action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action continue index 432",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action continue.*index 432 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "d700",
"name": "Add invalid action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action pump index 386",
"expExitCode": "255",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action.*index 386 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "9215",
"name": "Add action with duplicate index",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action pipe index 15"
],
"cmdUnderTest": "$TC actions add action drop index 15",
"expExitCode": "255",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action drop.*index 15 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "798e",
"name": "Add action with index exceeding 32-bit maximum",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action drop index 4294967296",
"expExitCode": "255",
"verifyCmd": "actions list action gact",
"matchPattern": "action order [0-9]*: gact action drop.*index 4294967296 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "22be",
"name": "Add action with index at 32-bit maximum",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action drop index 4294967295",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action drop.*index 4294967295 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "ac2a",
"name": "List actions",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action reclassify index 101",
"$TC actions add action reclassify index 102",
"$TC actions add action reclassify index 103",
"$TC actions add action reclassify index 104",
"$TC actions add action reclassify index 105"
],
"cmdUnderTest": "$TC actions list action gact",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action reclassify",
"matchCount": "5",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "3edf",
"name": "Flush gact actions",
"category": [
"actions",
"gact"
],
"setup": [
"$TC actions add action reclassify index 101",
"$TC actions add action reclassify index 102",
"$TC actions add action reclassify index 103",
"$TC actions add action reclassify index 104",
"$TC actions add action reclassify index 105"
],
"cmdUnderTest": "$TC actions flush action gact",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action reclassify",
"matchCount": "0",
"teardown": []
},
{
"id": "63ec",
"name": "Delete pass action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action pass index 1"
],
"cmdUnderTest": "$TC actions del action gact index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action pass.*index 1 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "46be",
"name": "Delete pipe action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action pipe index 9"
],
"cmdUnderTest": "$TC actions del action gact index 9",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action pipe.*index 9 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "2e08",
"name": "Delete reclassify action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action reclassify index 65536"
],
"cmdUnderTest": "$TC actions del action gact index 65536",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action reclassify.*index 65536 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "99c4",
"name": "Delete drop action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action drop index 16"
],
"cmdUnderTest": "$TC actions del action gact index 16",
"expExitCode": "0",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action drop.*index 16 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "fb6b",
"name": "Delete continue action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action continue index 32"
],
"cmdUnderTest": "$TC actions del action gact index 32",
"expExitCode": "0",
"verifyCmd": "actions list action gact",
"matchPattern": "action order [0-9]*: gact action continue.*index 32 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "0eb3",
"name": "Delete non-existent action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions del action gact index 2",
"expExitCode": "255",
"verifyCmd": "$TC actions list action gact",
"matchPattern": "action order [0-9]*: gact action",
"matchCount": "0",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "f02c",
"name": "Replace gact action",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action drop index 10",
"$TC actions add action drop index 12"
],
"cmdUnderTest": "$TC actions replace action ok index 12",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action gact",
"matchPattern": "action order [0-9]*: gact action pass",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
},
{
"id": "525f",
"name": "Get gact action by index",
"category": [
"actions",
"gact"
],
"setup": [
[
"$TC actions flush action gact",
0,
1,
255
],
"$TC actions add action drop index 3900800700"
],
"cmdUnderTest": "$TC actions get action gact index 3900800700",
"expExitCode": "0",
"verifyCmd": "$TC actions get action gact index 3900800700",
"matchPattern": "index 3900800700",
"matchCount": "1",
"teardown": [
"$TC actions flush action gact"
]
}
]

View File

@ -0,0 +1,52 @@
[
{
"id": "a568",
"name": "Add action with ife type",
"category": [
"actions",
"ife"
],
"setup": [
[
"$TC actions flush action ife",
0,
1,
255
],
"$TC actions add action ife encode type 0xDEAD index 1"
],
"cmdUnderTest": "$TC actions get action ife index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions get action ife index 1",
"matchPattern": "type 0xDEAD",
"matchCount": "1",
"teardown": [
"$TC actions flush action ife"
]
},
{
"id": "b983",
"name": "Add action without ife type",
"category": [
"actions",
"ife"
],
"setup": [
[
"$TC actions flush action ife",
0,
1,
255
],
"$TC actions add action ife encode index 1"
],
"cmdUnderTest": "$TC actions get action ife index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions get action ife index 1",
"matchPattern": "type 0xED3E",
"matchCount": "1",
"teardown": [
"$TC actions flush action ife"
]
}
]

View File

@ -0,0 +1,223 @@
[
{
"id": "5124",
"name": "Add mirred mirror to egress action",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action mirred egress mirror index 1 dev lo",
"expExitCode": "0",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 1 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "6fb4",
"name": "Add mirred redirect to egress action",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action mirred egress redirect index 2 dev lo action pipe",
"expExitCode": "0",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 2 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "ba38",
"name": "Get mirred actions",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
],
"$TC actions add action mirred egress mirror index 1 dev lo",
"$TC actions add action mirred egress redirect index 2 dev lo"
],
"cmdUnderTest": "$TC actions show action mirred",
"expExitCode": "0",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "[Mirror|Redirect] to device lo",
"matchCount": "2",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "d7c0",
"name": "Add invalid mirred direction",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action mirred inbound mirror index 20 dev lo",
"expExitCode": "255",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 20 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "e213",
"name": "Add invalid mirred action",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action mirred egress remirror index 20 dev lo",
"expExitCode": "255",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(Egress.*to device lo\\).*index 20 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "2d89",
"name": "Add mirred action with invalid device",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action mirred egress mirror index 20 dev eltoh",
"expExitCode": "255",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(.*to device eltoh\\).*index 20 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "300b",
"name": "Add mirred action with duplicate index",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
],
"$TC actions add action mirred egress redirect index 15 dev lo"
],
"cmdUnderTest": "$TC actions add action mirred egress mirror index 15 dev lo",
"expExitCode": "255",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 15 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "a70e",
"name": "Delete mirred mirror action",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
],
"$TC actions add action mirred egress mirror index 5 dev lo"
],
"cmdUnderTest": "$TC actions del action mirred index 5",
"expExitCode": "0",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 5 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action mirred"
]
},
{
"id": "3fb3",
"name": "Delete mirred redirect action",
"category": [
"actions",
"mirred"
],
"setup": [
[
"$TC actions flush action mirred",
0,
1,
255
],
"$TC actions add action mirred egress redirect index 5 dev lo"
],
"cmdUnderTest": "$TC actions del action mirred index 5",
"expExitCode": "0",
"verifyCmd": "$TC actions list action mirred",
"matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 5 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action mirred"
]
}
]

View File

@ -0,0 +1,527 @@
[
{
"id": "49aa",
"name": "Add valid basic police action",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 1kbit burst 10k index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x1 rate 1Kbit burst 10Kb",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "3abe",
"name": "Add police action with duplicate index",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
],
"$TC actions add action police rate 4Mbit burst 120k index 9"
],
"cmdUnderTest": "$TC actions add action police rate 8kbit burst 24k index 9",
"expExitCode": "255",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x9",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "49fa",
"name": "Add valid police action with mtu",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 90kbit burst 10k mtu 1k index 98",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 98",
"matchPattern": "action order [0-9]*: police 0x62 rate 90Kbit burst 10Kb mtu 1Kb",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "7943",
"name": "Add valid police action with peakrate",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 90kbit burst 10k mtu 2kb peakrate 100kbit index 3",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x3 rate 90Kbit burst 10Kb mtu 2Kb peakrate 100Kbit",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "055e",
"name": "Add police action with peakrate and no mtu",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 5kbit burst 6kb peakrate 10kbit index 9",
"expExitCode": "255",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x9 rate 5Kb burst 10Kb",
"matchCount": "0",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "f057",
"name": "Add police action with valid overhead",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 1mbit burst 100k overhead 64 index 64",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 64",
"matchPattern": "action order [0-9]*: police 0x40 rate 1Mbit burst 100Kb mtu 2Kb action reclassify overhead 64b",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "7ffb",
"name": "Add police action with ethernet linklayer type",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 2mbit burst 200k linklayer ethernet index 8",
"expExitCode": "0",
"verifyCmd": "$TC actions show action police",
"matchPattern": "action order [0-9]*: police 0x8 rate 2Mbit burst 200Kb mtu 2Kb action reclassify overhead 0b",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "3dda",
"name": "Add police action with atm linklayer type",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 2mbit burst 200k linklayer atm index 8",
"expExitCode": "0",
"verifyCmd": "$TC actions show action police",
"matchPattern": "action order [0-9]*: police 0x8 rate 2Mbit burst 200Kb mtu 2Kb action reclassify overhead 0b linklayer atm",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "551b",
"name": "Add police actions with conform-exceed control continue/drop",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 3mbit burst 250k conform-exceed continue/drop index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 1",
"matchPattern": "action order [0-9]*: police 0x1 rate 3Mbit burst 250Kb mtu 2Kb action continue/drop",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "0c70",
"name": "Add police actions with conform-exceed control pass/reclassify",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 3mbit burst 250k conform-exceed pass/reclassify index 4",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x4 rate 3Mbit burst 250Kb mtu 2Kb action pass/reclassify",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "d946",
"name": "Add police actions with conform-exceed control pass/pipe",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 3mbit burst 250k conform-exceed pass/pipe index 5",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x5 rate 3Mbit burst 250Kb mtu 2Kb action pass/pipe",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "336e",
"name": "Delete police action",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
],
"$TC actions add action police rate 5mbit burst 2m index 12"
],
"cmdUnderTest": "$TC actions delete action police index 12",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0xc rate 5Mb burst 2Mb",
"matchCount": "0",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "77fa",
"name": "Get single police action from many actions",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
],
"$TC actions add action police rate 1mbit burst 100k index 1",
"$TC actions add action police rate 2mbit burst 200k index 2",
"$TC actions add action police rate 3mbit burst 300k index 3",
"$TC actions add action police rate 4mbit burst 400k index 4",
"$TC actions add action police rate 5mbit burst 500k index 5",
"$TC actions add action police rate 6mbit burst 600k index 6",
"$TC actions add action police rate 7mbit burst 700k index 7",
"$TC actions add action police rate 8mbit burst 800k index 8"
],
"cmdUnderTest": "$TC actions get action police index 4",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 4",
"matchPattern": "action order [0-9]*: police 0x4 rate 4Mbit burst 400Kb",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "aa43",
"name": "Get single police action without specifying index",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
],
"$TC actions add action police rate 1mbit burst 100k index 1"
],
"cmdUnderTest": "$TC actions get action police",
"expExitCode": "255",
"verifyCmd": "$TC actions get action police",
"matchPattern": "action order [0-9]*: police",
"matchCount": "0",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "858b",
"name": "List police actions",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
],
"$TC actions add action police rate 1mbit burst 100k index 1",
"$TC actions add action police rate 2mbit burst 200k index 2",
"$TC actions add action police rate 3mbit burst 300k index 3",
"$TC actions add action police rate 4mbit burst 400k index 4",
"$TC actions add action police rate 5mbit burst 500k index 5",
"$TC actions add action police rate 6mbit burst 600k index 6",
"$TC actions add action police rate 7mbit burst 700k index 7",
"$TC actions add action police rate 8mbit burst 800k index 8"
],
"cmdUnderTest": "$TC actions list action police",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x[1-8] rate [1-8]Mbit burst [1-8]00Kb",
"matchCount": "8",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "1c3a",
"name": "Flush police actions",
"category": [
"actions",
"police"
],
"setup": [
"$TC actions add action police rate 1mbit burst 100k index 1",
"$TC actions add action police rate 2mbit burst 200k index 2",
"$TC actions add action police rate 3mbit burst 300k index 3",
"$TC actions add action police rate 4mbit burst 400k index 4",
"$TC actions add action police rate 5mbit burst 500k index 5",
"$TC actions add action police rate 6mbit burst 600k index 6",
"$TC actions add action police rate 7mbit burst 700k index 7",
"$TC actions add action police rate 8mbit burst 800k index 8"
],
"cmdUnderTest": "$TC actions flush action police",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police",
"matchCount": "0",
"teardown": [
""
]
},
{
"id": "7326",
"name": "Add police action with control continue",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 7mbit burst 1m continue index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 1",
"matchPattern": "action order [0-9]*: police 0x1 rate 7Mbit burst 1024Kb mtu 2Kb action continue",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "34fa",
"name": "Add police action with control drop",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 7mbit burst 1m drop index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x1 rate 7Mbit burst 1024Kb mtu 2Kb action drop",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "8dd5",
"name": "Add police action with control ok",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 7mbit burst 1m ok index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x1 rate 7Mbit burst 1024Kb mtu 2Kb action pass",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "b9d1",
"name": "Add police action with control reclassify",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 7mbit burst 1m reclassify index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions get action police index 1",
"matchPattern": "action order [0-9]*: police 0x1 rate 7Mbit burst 1024Kb mtu 2Kb action reclassify",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
},
{
"id": "c534",
"name": "Add police action with control pipe",
"category": [
"actions",
"police"
],
"setup": [
[
"$TC actions flush action police",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action police rate 7mbit burst 1m pipe index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action police",
"matchPattern": "action order [0-9]*: police 0x1 rate 7Mbit burst 1024Kb mtu 2Kb action pipe",
"matchCount": "1",
"teardown": [
"$TC actions flush action police"
]
}
]

View File

@ -0,0 +1,130 @@
[
{
"id": "b078",
"name": "Add simple action",
"category": [
"actions",
"simple"
],
"setup": [
[
"$TC actions flush action simple",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action simple sdata \"A triumph\" index 60",
"expExitCode": "0",
"verifyCmd": "$TC actions list action simple",
"matchPattern": "action order [0-9]*: Simple <A triumph>.*index 60 ref",
"matchCount": "1",
"teardown": [
"$TC actions flush action simple"
]
},
{
"id": "6d4c",
"name": "Add simple action with duplicate index",
"category": [
"actions",
"simple"
],
"setup": [
[
"$TC actions flush action simple",
0,
1,
255
],
"$TC actions add action simple sdata \"Aruba\" index 4"
],
"cmdUnderTest": "$TC actions add action simple sdata \"Jamaica\" index 4",
"expExitCode": "255",
"verifyCmd": "$TC actions list action simple",
"matchPattern": "action order [0-9]*: Simple <Jamaica>.*ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action simple"
]
},
{
"id": "2542",
"name": "List simple actions",
"category": [
"actions",
"simple"
],
"setup": [
[
"$TC actions flush action simple",
0,
1,
255
],
"$TC actions add action simple sdata \"Rock\"",
"$TC actions add action simple sdata \"Paper\"",
"$TC actions add action simple sdata \"Scissors\" index 98"
],
"cmdUnderTest": "$TC actions list action simple",
"expExitCode": "0",
"verifyCmd": "$TC actions list action simple",
"matchPattern": "action order [0-9]*: Simple <[A-Z][a-z]*>",
"matchCount": "3",
"teardown": [
"$TC actions flush action simple"
]
},
{
"id": "ea67",
"name": "Delete simple action",
"category": [
"actions",
"simple"
],
"setup": [
[
"$TC actions flush action simple",
0,
1,
255
],
"$TC actions add action simple sdata \"Blinkenlights\" index 1"
],
"cmdUnderTest": "$TC actions delete action simple index 1",
"expExitCode": "0",
"verifyCmd": "$TC actions list action simple",
"matchPattern": "action order [0-9]*: Simple <Blinkenlights>.*index 1 ref",
"matchCount": "0",
"teardown": [
"$TC actions flush action simple"
]
},
{
"id": "8ff1",
"name": "Flush simple actions",
"category": [
"actions",
"simple"
],
"setup": [
[
"$TC actions flush action simple",
0,
1,
255
],
"$TC actions add action simple sdata \"Kirk\"",
"$TC actions add action simple sdata \"Spock\" index 50",
"$TC actions add action simple sdata \"McCoy\" index 9"
],
"cmdUnderTest": "$TC actions flush action simple",
"expExitCode": "0",
"verifyCmd": "$TC actions list action simple",
"matchPattern": "action order [0-9]*: Simple <[A-Z][a-z]*>",
"matchCount": "0",
"teardown": [
""
]
}
]

View File

@ -0,0 +1,320 @@
[
{
"id": "6236",
"name": "Add skbedit action with valid mark",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit mark 1",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit mark 1",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "407b",
"name": "Add skbedit action with invalid mark",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit mark 666777888999",
"expExitCode": "255",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit mark",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "081d",
"name": "Add skbedit action with priority",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit prio 99",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit priority :99",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "cc37",
"name": "Add skbedit action with invalid priority",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit prio foo",
"expExitCode": "255",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit priority",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "3c95",
"name": "Add skbedit action with queue_mapping",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit queue_mapping 909",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit queue_mapping 909",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "985c",
"name": "Add skbedit action with invalid queue_mapping",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit queue_mapping 67000",
"expExitCode": "255",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit queue_mapping",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "224f",
"name": "Add skbedit action with ptype host",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit ptype host",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit ptype host",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "d1a3",
"name": "Add skbedit action with ptype otherhost",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit ptype otherhost",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit ptype otherhost",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "b9c6",
"name": "Add skbedit action with invalid ptype",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit ptype openair",
"expExitCode": "255",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit ptype openair",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "5172",
"name": "List skbedit actions",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
],
"$TC actions add action skbedit ptype otherhost",
"$TC actions add action skbedit ptype broadcast",
"$TC actions add action skbedit mark 59",
"$TC actions add action skbedit mark 409"
],
"cmdUnderTest": "$TC actions list action skbedit",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit",
"matchCount": "4",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "a6d6",
"name": "Add skbedit action with index",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbedit mark 808 index 4040404040",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "index 4040404040",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "38f3",
"name": "Delete skbedit action",
"category": [
"actions",
"skbedit"
],
"setup": [
[
"$TC actions flush action skbedit",
0,
1,
255
],
"$TC actions add action skbedit mark 42 index 9009"
],
"cmdUnderTest": "$TC actions del action skbedit index 9009",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit mark 42",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
},
{
"id": "ce97",
"name": "Flush skbedit actions",
"category": [
"actions",
"skbedit"
],
"setup": [
"$TC actions add action skbedit mark 500",
"$TC actions add action skbedit mark 501",
"$TC actions add action skbedit mark 502",
"$TC actions add action skbedit mark 503",
"$TC actions add action skbedit mark 504",
"$TC actions add action skbedit mark 505",
"$TC actions add action skbedit mark 506"
],
"cmdUnderTest": "$TC actions flush action skbedit",
"expExitCode": "0",
"verifyCmd": "$TC actions list action skbedit",
"matchPattern": "action order [0-9]*: skbedit",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbedit"
]
}
]

View File

@ -0,0 +1,372 @@
[
{
"id": "7d50",
"name": "Add skbmod action to set destination mac",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set dmac 11:22:33:44:55:66 index 5",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe set dmac 11:22:33:44:55:66\\s+index 5",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "9b29",
"name": "Add skbmod action to set source mac",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set smac 77:88:99:AA:BB:CC index 7",
"expExitCode": "0",
"verifyCmd": "$TC actions get action skbmod index 7",
"matchPattern": "action order [0-9]*: skbmod pipe set smac 77:88:99:aa:bb:cc\\s+index 7",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "1724",
"name": "Add skbmod action with invalid mac",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set smac 00:44:55:44:55",
"expExitCode": "255",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe set smac 00:44:55:44:55",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "3cf1",
"name": "Add skbmod action with valid etype",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set etype 0xfefe",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe set etype 0xFEFE",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "a749",
"name": "Add skbmod action with invalid etype",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set etype 0xfefef",
"expExitCode": "255",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe set etype 0xFEFEF",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "bfe6",
"name": "Add skbmod action to swap mac",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod swap mac",
"expExitCode": "0",
"verifyCmd": "$TC actions get action skbmod index 1",
"matchPattern": "action order [0-9]*: skbmod pipe swap mac",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "839b",
"name": "Add skbmod action with control pipe",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod swap mac pipe",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe swap mac",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "c167",
"name": "Add skbmod action with control reclassify",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set etype 0xbeef reclassify",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod reclassify set etype 0xBEEF",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "0c2f",
"name": "Add skbmod action with control drop",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set etype 0x0001 drop",
"expExitCode": "0",
"verifyCmd": "$TC actions get action skbmod index 1",
"matchPattern": "action order [0-9]*: skbmod drop set etype 0x1",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "d113",
"name": "Add skbmod action with control continue",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set etype 0x1 continue",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod continue set etype 0x1",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "7242",
"name": "Add skbmod action with control pass",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
]
],
"cmdUnderTest": "$TC actions add action skbmod set smac 00:00:00:00:00:01 pass",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pass set smac 00:00:00:00:00:01",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "58cb",
"name": "List skbmod actions",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
],
"$TC actions add action skbmod set etype 0x0001",
"$TC actions add action skbmod set etype 0x0011",
"$TC actions add action skbmod set etype 0x0021",
"$TC actions add action skbmod set etype 0x0031",
"$TC actions add action skbmod set etype 0x0041"
],
"cmdUnderTest": "$TC actions ls action skbmod",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod",
"matchCount": "5",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "9aa8",
"name": "Get a single skbmod action from a list",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
],
"$TC actions add action skbmod set etype 0x0001",
"$TC actions add action skbmod set etype 0x0011",
"$TC actions add action skbmod set etype 0x0021",
"$TC actions add action skbmod set etype 0x0031",
"$TC actions add action skbmod set etype 0x0041"
],
"cmdUnderTest": "$TC actions ls action skbmod",
"expExitCode": "0",
"verifyCmd": "$TC actions get action skbmod index 4",
"matchPattern": "action order [0-9]*: skbmod pipe set etype 0x0031",
"matchCount": "1",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "e93a",
"name": "Delete an skbmod action",
"category": [
"actions",
"skbmod"
],
"setup": [
[
"$TC actions flush action skbmod",
0,
1,
255
],
"$TC actions add action skbmod set etype 0x1111 index 909"
],
"cmdUnderTest": "$TC actions del action skbmod index 909",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod pipe set etype 0x1111\\s+index 909",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbmod"
]
},
{
"id": "40c2",
"name": "Flush skbmod actions",
"category": [
"actions",
"skbmod"
],
"setup": [
"$TC actions add action skbmod set etype 0x0001",
"$TC actions add action skbmod set etype 0x0011",
"$TC actions add action skbmod set etype 0x0021",
"$TC actions add action skbmod set etype 0x0031",
"$TC actions add action skbmod set etype 0x0041"
],
"cmdUnderTest": "$TC actions flush action skbmod",
"expExitCode": "0",
"verifyCmd": "$TC actions ls action skbmod",
"matchPattern": "action order [0-9]*: skbmod",
"matchCount": "0",
"teardown": [
"$TC actions flush action skbmod"
]
}
]

File diff suppressed because it is too large Load Diff

View File

@ -49,7 +49,7 @@ def exec_cmd(command, nsonly=True):
stderr=subprocess.PIPE)
(rawout, serr) = proc.communicate()
if proc.returncode != 0:
if proc.returncode != 0 and len(serr) > 0:
foutput = serr.decode("utf-8")
else:
foutput = rawout.decode("utf-8")
@ -203,7 +203,7 @@ def set_args(parser):
help='Run tests only from the specified category, or if no category is specified, list known categories.')
parser.add_argument('-f', '--file', type=str,
help='Run tests from the specified file')
parser.add_argument('-l', '--list', type=str, nargs='?', const="", metavar='CATEGORY',
parser.add_argument('-l', '--list', type=str, nargs='?', const="++", metavar='CATEGORY',
help='List all test cases, or those only within the specified category')
parser.add_argument('-s', '--show', type=str, nargs=1, metavar='ID', dest='showID',
help='Display the test case with specified id')
@ -357,10 +357,10 @@ def set_operation_mode(args):
testcases = get_categorized_testlist(alltests, ucat)
if args.list:
if (len(args.list) == 0):
if (args.list == "++"):
list_test_cases(alltests)
exit(0)
elif(len(args.list > 0)):
elif(len(args.list) > 0):
if (args.list not in ucat):
print("Unknown category " + args.list)
print("Available categories:")