A lot of tests reuse $DEV1 veth name for naming dummy device. This causes
problem when tdc is invoked without specifying a test group and tries to
execute all tests. In this case tdc instantiates ns plugin, which creates
veth pair once before running tests. However, if any of the tests that
reuse $DEV1 run before test that depend on ns plugin, it will delete $DEV1
as a part of teardown section:
=====> Test 3b88: Delete ingress qdisc twice [3770/41080]
-----> prepare stage
ns/SubPlugin.adjust_command
adjust_command: stage is setup; inserting netns stuff in command [/sbin/ip link add dev v0p1 type dummy || /bin/true] list [['/sbin/ip', 'link', 'add', 'dev', 'v0p1', 'type', 'dummy', '||', '/bin/true']]
adjust_command: return command [ip netns exec tcut /sbin/ip link add dev v0p1 type dummy || /bin/true]
command "ip netns exec tcut /sbin/ip link add dev v0p1 type dummy || /bin/true"
ns/SubPlugin.adjust_command
adjust_command: stage is setup; inserting netns stuff in command [/sbin/tc qdisc add dev v0p1 ingress] list [['/sbin/tc', 'qdisc', 'add', 'dev', 'v0p1', 'ingress']]
adjust_command: return command [ip netns exec tcut /sbin/tc qdisc add dev v0p1 ingress]
command "ip netns exec tcut /sbin/tc qdisc add dev v0p1 ingress"
ns/SubPlugin.adjust_command
adjust_command: stage is setup; inserting netns stuff in command [/sbin/tc qdisc del dev v0p1 ingress] list [['/sbin/tc', 'qdisc', 'del', 'dev', 'v0p1', 'ingress']]
adjust_command: return command [ip netns exec tcut /sbin/tc qdisc del dev v0p1 ingress]
command "ip netns exec tcut /sbin/tc qdisc del dev v0p1 ingress"
-----> execute stage
ns/SubPlugin.adjust_command
adjust_command: stage is execute; inserting netns stuff in command [/sbin/tc qdisc del dev v0p1 ingress] list [['/sbin/tc', 'qdisc', 'del', 'dev', 'v0p1', 'ingress']]
adjust_command: return command [ip netns exec tcut /sbin/tc qdisc del dev v0p1 ingress]
command "ip netns exec tcut /sbin/tc qdisc del dev v0p1 ingress"
-----> verify stage
ns/SubPlugin.adjust_command
adjust_command: stage is verify; inserting netns stuff in command [/sbin/tc qdisc show dev v0p1] list [['/sbin/tc', 'qdisc', 'show', 'dev', 'v0p1']]
adjust_command: return command [ip netns exec tcut /sbin/tc qdisc show dev v0p1]
command "ip netns exec tcut /sbin/tc qdisc show dev v0p1"
-----> teardown stage
ns/SubPlugin.adjust_command
adjust_command: stage is teardown; inserting netns stuff in command [/sbin/ip link del dev v0p1 type dummy] list [['/sbin/ip', 'link', 'del', 'dev', 'v0p1', 'type', 'dummy']]
adjust_command: return command [ip netns exec tcut /sbin/ip link del dev v0p1 type dummy]
command "ip netns exec tcut /sbin/ip link del dev v0p1 type dummy"
After this ns-dependent tests will fail because dev doesn't exist:
=====> Test 901f: Add fw filter with prio at 32-bit maxixum
-----> prepare stage
ns/SubPlugin.adjust_command
adjust_command: stage is setup; inserting netns stuff in command [/sbin/tc qdisc add dev v0p1 ingress] list [['/sbin/tc', 'qdisc', 'add', 'dev', 'v0p1', 'ingress']]
adjust_command: return command [ip netns exec tcut /sbin/tc qdisc add dev v0p1 ingress]
command "ip netns exec tcut /sbin/tc qdisc add dev v0p1 ingress"
-----> prepare stage *** Could not execute: "$TC qdisc add dev $DEV1 ingress"
-----> prepare stage *** Error message: "Cannot find device "v0p1"
"
returncode 1; expected [0]
-----> prepare stage *** Aborting test run.
<_io.BufferedReader name=3> *** stdout ***
<_io.BufferedReader name=5> *** stderr ***
"-----> prepare stage" did not complete successfully
Exception <class '__main__.PluginMgrTestFail'> ('setup', None, '"-----> prepare stage" did not complete successfully') (caught in test_runner, running test 477 901f Add fw filter with prio at 32-bit maxixum stage
setup)
---------------
traceback
File "./tdc.py", line 371, in test_runner
res = run_one_test(pm, args, index, tidx)
File "./tdc.py", line 272, in run_one_test
prepare_env(args, pm, 'setup', "-----> prepare stage", tidx["setup"])
File "./tdc.py", line 247, in prepare_env
'"{}" did not complete successfully'.format(prefix))
---------------
Fix the issue by introducing standalone $DUMMY config variable and
substitute all usage of $DEV1 in tests that don't depend on ns plugin.
Fixes: 489ce2f425 ("tc-testing: Restore original behaviour for namespaces in tdc")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
305 lines
9.9 KiB
JSON
305 lines
9.9 KiB
JSON
[
|
|
{
|
|
"id": "a519",
|
|
"name": "Add bfifo qdisc with system default parameters on egress",
|
|
"__comment": "When omitted, queue size in bfifo is calculated as: txqueuelen * (MTU + LinkLayerHdrSize), where LinkLayerHdrSize=14 for Ethernet",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit [0-9]+b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "585c",
|
|
"name": "Add pfifo qdisc with system default parameters on egress",
|
|
"__comment": "When omitted, queue size in pfifo is defaulted to the interface's txqueuelen value.",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit [0-9]+p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "a86e",
|
|
"name": "Add bfifo qdisc with system default parameters on egress with handle of maximum value",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: bfifo",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo ffff: root.*limit [0-9]+b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle ffff: root bfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "9ac8",
|
|
"name": "Add bfifo qdisc on egress with queue size of 3000 bytes",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit 3000b",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit 3000b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "f4e6",
|
|
"name": "Add pfifo qdisc on egress with queue size of 3000 packets",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY txqueuelen 3000 type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo limit 3000",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit 3000p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "b1b1",
|
|
"name": "Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: bfifo",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 10000: root.*limit [0-9]+b",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "8d5e",
|
|
"name": "Add bfifo qdisc on egress with unsupported argument",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo foorbar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "7787",
|
|
"name": "Add pfifo qdisc on egress with unsupported argument",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo foorbar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "c4b6",
|
|
"name": "Replace bfifo qdisc on egress with new queue size",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link del dev $DUMMY type dummy || /bin/true",
|
|
"$IP link add dev $DUMMY txqueuelen 1000 type dummy",
|
|
"$TC qdisc add dev $DUMMY handle 1: root bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root bfifo limit 3000b",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit 3000b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "3df6",
|
|
"name": "Replace pfifo qdisc on egress with new queue size",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link del dev $DUMMY type dummy || /bin/true",
|
|
"$IP link add dev $DUMMY txqueuelen 1000 type dummy",
|
|
"$TC qdisc add dev $DUMMY handle 1: root pfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root pfifo limit 30",
|
|
"expExitCode": "0",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc pfifo 1: root.*limit 30p",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root pfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "7a67",
|
|
"name": "Add bfifo qdisc on egress with queue size in invalid format",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit foo-bar",
|
|
"expExitCode": "1",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root.*limit foo-bar",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "1298",
|
|
"name": "Add duplicate bfifo qdisc on egress",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true",
|
|
"$TC qdisc add dev $DUMMY handle 1: root bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "45a0",
|
|
"name": "Delete nonexistent bfifo qdisc",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "972b",
|
|
"name": "Add prio qdisc on egress with invalid format for handles",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ bfifo limit 100b",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 123 root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
},
|
|
{
|
|
"id": "4d39",
|
|
"name": "Delete bfifo qdisc twice",
|
|
"category": [
|
|
"qdisc",
|
|
"fifo"
|
|
],
|
|
"setup": [
|
|
"$IP link add dev $DUMMY type dummy || /bin/true",
|
|
"$TC qdisc add dev $DUMMY root handle 1: bfifo",
|
|
"$TC qdisc del dev $DUMMY root handle 1: bfifo"
|
|
],
|
|
"cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root bfifo",
|
|
"expExitCode": "2",
|
|
"verifyCmd": "$TC qdisc show dev $DUMMY",
|
|
"matchPattern": "qdisc bfifo 1: root",
|
|
"matchCount": "0",
|
|
"teardown": [
|
|
"$IP link del dev $DUMMY type dummy"
|
|
]
|
|
}
|
|
]
|